diff --git a/eslint.community-node-next.probe.config.mjs b/eslint.community-node-next.probe.config.mjs new file mode 100644 index 00000000..3c34057b --- /dev/null +++ b/eslint.community-node-next.probe.config.mjs @@ -0,0 +1,16 @@ +import communityConfig from "./eslint.community.config.mjs"; +import { globalIgnores } from "eslint/config"; + +export default [ + globalIgnores(["**/*.integration.spec.ts", "**/*.integration.test.ts"]), + ...communityConfig, + { + files: ["src/**/*.ts"], + languageOptions: { + parserOptions: { + project: "./tsconfig.community-review-node-next.probe.json", + tsconfigRootDir: import.meta.dirname, + }, + }, + }, +]; diff --git a/src/LiveSyncBaseCore.ts b/src/LiveSyncBaseCore.ts index 116d7b06..f38c635d 100644 --- a/src/LiveSyncBaseCore.ts +++ b/src/LiveSyncBaseCore.ts @@ -17,17 +17,17 @@ import { useTargetFilters } from "@vrtmrz/livesync-commonlib/compat/serviceFeatu import { useRemoteConfigurationMigration } from "@vrtmrz/livesync-commonlib/compat/serviceFeatures/remoteConfig"; import type { ServiceContext } from "@vrtmrz/livesync-commonlib/context"; import type { InjectableServiceHub } from "@vrtmrz/livesync-commonlib/compat/services/implements/injectable/InjectableServiceHub"; -import { AbstractModule } from "./modules/AbstractModule"; -import { ModulePeriodicProcess } from "./modules/core/ModulePeriodicProcess"; -import { ModuleReplicator } from "./modules/core/ModuleReplicator"; -import { ModuleReplicatorCouchDB } from "./modules/core/ModuleReplicatorCouchDB"; -import { ModuleReplicatorMinIO } from "./modules/core/ModuleReplicatorMinIO"; -import { ModuleConflictChecker } from "./modules/coreFeatures/ModuleConflictChecker"; -import { ModuleConflictResolver } from "./modules/coreFeatures/ModuleConflictResolver"; -import { ModuleResolvingMismatchedTweaks } from "./modules/coreFeatures/ModuleResolveMismatchedTweaks"; -import { ModuleLiveSyncMain } from "./modules/main/ModuleLiveSyncMain"; +import { AbstractModule } from "./modules/AbstractModule.js"; +import { ModulePeriodicProcess } from "./modules/core/ModulePeriodicProcess.js"; +import { ModuleReplicator } from "./modules/core/ModuleReplicator.js"; +import { ModuleReplicatorCouchDB } from "./modules/core/ModuleReplicatorCouchDB.js"; +import { ModuleReplicatorMinIO } from "./modules/core/ModuleReplicatorMinIO.js"; +import { ModuleConflictChecker } from "./modules/coreFeatures/ModuleConflictChecker.js"; +import { ModuleConflictResolver } from "./modules/coreFeatures/ModuleConflictResolver.js"; +import { ModuleResolvingMismatchedTweaks } from "./modules/coreFeatures/ModuleResolveMismatchedTweaks.js"; +import { ModuleLiveSyncMain } from "./modules/main/ModuleLiveSyncMain.js"; import type { ServiceModules } from "@vrtmrz/livesync-commonlib/compat/interfaces/ServiceModule"; -import { ModuleBasicMenu } from "./modules/essential/ModuleBasicMenu"; +import { ModuleBasicMenu } from "./modules/essential/ModuleBasicMenu.js"; import { usePrepareDatabaseForUse } from "@vrtmrz/livesync-commonlib/compat/serviceFeatures/prepareDatabaseForUse"; import type { Constructor } from "@vrtmrz/livesync-commonlib/compat/common/utils.type"; diff --git a/src/apps/browser/BrowserConfirm.ts b/src/apps/browser/BrowserConfirm.ts index a7cbc5a7..932434f4 100644 --- a/src/apps/browser/BrowserConfirm.ts +++ b/src/apps/browser/BrowserConfirm.ts @@ -3,9 +3,9 @@ import { _activeDocument } from "@vrtmrz/livesync-commonlib/compat/common/coreEn import { EVENT_PLUGIN_UNLOADED } from "@vrtmrz/livesync-commonlib/compat/events/coreEvents"; import { BrowserUiNotifications, createBrowserUi } from "@vrtmrz/browser-ui-kit"; -import { createNativeElement } from "@/apps/browserDom"; -import { renderMessageMarkdownInto } from "./ui/renderMessageMarkdown"; -import { UiInteractionsConfirm } from "./UiInteractionsConfirm"; +import { createNativeElement } from "@/apps/browserDom.js"; +import { renderMessageMarkdownInto } from "./ui/renderMessageMarkdown.js"; +import { UiInteractionsConfirm } from "./UiInteractionsConfirm.js"; /** * Compatibility facade consumed by Commonlib while browser presentation is diff --git a/src/apps/browser/BrowserMenu.ts b/src/apps/browser/BrowserMenu.ts index 55af8921..02d9a2b6 100644 --- a/src/apps/browser/BrowserMenu.ts +++ b/src/apps/browser/BrowserMenu.ts @@ -1,5 +1,5 @@ import { promiseWithResolvers, type PromiseWithResolvers } from "octagonal-wheels/promises"; -import { createNativeElement } from "@/apps/browserDom"; +import { createNativeElement } from "@/apps/browserDom.js"; import { mount } from "svelte"; import MenuView from "./ui/MenuView.svelte"; import { _activeDocument } from "@vrtmrz/livesync-commonlib/compat/common/coreEnvFunctions"; diff --git a/src/apps/browser/BrowserSvelteDialogManager.ts b/src/apps/browser/BrowserSvelteDialogManager.ts index b0e89a0d..ebe30b7b 100644 --- a/src/apps/browser/BrowserSvelteDialogManager.ts +++ b/src/apps/browser/BrowserSvelteDialogManager.ts @@ -2,12 +2,12 @@ import { type ComponentHasResult, SvelteDialogManagerBase, } from "@vrtmrz/livesync-commonlib/compat/services/implements/base/SvelteDialog"; -import { createNativeElement } from "@/apps/browserDom"; +import { createNativeElement } from "@/apps/browserDom.js"; import type { ServiceContext } from "@vrtmrz/livesync-commonlib/context"; import type { SvelteDialogManagerDependencies } from "@vrtmrz/livesync-commonlib/compat/services/implements/base/SvelteDialog"; import { _activeDocument } from "@vrtmrz/livesync-commonlib/compat/common/coreEnvFunctions"; import DialogHost from "@/modules/services/LiveSyncUI/DialogHost.svelte"; -import { SvelteDialogSession } from "@/modules/services/SvelteDialogSession"; +import { SvelteDialogSession } from "@/modules/services/SvelteDialogSession.js"; export class BrowserModal { contentEl: HTMLElement; diff --git a/src/apps/browser/LiveSyncBrowserUIService.ts b/src/apps/browser/LiveSyncBrowserUIService.ts index ea23cf5a..4150b9dc 100644 --- a/src/apps/browser/LiveSyncBrowserUIService.ts +++ b/src/apps/browser/LiveSyncBrowserUIService.ts @@ -6,7 +6,7 @@ import type { ReplicatorService } from "@vrtmrz/livesync-commonlib/compat/servic import type { InjectableAPIService } from "@vrtmrz/livesync-commonlib/compat/services/implements/injectable/InjectableAPIService"; import { UIService } from "@vrtmrz/livesync-commonlib/compat/services/implements/base/UIService"; import DialogToCopy from "@/modules/services/LiveSyncUI/dialogues/DialogueToCopy.svelte"; -import { BrowserSvelteDialogManager } from "./BrowserSvelteDialogManager"; +import { BrowserSvelteDialogManager } from "./BrowserSvelteDialogManager.js"; export interface LiveSyncBrowserUIServiceDependencies { API: InjectableAPIService; diff --git a/src/apps/browser/createLiveSyncBrowserServiceHub.ts b/src/apps/browser/createLiveSyncBrowserServiceHub.ts index 76c671c0..e4128f8a 100644 --- a/src/apps/browser/createLiveSyncBrowserServiceHub.ts +++ b/src/apps/browser/createLiveSyncBrowserServiceHub.ts @@ -21,14 +21,14 @@ import { InjectableTestService } from "@vrtmrz/livesync-commonlib/compat/service import { InjectableTweakValueService } from "@vrtmrz/livesync-commonlib/compat/services/implements/injectable/InjectableTweakValueService"; import { InjectableVaultServiceCompat } from "@vrtmrz/livesync-commonlib/compat/services/implements/injectable/InjectableVaultService"; -import { setLang, translateLiveSyncMessage } from "@/common/translation"; -import { BrowserConfirm } from "./BrowserConfirm"; -import { createBrowserKeyValueDatabaseFactory } from "./BrowserKeyValueDatabase"; +import { setLang, translateLiveSyncMessage } from "@/common/translation.js"; +import { BrowserConfirm } from "./BrowserConfirm.js"; +import { createBrowserKeyValueDatabaseFactory } from "./BrowserKeyValueDatabase.js"; import { LiveSyncBrowserAPIService, type LiveSyncBrowserAPIServiceOptions, -} from "./LiveSyncBrowserAPIService"; -import { LiveSyncBrowserUIService } from "./LiveSyncBrowserUIService"; +} from "./LiveSyncBrowserAPIService.js"; +import { LiveSyncBrowserUIService } from "./LiveSyncBrowserUIService.js"; export interface LiveSyncBrowserSettingsPersistence { load(): Promise; diff --git a/src/apps/cli/adapters/NodeConversionAdapter.ts b/src/apps/cli/adapters/NodeConversionAdapter.ts index 6c1cbbef..c972ea72 100644 --- a/src/apps/cli/adapters/NodeConversionAdapter.ts +++ b/src/apps/cli/adapters/NodeConversionAdapter.ts @@ -1,6 +1,6 @@ import type { FilePath, UXFileInfoStub, UXFolderInfo } from "@vrtmrz/livesync-commonlib/compat/common/types"; import type { IConversionAdapter } from "@vrtmrz/livesync-commonlib/compat/serviceModules/adapters"; -import type { NodeFile, NodeFolder } from "./NodeTypes"; +import type { NodeFile, NodeFolder } from "./NodeTypes.js"; import { path } from "@vrtmrz/livesync-commonlib/node"; /** diff --git a/src/apps/cli/adapters/NodeFileSystemAdapter.ts b/src/apps/cli/adapters/NodeFileSystemAdapter.ts index acc7596e..35566884 100644 --- a/src/apps/cli/adapters/NodeFileSystemAdapter.ts +++ b/src/apps/cli/adapters/NodeFileSystemAdapter.ts @@ -1,13 +1,13 @@ import type { FilePath, UXStat } from "@vrtmrz/livesync-commonlib/compat/common/types"; import type { IFileSystemAdapter } from "@vrtmrz/livesync-commonlib/compat/serviceModules/adapters"; -import { NodePathAdapter } from "./NodePathAdapter"; -import { NodeTypeGuardAdapter } from "./NodeTypeGuardAdapter"; -import { NodeConversionAdapter } from "./NodeConversionAdapter"; +import { NodePathAdapter } from "./NodePathAdapter.js"; +import { NodeTypeGuardAdapter } from "./NodeTypeGuardAdapter.js"; +import { NodeConversionAdapter } from "./NodeConversionAdapter.js"; import { NodeStorageAdapter } from "@vrtmrz/livesync-commonlib/node"; -import { NodeVaultAdapter } from "./NodeVaultAdapter"; -import type { NodeFile, NodeFolder, NodeStat } from "./NodeTypes"; +import { NodeVaultAdapter } from "./NodeVaultAdapter.js"; +import type { NodeFile, NodeFolder, NodeStat } from "./NodeTypes.js"; import { path } from "@vrtmrz/livesync-commonlib/node"; -import type { CliDiagnosticReporter } from "@/apps/cli/cliOutput"; +import type { CliDiagnosticReporter } from "@/apps/cli/cliOutput.js"; /** * Complete file system adapter implementation for Node.js diff --git a/src/apps/cli/adapters/NodePathAdapter.ts b/src/apps/cli/adapters/NodePathAdapter.ts index 7fde7793..bc5836c7 100644 --- a/src/apps/cli/adapters/NodePathAdapter.ts +++ b/src/apps/cli/adapters/NodePathAdapter.ts @@ -1,6 +1,6 @@ import type { FilePath } from "@vrtmrz/livesync-commonlib/compat/common/types"; import type { IPathAdapter } from "@vrtmrz/livesync-commonlib/compat/serviceModules/adapters"; -import type { NodeFile } from "./NodeTypes"; +import type { NodeFile } from "./NodeTypes.js"; import { path } from "@vrtmrz/livesync-commonlib/node"; /** diff --git a/src/apps/cli/adapters/NodeTypeGuardAdapter.ts b/src/apps/cli/adapters/NodeTypeGuardAdapter.ts index cc7cb88a..c97447c6 100644 --- a/src/apps/cli/adapters/NodeTypeGuardAdapter.ts +++ b/src/apps/cli/adapters/NodeTypeGuardAdapter.ts @@ -1,5 +1,5 @@ import type { ITypeGuardAdapter } from "@vrtmrz/livesync-commonlib/compat/serviceModules/adapters"; -import type { NodeFile, NodeFolder } from "./NodeTypes"; +import type { NodeFile, NodeFolder } from "./NodeTypes.js"; /** * Type guard adapter implementation for Node.js diff --git a/src/apps/cli/adapters/NodeVaultAdapter.ts b/src/apps/cli/adapters/NodeVaultAdapter.ts index c605eeb7..77a8f3f2 100644 --- a/src/apps/cli/adapters/NodeVaultAdapter.ts +++ b/src/apps/cli/adapters/NodeVaultAdapter.ts @@ -1,6 +1,6 @@ import type { FilePath, UXDataWriteOptions } from "@vrtmrz/livesync-commonlib/compat/common/types"; import type { IVaultAdapter } from "@vrtmrz/livesync-commonlib/compat/serviceModules/adapters"; -import type { NodeFile, NodeFolder } from "./NodeTypes"; +import type { NodeFile, NodeFolder } from "./NodeTypes.js"; import { NodeStorageAdapter } from "@vrtmrz/livesync-commonlib/node"; /** diff --git a/src/apps/cli/commands/p2p.ts b/src/apps/cli/commands/p2p.ts index c504ae01..ad769c0e 100644 --- a/src/apps/cli/commands/p2p.ts +++ b/src/apps/cli/commands/p2p.ts @@ -1,4 +1,4 @@ -import type { LiveSyncBaseCore } from "@/LiveSyncBaseCore"; +import type { LiveSyncBaseCore } from "@/LiveSyncBaseCore.js"; import { P2P_DEFAULT_SETTINGS } from "@vrtmrz/livesync-commonlib/compat/common/types"; import type { ServiceContext } from "@vrtmrz/livesync-commonlib/context"; import { LiveSyncTrysteroReplicator } from "@vrtmrz/livesync-commonlib/compat/replication/trystero/LiveSyncTrysteroReplicator"; diff --git a/src/apps/cli/commands/runCommand.ts b/src/apps/cli/commands/runCommand.ts index c1961500..2b11b14c 100644 --- a/src/apps/cli/commands/runCommand.ts +++ b/src/apps/cli/commands/runCommand.ts @@ -16,16 +16,16 @@ import { createRemoteConfigurationId, } from "@vrtmrz/livesync-commonlib/remote-configurations"; import { stripAllPrefixes } from "@vrtmrz/livesync-commonlib/compat/string_and_binary/path"; -import type { CLICommandContext, CLIOptions } from "./types"; -import { toArrayBuffer, toDatabaseRelativePath } from "./utils"; -import { collectPeers, openP2PHost, parseTimeoutSeconds, syncWithPeer } from "./p2p"; +import type { CLICommandContext, CLIOptions } from "./types.js"; +import { toArrayBuffer, toDatabaseRelativePath } from "./utils.js"; +import { collectPeers, openP2PHost, parseTimeoutSeconds, syncWithPeer } from "./p2p.js"; import { performFullScan } from "@vrtmrz/livesync-commonlib/compat/serviceFeatures/offlineScanner"; import { UnresolvedErrorManager } from "@vrtmrz/livesync-commonlib/compat/services/base/UnresolvedErrorManager"; import { compatGlobal } from "@vrtmrz/livesync-commonlib/compat/common/coreEnvFunctions"; import { fsPromises as fs, path } from "@vrtmrz/livesync-commonlib/node"; import type { LiveSyncCouchDBReplicator } from "@vrtmrz/livesync-commonlib/compat/replication/couchdb/LiveSyncReplicator"; import type { LiveSyncJournalReplicator } from "@vrtmrz/livesync-commonlib/compat/replication/journal/LiveSyncJournalReplicator"; -import { writeStderrLine, writeStdoutLine } from "@/apps/cli/cliOutput"; +import { writeStderrLine, writeStdoutLine } from "@/apps/cli/cliOutput.js"; function redactConnectionString(uri: string): string { return uri.replace(/\/\/([^@/]+)@/u, "//***@"); diff --git a/src/apps/cli/commands/types.ts b/src/apps/cli/commands/types.ts index 7dfa8d80..408ca115 100644 --- a/src/apps/cli/commands/types.ts +++ b/src/apps/cli/commands/types.ts @@ -1,6 +1,6 @@ -import { LiveSyncBaseCore } from "@/LiveSyncBaseCore"; +import { LiveSyncBaseCore } from "@/LiveSyncBaseCore.js"; import type { ObsidianLiveSyncSettings } from "@vrtmrz/livesync-commonlib/compat/common/types"; -import type { NodeServiceContext } from "@/apps/cli/services/NodeServiceContext"; +import type { NodeServiceContext } from "@/apps/cli/services/NodeServiceContext.js"; import type { UseP2PReplicatorResult } from "@vrtmrz/livesync-commonlib/compat/replication/trystero/UseP2PReplicatorResult"; export type CLICommand = diff --git a/src/apps/cli/entrypoint.ts b/src/apps/cli/entrypoint.ts index ff49ced7..05fb3761 100644 --- a/src/apps/cli/entrypoint.ts +++ b/src/apps/cli/entrypoint.ts @@ -1,9 +1,9 @@ #!/usr/bin/env node import { RTCPeerConnection } from "werift"; -import { main } from "./main"; +import { main } from "./main.js"; import { compatGlobal } from "@vrtmrz/livesync-commonlib/compat/common/coreEnvFunctions"; import { createNodeStandardIo } from "@vrtmrz/livesync-commonlib/node"; -import { writeStderrLine } from "./cliOutput"; +import { writeStderrLine } from "./cliOutput.js"; if ( typeof (compatGlobal as unknown as Record).RTCPeerConnection === "undefined" && diff --git a/src/apps/cli/main.ts b/src/apps/cli/main.ts index 38b2b033..7ac94570 100644 --- a/src/apps/cli/main.ts +++ b/src/apps/cli/main.ts @@ -1,7 +1,7 @@ -import { NodeServiceContext, NodeServiceHub } from "./services/NodeServiceHub"; -import { configureNodeLocalStorage, ensureGlobalNodeLocalStorage } from "./services/NodeLocalStorage"; -import { LiveSyncBaseCore } from "@/LiveSyncBaseCore"; -import { initialiseServiceModulesCLI } from "./serviceModules/CLIServiceModules"; +import { NodeServiceContext, NodeServiceHub } from "./services/NodeServiceHub.js"; +import { configureNodeLocalStorage, ensureGlobalNodeLocalStorage } from "./services/NodeLocalStorage.js"; +import { LiveSyncBaseCore } from "@/LiveSyncBaseCore.js"; +import { initialiseServiceModulesCLI } from "./serviceModules/CLIServiceModules.js"; import { LOG_LEVEL_VERBOSE, type LOG_LEVEL, @@ -17,18 +17,18 @@ import { LOG_LEVEL_URGENT, LOG_LEVEL_NOTICE, } from "octagonal-wheels/common/logger"; -import { runCommand } from "./commands/runCommand"; -import { isCLICommand } from "./commands/types"; -import type { CLICommand, CLICommandContext, CLIOptions } from "./commands/types"; +import { runCommand } from "./commands/runCommand.js"; +import { isCLICommand } from "./commands/types.js"; +import type { CLICommand, CLICommandContext, CLIOptions } from "./commands/types.js"; import { getPathFromUXFileInfo } from "@vrtmrz/livesync-commonlib/compat/common/typeUtils"; import { stripAllPrefixes } from "@vrtmrz/livesync-commonlib/compat/string_and_binary/path"; -import { IgnoreRules } from "./serviceModules/IgnoreRules"; +import { IgnoreRules } from "./serviceModules/IgnoreRules.js"; import { useP2PReplicatorFeature } from "@vrtmrz/livesync-commonlib/compat/replication/trystero/useP2PReplicatorFeature"; import type { UseP2PReplicatorResult } from "@vrtmrz/livesync-commonlib/compat/replication/trystero/UseP2PReplicatorResult"; import { createNodeStandardIo, fsPromises as fs, path } from "@vrtmrz/livesync-commonlib/node"; import type { StandardIo } from "@vrtmrz/livesync-commonlib/context"; -import { writeStderrLine, writeStdoutLine } from "./cliOutput"; -import { createDefaultCliSettings } from "./cliSettingsDefaults"; +import { writeStderrLine, writeStdoutLine } from "./cliOutput.js"; +import { createDefaultCliSettings } from "./cliSettingsDefaults.js"; import { applyStoredSetting, changedSettingKeys, @@ -38,7 +38,7 @@ import { preserveStoredSetting, reconcileDurableSettings, settingsEqual, -} from "./settingsPersistence"; +} from "./settingsPersistence.js"; const SETTINGS_FILE = ".livesync/settings.json"; ensureGlobalNodeLocalStorage(); diff --git a/src/apps/cli/managers/CLIStorageEventManagerAdapter.ts b/src/apps/cli/managers/CLIStorageEventManagerAdapter.ts index 37573650..f249f8c4 100644 --- a/src/apps/cli/managers/CLIStorageEventManagerAdapter.ts +++ b/src/apps/cli/managers/CLIStorageEventManagerAdapter.ts @@ -10,11 +10,11 @@ import type { IStorageEventWatchHandlers, } from "@vrtmrz/livesync-commonlib/compat/managers/adapters"; import type { FileEventItemSentinel } from "@vrtmrz/livesync-commonlib/compat/managers/StorageEventManager"; -import type { NodeFile, NodeFolder } from "@/apps/cli/adapters/NodeTypes"; +import type { NodeFile, NodeFolder } from "@/apps/cli/adapters/NodeTypes.js"; import { watch as chokidarWatch, type FSWatcher } from "chokidar"; -import type { IgnoreRules } from "@/apps/cli/serviceModules/IgnoreRules"; +import type { IgnoreRules } from "@/apps/cli/serviceModules/IgnoreRules.js"; import { fsPromises as fs, path, type Stats } from "@vrtmrz/livesync-commonlib/node"; -import type { CliDiagnosticReporter } from "@/apps/cli/cliOutput"; +import type { CliDiagnosticReporter } from "@/apps/cli/cliOutput.js"; /** * CLI-specific type guard adapter diff --git a/src/apps/cli/managers/StorageEventManagerCLI.ts b/src/apps/cli/managers/StorageEventManagerCLI.ts index e96fdeee..db07ae30 100644 --- a/src/apps/cli/managers/StorageEventManagerCLI.ts +++ b/src/apps/cli/managers/StorageEventManagerCLI.ts @@ -1,8 +1,8 @@ import { StorageEventManagerBase, type StorageEventManagerBaseDependencies } from "@vrtmrz/livesync-commonlib/compat/managers/StorageEventManager"; -import { CLIStorageEventManagerAdapter } from "./CLIStorageEventManagerAdapter"; -import type { IMinimumLiveSyncCommands, LiveSyncBaseCore } from "@/LiveSyncBaseCore"; +import { CLIStorageEventManagerAdapter } from "./CLIStorageEventManagerAdapter.js"; +import type { IMinimumLiveSyncCommands, LiveSyncBaseCore } from "@/LiveSyncBaseCore.js"; import type { ServiceContext } from "@vrtmrz/livesync-commonlib/context"; -import type { IgnoreRules } from "@/apps/cli/serviceModules/IgnoreRules"; +import type { IgnoreRules } from "@/apps/cli/serviceModules/IgnoreRules.js"; import { LOG_LEVEL_NOTICE } from "octagonal-wheels/common/logger"; // import type { IMinimumLiveSyncCommands } from "@vrtmrz/livesync-commonlib/compat/services/base/IService"; diff --git a/src/apps/cli/serviceModules/CLIServiceModules.ts b/src/apps/cli/serviceModules/CLIServiceModules.ts index ef5173d4..c6122d00 100644 --- a/src/apps/cli/serviceModules/CLIServiceModules.ts +++ b/src/apps/cli/serviceModules/CLIServiceModules.ts @@ -1,16 +1,16 @@ import type { InjectableServiceHub } from "@vrtmrz/livesync-commonlib/compat/services/implements/injectable/InjectableServiceHub"; import { ServiceRebuilder } from "@vrtmrz/livesync-commonlib/compat/serviceModules/Rebuilder"; -import { ServiceFileHandler } from "@/serviceModules/FileHandler"; +import { ServiceFileHandler } from "@/serviceModules/FileHandler.js"; import { StorageAccessManager } from "@vrtmrz/livesync-commonlib/compat/managers/StorageProcessingManager"; -import type { LiveSyncBaseCore } from "@/LiveSyncBaseCore"; +import type { LiveSyncBaseCore } from "@/LiveSyncBaseCore.js"; import type { ServiceContext } from "@vrtmrz/livesync-commonlib/context"; -import { FileAccessCLI } from "./FileAccessCLI"; -import { ServiceFileAccessCLI } from "./ServiceFileAccessImpl"; -import { ServiceDatabaseFileAccessCLI } from "./DatabaseFileAccess"; -import { StorageEventManagerCLI } from "@/apps/cli/managers/StorageEventManagerCLI"; +import { FileAccessCLI } from "./FileAccessCLI.js"; +import { ServiceFileAccessCLI } from "./ServiceFileAccessImpl.js"; +import { ServiceDatabaseFileAccessCLI } from "./DatabaseFileAccess.js"; +import { StorageEventManagerCLI } from "@/apps/cli/managers/StorageEventManagerCLI.js"; import type { ServiceModules } from "@vrtmrz/livesync-commonlib/compat/interfaces/ServiceModule"; -import type { IgnoreRules } from "./IgnoreRules"; -import { createFileReflectionProvenance } from "@/serviceModules/FileReflectionProvenance"; +import type { IgnoreRules } from "./IgnoreRules.js"; +import { createFileReflectionProvenance } from "@/serviceModules/FileReflectionProvenance.js"; /** * Initialize service modules for CLI version diff --git a/src/apps/cli/serviceModules/FileAccessCLI.ts b/src/apps/cli/serviceModules/FileAccessCLI.ts index 7a258c30..3462db25 100644 --- a/src/apps/cli/serviceModules/FileAccessCLI.ts +++ b/src/apps/cli/serviceModules/FileAccessCLI.ts @@ -1,5 +1,5 @@ import { FileAccessBase, type FileAccessBaseDependencies } from "@vrtmrz/livesync-commonlib/compat/serviceModules/FileAccessBase"; -import { NodeFileSystemAdapter } from "@/apps/cli/adapters/NodeFileSystemAdapter"; +import { NodeFileSystemAdapter } from "@/apps/cli/adapters/NodeFileSystemAdapter.js"; import { LOG_LEVEL_NOTICE } from "octagonal-wheels/common/logger"; /** diff --git a/src/apps/cli/serviceModules/IgnoreRules.ts b/src/apps/cli/serviceModules/IgnoreRules.ts index 8998309f..e59f8bb3 100644 --- a/src/apps/cli/serviceModules/IgnoreRules.ts +++ b/src/apps/cli/serviceModules/IgnoreRules.ts @@ -1,6 +1,6 @@ import { Minimatch } from "minimatch"; import { fsPromises as fs, path } from "@vrtmrz/livesync-commonlib/node"; -import type { CliDiagnosticReporter } from "@/apps/cli/cliOutput"; +import type { CliDiagnosticReporter } from "@/apps/cli/cliOutput.js"; /** * Loads and evaluates ignore rules from `.livesync/ignore` inside the vault. diff --git a/src/apps/cli/serviceModules/ServiceFileAccessImpl.ts b/src/apps/cli/serviceModules/ServiceFileAccessImpl.ts index 1ba1659d..07982914 100644 --- a/src/apps/cli/serviceModules/ServiceFileAccessImpl.ts +++ b/src/apps/cli/serviceModules/ServiceFileAccessImpl.ts @@ -1,5 +1,5 @@ import { ServiceFileAccessBase, type StorageAccessBaseDependencies } from "@vrtmrz/livesync-commonlib/compat/serviceModules/ServiceFileAccessBase"; -import { NodeFileSystemAdapter } from "@/apps/cli/adapters/NodeFileSystemAdapter"; +import { NodeFileSystemAdapter } from "@/apps/cli/adapters/NodeFileSystemAdapter.js"; /** * CLI-specific implementation of ServiceFileAccess diff --git a/src/apps/cli/services/NodeServiceContext.ts b/src/apps/cli/services/NodeServiceContext.ts index fef43d91..2dd879db 100644 --- a/src/apps/cli/services/NodeServiceContext.ts +++ b/src/apps/cli/services/NodeServiceContext.ts @@ -1,5 +1,5 @@ -import { eventHub } from "@/common/events"; -import { translateLiveSyncMessage } from "@/common/translation"; +import { eventHub } from "@/common/events.js"; +import { translateLiveSyncMessage } from "@/common/translation.js"; import { ServiceContext, type StandardIo } from "@vrtmrz/livesync-commonlib/context"; /** Host capabilities owned by one Self-hosted LiveSync CLI composition. */ diff --git a/src/apps/cli/services/NodeServiceHub.ts b/src/apps/cli/services/NodeServiceHub.ts index bed9cb16..519b1965 100644 --- a/src/apps/cli/services/NodeServiceHub.ts +++ b/src/apps/cli/services/NodeServiceHub.ts @@ -20,17 +20,17 @@ import { InjectableTweakValueService } from "@vrtmrz/livesync-commonlib/compat/s import { InjectableVaultServiceCompat } from "@vrtmrz/livesync-commonlib/compat/services/implements/injectable/InjectableVaultService"; import { ControlService } from "@vrtmrz/livesync-commonlib/compat/services/base/ControlService"; import { HeadlessAPIService } from "@vrtmrz/livesync-commonlib/compat/services/implements/headless/HeadlessAPIService"; -import { NodeKeyValueDBService } from "./NodeKeyValueDBService"; -import { NodeSettingService } from "./NodeSettingService"; +import { NodeKeyValueDBService } from "./NodeKeyValueDBService.js"; +import { NodeSettingService } from "./NodeSettingService.js"; import { DatabaseService } from "@vrtmrz/livesync-commonlib/compat/services/base/DatabaseService"; import type { ObsidianLiveSyncSettings } from "@vrtmrz/livesync-commonlib/compat/common/types"; import { path as nodePath } from "@vrtmrz/livesync-commonlib/node"; import type { KeyValueDBService } from "@vrtmrz/livesync-commonlib/compat/services/base/KeyValueDBService"; -import { PouchDB } from "@/apps/cli/lib/pouchdb-node"; -import { NodeServiceContext } from "./NodeServiceContext"; -import { setLang } from "@/common/translation"; +import { PouchDB } from "@/apps/cli/lib/pouchdb-node.js"; +import { NodeServiceContext } from "./NodeServiceContext.js"; +import { setLang } from "@/common/translation.js"; -export { NodeServiceContext } from "./NodeServiceContext"; +export { NodeServiceContext } from "./NodeServiceContext.js"; class NodeAppLifecycleService extends InjectableAppLifecycleService { constructor(context: T, dependencies: AppLifecycleServiceDependencies) { diff --git a/src/apps/cli/services/NodeSettingService.ts b/src/apps/cli/services/NodeSettingService.ts index 771cb41c..7ab9e633 100644 --- a/src/apps/cli/services/NodeSettingService.ts +++ b/src/apps/cli/services/NodeSettingService.ts @@ -1,5 +1,5 @@ import { EVENT_SETTING_SAVED } from "@vrtmrz/livesync-commonlib/compat/events/coreEvents"; -import { EVENT_REQUEST_RELOAD_SETTING_TAB } from "@/common/events"; +import { EVENT_REQUEST_RELOAD_SETTING_TAB } from "@/common/events.js"; import { handlers } from "@vrtmrz/livesync-commonlib/compat/services/lib/HandlerUtils"; import type { ObsidianLiveSyncSettings } from "@vrtmrz/livesync-commonlib/compat/common/types"; import type { ServiceContext } from "@vrtmrz/livesync-commonlib/context"; @@ -9,7 +9,7 @@ import { deleteNodeLocalStorageItem, getNodeLocalStorageItem, setNodeLocalStorageItem, -} from "./NodeLocalStorage"; +} from "./NodeLocalStorage.js"; export class NodeSettingService extends SettingService { constructor(context: T, dependencies: SettingServiceDependencies, storagePath: string) { diff --git a/src/apps/cli/settingsPersistence.ts b/src/apps/cli/settingsPersistence.ts index 84e7d47f..441e9022 100644 --- a/src/apps/cli/settingsPersistence.ts +++ b/src/apps/cli/settingsPersistence.ts @@ -1,7 +1,7 @@ import type { ObsidianLiveSyncSettings } from "@vrtmrz/livesync-commonlib/compat/common/types"; import { ConnectionStringParser } from "@vrtmrz/livesync-commonlib/compat/common/ConnectionString"; import { activateRemoteConfiguration } from "@vrtmrz/livesync-commonlib/remote-configurations"; -import type { CLICommand } from "./commands/types"; +import type { CLICommand } from "./commands/types.js"; const SETTINGS_WRITE_COMMANDS = new Set([ "setup", diff --git a/src/apps/cli/test-support/p2p-lifecycle-entrypoint.ts b/src/apps/cli/test-support/p2p-lifecycle-entrypoint.ts index 8b13a296..c4dac893 100644 --- a/src/apps/cli/test-support/p2p-lifecycle-entrypoint.ts +++ b/src/apps/cli/test-support/p2p-lifecycle-entrypoint.ts @@ -2,10 +2,10 @@ import { RTCPeerConnection } from "werift"; import { compatGlobal } from "@vrtmrz/livesync-commonlib/compat/common/coreEnvFunctions"; import { createNodeStandardIo } from "@vrtmrz/livesync-commonlib/node"; -import { writeStderrLine } from "@/apps/cli/cliOutput"; -import { main, type CliCommandRunner } from "@/apps/cli/main"; -import { parseTimeoutSeconds } from "@/apps/cli/commands/p2p"; -import { runP2PReplicatorReplacementProbe } from "./p2p-replicator-replacement"; +import { writeStderrLine } from "@/apps/cli/cliOutput.js"; +import { main, type CliCommandRunner } from "@/apps/cli/main.js"; +import { parseTimeoutSeconds } from "@/apps/cli/commands/p2p.js"; +import { runP2PReplicatorReplacementProbe } from "./p2p-replicator-replacement.js"; if ( typeof (compatGlobal as unknown as Record).RTCPeerConnection === "undefined" && diff --git a/src/apps/cli/test-support/p2p-replicator-replacement.ts b/src/apps/cli/test-support/p2p-replicator-replacement.ts index 18ab6bef..6aeb5d9a 100644 --- a/src/apps/cli/test-support/p2p-replicator-replacement.ts +++ b/src/apps/cli/test-support/p2p-replicator-replacement.ts @@ -1,8 +1,8 @@ import type { FilePathWithPrefix } from "@vrtmrz/livesync-commonlib/compat/common/types"; import { LiveSyncTrysteroReplicator } from "@vrtmrz/livesync-commonlib/compat/replication/trystero/LiveSyncTrysteroReplicator"; import { compatGlobal } from "@vrtmrz/livesync-commonlib/compat/common/coreEnvFunctions"; -import type { CLICommandContext } from "@/apps/cli/commands/types"; -import { openP2PHost } from "@/apps/cli/commands/p2p"; +import type { CLICommandContext } from "@/apps/cli/commands/types.js"; +import { openP2PHost } from "@/apps/cli/commands/p2p.js"; const DEFAULT_NOTE_PATH = "p2p-replicator-replacement.md"; const DEFAULT_NOTE_CONTENT = "Replicated after replacing the active P2P replicator."; diff --git a/src/apps/webapp/WebAppRuntime.ts b/src/apps/webapp/WebAppRuntime.ts index a7a17168..4f120413 100644 --- a/src/apps/webapp/WebAppRuntime.ts +++ b/src/apps/webapp/WebAppRuntime.ts @@ -1,8 +1,8 @@ /** Browser runtime for Self-hosted LiveSync over the File System Access API. */ -import { LiveSyncBaseCore } from "@/LiveSyncBaseCore"; +import { LiveSyncBaseCore } from "@/LiveSyncBaseCore.js"; import { ServiceContext, type LiveSyncEventHub } from "@vrtmrz/livesync-commonlib/context"; -import { initialiseServiceModulesFSAPI, type FSAPIServiceModules } from "./serviceModules/FSAPIServiceModules"; +import { initialiseServiceModulesFSAPI, type FSAPIServiceModules } from "./serviceModules/FSAPIServiceModules.js"; import { LOG_LEVEL_INFO, LOG_LEVEL_NOTICE, @@ -15,7 +15,7 @@ import { updateToDatabase, useOfflineScanner, } from "@vrtmrz/livesync-commonlib/compat/serviceFeatures/offlineScanner"; -import { useRedFlagFeatures } from "@/serviceFeatures/redFlag"; +import { useRedFlagFeatures } from "@/serviceFeatures/redFlag.js"; import { useCheckRemoteSize } from "@vrtmrz/livesync-commonlib/compat/serviceFeatures/checkRemoteSize"; import { useRemoteConfiguration } from "@vrtmrz/livesync-commonlib/compat/serviceFeatures/remoteConfig"; import { useP2PReplicatorFeature } from "@vrtmrz/livesync-commonlib/compat/replication/trystero/useP2PReplicatorFeature"; @@ -25,8 +25,8 @@ import { createLiveSyncBrowserServiceHub, type LiveSyncBrowserServiceHub, type LiveSyncBrowserServiceHubOptions, -} from "@/apps/browser/createLiveSyncBrowserServiceHub"; -import type { P2PReplicatorPaneHost } from "@/features/P2PSync/P2PReplicator/P2PReplicatorPaneHost"; +} from "@/apps/browser/createLiveSyncBrowserServiceHub.js"; +import type { P2PReplicatorPaneHost } from "@/features/P2PSync/P2PReplicator/P2PReplicatorPaneHost.js"; const SETTINGS_DIR = ".livesync"; const SETTINGS_FILE = "settings.json"; diff --git a/src/apps/webapp/adapters/FSAPIConversionAdapter.ts b/src/apps/webapp/adapters/FSAPIConversionAdapter.ts index e6d5ae96..d14b1188 100644 --- a/src/apps/webapp/adapters/FSAPIConversionAdapter.ts +++ b/src/apps/webapp/adapters/FSAPIConversionAdapter.ts @@ -1,6 +1,6 @@ import type { FilePath, UXFileInfoStub, UXFolderInfo } from "@vrtmrz/livesync-commonlib/compat/common/types"; import type { IConversionAdapter } from "@vrtmrz/livesync-commonlib/compat/serviceModules/adapters"; -import type { FSAPIFile, FSAPIFolder } from "./FSAPITypes"; +import type { FSAPIFile, FSAPIFolder } from "./FSAPITypes.js"; /** * Conversion adapter implementation for FileSystem API diff --git a/src/apps/webapp/adapters/FSAPIFileSystemAdapter.ts b/src/apps/webapp/adapters/FSAPIFileSystemAdapter.ts index 432ca0f4..36330d62 100644 --- a/src/apps/webapp/adapters/FSAPIFileSystemAdapter.ts +++ b/src/apps/webapp/adapters/FSAPIFileSystemAdapter.ts @@ -1,13 +1,13 @@ import { LOG_LEVEL_NOTICE, type FilePath, type UXStat } from "@vrtmrz/livesync-commonlib/compat/common/types"; import type { IFileSystemAdapter } from "@vrtmrz/livesync-commonlib/compat/serviceModules/adapters"; -import { FSAPIPathAdapter } from "./FSAPIPathAdapter"; -import { FSAPITypeGuardAdapter } from "./FSAPITypeGuardAdapter"; -import { FSAPIConversionAdapter } from "./FSAPIConversionAdapter"; +import { FSAPIPathAdapter } from "./FSAPIPathAdapter.js"; +import { FSAPITypeGuardAdapter } from "./FSAPITypeGuardAdapter.js"; +import { FSAPIConversionAdapter } from "./FSAPIConversionAdapter.js"; import { FileSystemAccessStorageAdapter } from "@vrtmrz/livesync-commonlib/browser"; -import { FSAPIVaultAdapter } from "./FSAPIVaultAdapter"; -import type { FSAPIFile, FSAPIFolder, FSAPIStat } from "./FSAPITypes"; +import { FSAPIVaultAdapter } from "./FSAPIVaultAdapter.js"; +import type { FSAPIFile, FSAPIFolder, FSAPIStat } from "./FSAPITypes.js"; import { shareRunningResult } from "octagonal-wheels/concurrency/lock_v2"; -import type { WebAppLog } from "@/apps/webapp/WebAppLog"; +import type { WebAppLog } from "@/apps/webapp/WebAppLog.js"; /** * Complete file system adapter implementation for FileSystem API diff --git a/src/apps/webapp/adapters/FSAPIPathAdapter.ts b/src/apps/webapp/adapters/FSAPIPathAdapter.ts index c3a6ce45..52ef34ce 100644 --- a/src/apps/webapp/adapters/FSAPIPathAdapter.ts +++ b/src/apps/webapp/adapters/FSAPIPathAdapter.ts @@ -1,6 +1,6 @@ import type { FilePath } from "@vrtmrz/livesync-commonlib/compat/common/types"; import type { IPathAdapter } from "@vrtmrz/livesync-commonlib/compat/serviceModules/adapters"; -import type { FSAPIFile } from "./FSAPITypes"; +import type { FSAPIFile } from "./FSAPITypes.js"; /** * Path adapter implementation for FileSystem API diff --git a/src/apps/webapp/adapters/FSAPITypeGuardAdapter.ts b/src/apps/webapp/adapters/FSAPITypeGuardAdapter.ts index d3563c5f..921325d8 100644 --- a/src/apps/webapp/adapters/FSAPITypeGuardAdapter.ts +++ b/src/apps/webapp/adapters/FSAPITypeGuardAdapter.ts @@ -1,5 +1,5 @@ import type { ITypeGuardAdapter } from "@vrtmrz/livesync-commonlib/compat/serviceModules/adapters"; -import type { FSAPIFile, FSAPIFolder } from "./FSAPITypes"; +import type { FSAPIFile, FSAPIFolder } from "./FSAPITypes.js"; /** * Type guard adapter implementation for FileSystem API diff --git a/src/apps/webapp/adapters/FSAPIVaultAdapter.ts b/src/apps/webapp/adapters/FSAPIVaultAdapter.ts index 9e2d8e27..751e74cc 100644 --- a/src/apps/webapp/adapters/FSAPIVaultAdapter.ts +++ b/src/apps/webapp/adapters/FSAPIVaultAdapter.ts @@ -1,6 +1,6 @@ import type { FilePath, UXDataWriteOptions } from "@vrtmrz/livesync-commonlib/compat/common/types"; import type { IVaultAdapter } from "@vrtmrz/livesync-commonlib/compat/serviceModules/adapters"; -import type { FSAPIFile, FSAPIFolder } from "./FSAPITypes"; +import type { FSAPIFile, FSAPIFolder } from "./FSAPITypes.js"; /** * Vault adapter implementation for FileSystem API diff --git a/src/apps/webapp/main.ts b/src/apps/webapp/main.ts index 4c8c014e..8db9b1ac 100644 --- a/src/apps/webapp/main.ts +++ b/src/apps/webapp/main.ts @@ -1,10 +1,10 @@ -import { createNativeElement } from "@/apps/browserDom"; +import { createNativeElement } from "@/apps/browserDom.js"; import { compatGlobal, _activeDocument } from "@vrtmrz/livesync-commonlib/compat/common/coreEnvFunctions"; import { mount } from "svelte"; -import { WebAppRuntime, type WebAppRuntimeStatusKind } from "./WebAppRuntime"; +import { WebAppRuntime, type WebAppRuntimeStatusKind } from "./WebAppRuntime.js"; import WebAppP2P from "./WebAppP2P.svelte"; -import { VaultHistoryStore, type VaultHistoryItem } from "./vaultSelector"; +import { VaultHistoryStore, type VaultHistoryItem } from "./vaultSelector.js"; const historyStore = new VaultHistoryStore(); let runtime: WebAppRuntime | null = null; diff --git a/src/apps/webapp/managers/FSAPIStorageEventManagerAdapter.ts b/src/apps/webapp/managers/FSAPIStorageEventManagerAdapter.ts index 6594b61d..c9ed5dba 100644 --- a/src/apps/webapp/managers/FSAPIStorageEventManagerAdapter.ts +++ b/src/apps/webapp/managers/FSAPIStorageEventManagerAdapter.ts @@ -10,10 +10,10 @@ import type { IStorageEventWatchHandlers, } from "@vrtmrz/livesync-commonlib/compat/managers/adapters"; import type { FileEventItemSentinel } from "@vrtmrz/livesync-commonlib/compat/managers/StorageEventManager"; -import type { FSAPIFile, FSAPIFolder } from "@/apps/webapp/adapters/FSAPITypes"; +import type { FSAPIFile, FSAPIFolder } from "@/apps/webapp/adapters/FSAPITypes.js"; import { compatGlobal } from "@vrtmrz/livesync-commonlib/compat/common/coreEnvFunctions"; import { LOG_LEVEL_INFO, LOG_LEVEL_NOTICE, LOG_LEVEL_VERBOSE } from "@vrtmrz/livesync-commonlib/compat/common/types"; -import type { WebAppLog } from "@/apps/webapp/WebAppLog"; +import type { WebAppLog } from "@/apps/webapp/WebAppLog.js"; type FileSystemObserverRecord = { changedHandle?: FileSystemFileHandle | FileSystemDirectoryHandle; diff --git a/src/apps/webapp/managers/StorageEventManagerFSAPI.ts b/src/apps/webapp/managers/StorageEventManagerFSAPI.ts index 4152ad30..75400389 100644 --- a/src/apps/webapp/managers/StorageEventManagerFSAPI.ts +++ b/src/apps/webapp/managers/StorageEventManagerFSAPI.ts @@ -1,6 +1,6 @@ import { StorageEventManagerBase, type StorageEventManagerBaseDependencies } from "@vrtmrz/livesync-commonlib/compat/managers/StorageEventManager"; -import { FSAPIStorageEventManagerAdapter } from "./FSAPIStorageEventManagerAdapter"; -import type { IMinimumLiveSyncCommands, LiveSyncBaseCore } from "@/LiveSyncBaseCore"; +import { FSAPIStorageEventManagerAdapter } from "./FSAPIStorageEventManagerAdapter.js"; +import type { IMinimumLiveSyncCommands, LiveSyncBaseCore } from "@/LiveSyncBaseCore.js"; import type { ServiceContext } from "@vrtmrz/livesync-commonlib/context"; export class StorageEventManagerFSAPI extends StorageEventManagerBase { diff --git a/src/apps/webapp/serviceModules/FSAPIServiceModules.ts b/src/apps/webapp/serviceModules/FSAPIServiceModules.ts index cc20885c..493b9208 100644 --- a/src/apps/webapp/serviceModules/FSAPIServiceModules.ts +++ b/src/apps/webapp/serviceModules/FSAPIServiceModules.ts @@ -2,15 +2,15 @@ import type { InjectableServiceHub } from "@vrtmrz/livesync-commonlib/compat/ser import { ServiceRebuilder } from "@vrtmrz/livesync-commonlib/compat/serviceModules/Rebuilder"; import { StorageAccessManager } from "@vrtmrz/livesync-commonlib/compat/managers/StorageProcessingManager"; -import type { LiveSyncBaseCore } from "@/LiveSyncBaseCore"; +import type { LiveSyncBaseCore } from "@/LiveSyncBaseCore.js"; import type { ServiceContext } from "@vrtmrz/livesync-commonlib/context"; -import { FileAccessFSAPI } from "./FileAccessFSAPI"; -import { ServiceFileAccessFSAPI } from "./ServiceFileAccessImpl"; -import { ServiceDatabaseFileAccessFSAPI } from "./DatabaseFileAccess"; -import { StorageEventManagerFSAPI } from "@/apps/webapp/managers/StorageEventManagerFSAPI"; +import { FileAccessFSAPI } from "./FileAccessFSAPI.js"; +import { ServiceFileAccessFSAPI } from "./ServiceFileAccessImpl.js"; +import { ServiceDatabaseFileAccessFSAPI } from "./DatabaseFileAccess.js"; +import { StorageEventManagerFSAPI } from "@/apps/webapp/managers/StorageEventManagerFSAPI.js"; import type { ServiceModules } from "@vrtmrz/livesync-commonlib/compat/interfaces/ServiceModule"; -import { ServiceFileHandler } from "@/serviceModules/FileHandler"; -import { createFileReflectionProvenance } from "@/serviceModules/FileReflectionProvenance"; +import { ServiceFileHandler } from "@/serviceModules/FileHandler.js"; +import { createFileReflectionProvenance } from "@/serviceModules/FileReflectionProvenance.js"; export interface FSAPIServiceModules extends ServiceModules { vaultAccess: FileAccessFSAPI; diff --git a/src/apps/webapp/serviceModules/FileAccessFSAPI.ts b/src/apps/webapp/serviceModules/FileAccessFSAPI.ts index e3ca51a7..14cb58b5 100644 --- a/src/apps/webapp/serviceModules/FileAccessFSAPI.ts +++ b/src/apps/webapp/serviceModules/FileAccessFSAPI.ts @@ -1,5 +1,5 @@ import { FileAccessBase, type FileAccessBaseDependencies } from "@vrtmrz/livesync-commonlib/compat/serviceModules/FileAccessBase"; -import { FSAPIFileSystemAdapter } from "@/apps/webapp/adapters/FSAPIFileSystemAdapter"; +import { FSAPIFileSystemAdapter } from "@/apps/webapp/adapters/FSAPIFileSystemAdapter.js"; /** * FileSystem API-specific implementation of FileAccessBase diff --git a/src/apps/webapp/serviceModules/ServiceFileAccessImpl.ts b/src/apps/webapp/serviceModules/ServiceFileAccessImpl.ts index 8f0ebe2c..f1b09133 100644 --- a/src/apps/webapp/serviceModules/ServiceFileAccessImpl.ts +++ b/src/apps/webapp/serviceModules/ServiceFileAccessImpl.ts @@ -1,5 +1,5 @@ import { ServiceFileAccessBase, type StorageAccessBaseDependencies } from "@vrtmrz/livesync-commonlib/compat/serviceModules/ServiceFileAccessBase"; -import { FSAPIFileSystemAdapter } from "@/apps/webapp/adapters/FSAPIFileSystemAdapter"; +import { FSAPIFileSystemAdapter } from "@/apps/webapp/adapters/FSAPIFileSystemAdapter.js"; /** * FileSystem API-specific implementation of ServiceFileAccess diff --git a/src/apps/webpeer/src/P2PCheckSession.ts b/src/apps/webpeer/src/P2PCheckSession.ts index 2c49569b..00e01c9e 100644 --- a/src/apps/webpeer/src/P2PCheckSession.ts +++ b/src/apps/webpeer/src/P2PCheckSession.ts @@ -5,8 +5,8 @@ import { } from "@vrtmrz/livesync-commonlib/compat/replication/trystero/TrysteroReplicatorP2PServer"; import type { SimpleStore } from "octagonal-wheels/databases/SimpleStoreBase"; -import { WEBPEER_SETTINGS_KEY } from "./WebPeerPersistence"; -import { WebPeerRuntime } from "./WebPeerRuntime"; +import { WEBPEER_SETTINGS_KEY } from "./WebPeerPersistence.js"; +import { WebPeerRuntime } from "./WebPeerRuntime.js"; export const P2P_CHECK_SYSTEM_VAULT_NAME = "p2p-livesync-connection-check"; diff --git a/src/apps/webpeer/src/WebPeerPersistence.ts b/src/apps/webpeer/src/WebPeerPersistence.ts index b588ab3d..0192ad0c 100644 --- a/src/apps/webpeer/src/WebPeerPersistence.ts +++ b/src/apps/webpeer/src/WebPeerPersistence.ts @@ -6,7 +6,7 @@ import { import type { SimpleStore } from "octagonal-wheels/databases/SimpleStoreBase"; import { SimpleStoreIDBv2 } from "octagonal-wheels/databases/SimpleStoreIDBv2"; -import type { LiveSyncBrowserSettingsPersistence } from "@/apps/browser/createLiveSyncBrowserServiceHub"; +import type { LiveSyncBrowserSettingsPersistence } from "@/apps/browser/createLiveSyncBrowserServiceHub.js"; export const WEBPEER_STORE_NAME = "p2p-livesync-web-peer"; export const WEBPEER_SETTINGS_KEY = "settings"; diff --git a/src/apps/webpeer/src/WebPeerRuntime.ts b/src/apps/webpeer/src/WebPeerRuntime.ts index 4aa323bc..572c41ef 100644 --- a/src/apps/webpeer/src/WebPeerRuntime.ts +++ b/src/apps/webpeer/src/WebPeerRuntime.ts @@ -13,11 +13,11 @@ import type { SimpleStore } from "octagonal-wheels/databases/SimpleStoreBase"; import { createLiveSyncBrowserServiceHub, type LiveSyncBrowserServiceHub, -} from "@/apps/browser/createLiveSyncBrowserServiceHub"; -import { Menu } from "@/apps/browser/BrowserMenu"; -import type { P2PReplicatorPaneHost } from "@/features/P2PSync/P2PReplicator/P2PReplicatorPaneHost"; -import { translateLiveSyncMessage } from "@/common/translation"; -import { WEBPEER_STORE_NAME, createWebPeerPersistence } from "./WebPeerPersistence"; +} from "@/apps/browser/createLiveSyncBrowserServiceHub.js"; +import { Menu } from "@/apps/browser/BrowserMenu.js"; +import type { P2PReplicatorPaneHost } from "@/features/P2PSync/P2PReplicator/P2PReplicatorPaneHost.js"; +import { translateLiveSyncMessage } from "@/common/translation.js"; +import { WEBPEER_STORE_NAME, createWebPeerPersistence } from "./WebPeerPersistence.js"; export interface WebPeerRuntimeOptions { context?: ServiceContext; diff --git a/src/common/PeriodicProcessor.ts b/src/common/PeriodicProcessor.ts index 14d93ed0..606ccf24 100644 --- a/src/common/PeriodicProcessor.ts +++ b/src/common/PeriodicProcessor.ts @@ -1,6 +1,6 @@ import { Logger } from "octagonal-wheels/common/logger"; import { fireAndForget } from "octagonal-wheels/promises"; -import { eventHub, EVENT_PLUGIN_UNLOADED } from "./events"; +import { eventHub, EVENT_PLUGIN_UNLOADED } from "./events.js"; import type { NecessaryServices } from "@vrtmrz/livesync-commonlib/compat/interfaces/ServiceModule"; type PeriodicProcessorHost = NecessaryServices<"API" | "control", never>; export class PeriodicProcessor { diff --git a/src/common/obsidianEvents.ts b/src/common/obsidianEvents.ts index 79ea351c..0dc1e72f 100644 --- a/src/common/obsidianEvents.ts +++ b/src/common/obsidianEvents.ts @@ -1,4 +1,4 @@ -import type { TFile } from "@/deps"; +import type { TFile } from "@/deps.js"; import type { FilePathWithPrefix, LoadedEntry } from "@vrtmrz/livesync-commonlib/compat/common/types"; export const EVENT_REQUEST_SHOW_HISTORY = "show-history"; diff --git a/src/common/reportTool.ts b/src/common/reportTool.ts index 5942dfa8..b8535e7c 100644 --- a/src/common/reportTool.ts +++ b/src/common/reportTool.ts @@ -2,12 +2,12 @@ import { REMOTE_COUCHDB, REMOTE_MINIO } from "@vrtmrz/livesync-commonlib/compat/ import { DEFAULT_SETTINGS, type ObsidianLiveSyncSettings } from "@vrtmrz/livesync-commonlib/settings"; import { generateCredentialObject } from "@vrtmrz/livesync-commonlib/compat/replication/httplib"; import { parseHeaderValues } from "@vrtmrz/livesync-commonlib/compat/common/utils"; -import { requestToCouchDBWithCredentials } from "./utils"; +import { requestToCouchDBWithCredentials } from "./utils.js"; import { LOG_LEVEL_VERBOSE, Logger } from "@vrtmrz/livesync-commonlib/compat/common/logger"; import { isCloudantURI } from "@vrtmrz/livesync-commonlib/compat/pouchdb/utils_couchdb"; import { compatGlobal } from "@vrtmrz/livesync-commonlib/compat/common/coreEnvFunctions"; import { manifestVersion, packageVersion } from "@vrtmrz/livesync-commonlib/compat/common/coreEnvVars"; -import type { LiveSyncBaseCore } from "@/LiveSyncBaseCore"; +import type { LiveSyncBaseCore } from "@/LiveSyncBaseCore.js"; function redactObject(obj: Record, dotted: string, redactedValue = "REDACTED") { const keys = dotted.split("."); let current = obj; diff --git a/src/common/translation.ts b/src/common/translation.ts index 1b85bb91..f2a1a611 100644 --- a/src/common/translation.ts +++ b/src/common/translation.ts @@ -8,7 +8,7 @@ import { } from "@vrtmrz/livesync-commonlib/context"; import { LOG_KIND_WARNING, notice } from "octagonal-wheels/common/logger"; import type { TaggedType } from "octagonal-wheels/common/types"; -import type { AllMessageKeys, I18N_LANGS, LiveSyncCatalogueMessageKey } from "./rosetta"; +import type { AllMessageKeys, I18N_LANGS, LiveSyncCatalogueMessageKey } from "./rosetta.js"; import { allMessages } from "./messages/combinedMessages.prod.ts"; import { liveSyncProvisionalEnglishMessages, diff --git a/src/features/ConfigSync/CmdConfigSync.ts b/src/features/ConfigSync/CmdConfigSync.ts index d88e8bd8..ec16543e 100644 --- a/src/features/ConfigSync/CmdConfigSync.ts +++ b/src/features/ConfigSync/CmdConfigSync.ts @@ -73,7 +73,7 @@ import { ConflictResolveModal } from "@/modules/features/InteractiveConflictReso import { Semaphore } from "octagonal-wheels/concurrency/semaphore"; import { EVENT_REQUEST_OPEN_PLUGIN_SYNC_DIALOG, eventHub } from "@/common/events.ts"; import { PluginDialogModal } from "./PluginDialogModal.ts"; -import { $msg } from "@/common/translation"; +import { $msg } from "@/common/translation.js"; import type { InjectableServiceHub } from "@vrtmrz/livesync-commonlib/compat/services/implements/injectable/InjectableServiceHub"; import type { LiveSyncCore } from "@/main.ts"; import { LiveSyncError } from "@vrtmrz/livesync-commonlib/compat/common/LSError"; diff --git a/src/features/HiddenFileSync/CmdHiddenFileSync.ts b/src/features/HiddenFileSync/CmdHiddenFileSync.ts index 5b945c69..299295b5 100644 --- a/src/features/HiddenFileSync/CmdHiddenFileSync.ts +++ b/src/features/HiddenFileSync/CmdHiddenFileSync.ts @@ -57,7 +57,7 @@ import { tryGetFilePath } from "@vrtmrz/livesync-commonlib/compat/common/utils.d import { configureHiddenFileSyncMode, type ConfigureHiddenFileSyncResult } from "./configureHiddenFileSyncMode.ts"; import type { OptionalSyncFeatureMode } from "@/features/optionalSyncFeatures.ts"; import { getObsidianCommunityPluginManager } from "@/common/obsidianCommunityPlugins.ts"; -import { $msg } from "@/common/translation"; +import { $msg } from "@/common/translation.js"; type SyncDirection = "push" | "pull" | "safe" | "pullForce" | "pushForce"; type HiddenFileInitialisationProgress = { diff --git a/src/features/LocalDatabaseMainte/CmdLocalDatabaseMainte.ts b/src/features/LocalDatabaseMainte/CmdLocalDatabaseMainte.ts index 4c25400d..fb34852f 100644 --- a/src/features/LocalDatabaseMainte/CmdLocalDatabaseMainte.ts +++ b/src/features/LocalDatabaseMainte/CmdLocalDatabaseMainte.ts @@ -12,14 +12,14 @@ import { type MetaEntry, } from "@vrtmrz/livesync-commonlib/compat/common/types"; import { getNoFromRev } from "@vrtmrz/livesync-commonlib/compat/pouchdb/LiveSyncLocalDB"; -import { LiveSyncCommands } from "@/features/LiveSyncCommands"; +import { LiveSyncCommands } from "@/features/LiveSyncCommands.js"; import { serialized } from "octagonal-wheels/concurrency/lock_v2"; import { arrayToChunkedArray } from "octagonal-wheels/collection"; -import { EVENT_ANALYSE_DB_USAGE, EVENT_REQUEST_PERFORM_GC_V3, eventHub } from "@/common/events"; +import { EVENT_ANALYSE_DB_USAGE, EVENT_REQUEST_PERFORM_GC_V3, eventHub } from "@/common/events.js"; import type { LiveSyncCouchDBReplicator } from "@vrtmrz/livesync-commonlib/compat/replication/couchdb/LiveSyncReplicator"; import { delay } from "@vrtmrz/livesync-commonlib/compat/common/utils"; import { isNotFoundError } from "@vrtmrz/livesync-commonlib/compat/common/utils.doc"; -import { ensureLocalDatabaseMaintenancePrerequisites } from "./maintenancePrerequisites"; +import { ensureLocalDatabaseMaintenancePrerequisites } from "./maintenancePrerequisites.js"; // import { _requestToCouchDB } from "@/common/utils"; const DB_KEY_SEQ = "gc-seq"; const DB_KEY_CHUNK_SET = "chunk-set"; diff --git a/src/features/P2PSync/P2PReplicator/P2PReplicationUI.ts b/src/features/P2PSync/P2PReplicator/P2PReplicationUI.ts index 39cf4a62..a8061292 100644 --- a/src/features/P2PSync/P2PReplicator/P2PReplicationUI.ts +++ b/src/features/P2PSync/P2PReplicator/P2PReplicationUI.ts @@ -2,7 +2,7 @@ import type { App } from "@/deps.ts"; import { Logger } from "@vrtmrz/livesync-commonlib/compat/common/logger"; import { LOG_LEVEL_NOTICE, LOG_LEVEL_INFO } from "@vrtmrz/livesync-commonlib/compat/common/types"; import type { LiveSyncTrysteroReplicator } from "@vrtmrz/livesync-commonlib/compat/replication/trystero/LiveSyncTrysteroReplicator"; -import { P2POpenReplicationModal } from "./P2POpenReplicationModal"; +import { P2POpenReplicationModal } from "./P2POpenReplicationModal.js"; /** * Creates an openReplicationUI factory for Obsidian environments. diff --git a/src/features/ReviewHarness/ReviewHarnessView.ts b/src/features/ReviewHarness/ReviewHarnessView.ts index b116e9cf..e60bfccd 100644 --- a/src/features/ReviewHarness/ReviewHarnessView.ts +++ b/src/features/ReviewHarness/ReviewHarnessView.ts @@ -1,10 +1,10 @@ -import { ItemView, Notice, Setting, type WorkspaceLeaf } from "@/deps"; +import { ItemView, Notice, Setting, type WorkspaceLeaf } from "@/deps.js"; import { REVIEW_HARNESS_SCENARIOS, type ReviewHarnessScenarioId, type ReviewHarnessScenarioStatus, -} from "./reviewHarnessContract"; -import type { ReviewHarnessController } from "./reviewHarnessController"; +} from "./reviewHarnessContract.js"; +import type { ReviewHarnessController } from "./reviewHarnessController.js"; export const VIEW_TYPE_REVIEW_HARNESS = "self-hosted-livesync-review-harness"; diff --git a/src/features/ReviewHarness/reviewHarnessContract.ts b/src/features/ReviewHarness/reviewHarnessContract.ts index c9faa1e7..f8f1071d 100644 --- a/src/features/ReviewHarness/reviewHarnessContract.ts +++ b/src/features/ReviewHarness/reviewHarnessContract.ts @@ -3,9 +3,9 @@ import type { CompatibilityPause } from "@/common/databaseCompatibility.ts"; import type { ReviewHarnessScenarioResult, ReviewHarnessScenarioStatus, -} from "./reviewHarnessTypes"; +} from "./reviewHarnessTypes.js"; -export type { ReviewHarnessScenarioResult, ReviewHarnessScenarioStatus } from "./reviewHarnessTypes"; +export type { ReviewHarnessScenarioResult, ReviewHarnessScenarioStatus } from "./reviewHarnessTypes.js"; export const REVIEW_HARNESS_SCENARIOS = [ { diff --git a/src/features/ReviewHarness/reviewHarnessController.ts b/src/features/ReviewHarness/reviewHarnessController.ts index 6b84e0c1..c06ce6f0 100644 --- a/src/features/ReviewHarness/reviewHarnessController.ts +++ b/src/features/ReviewHarness/reviewHarnessController.ts @@ -10,7 +10,7 @@ import { type ReviewHarnessReportInput, type ReviewHarnessScenarioId, type ReviewHarnessScenarioResult, -} from "./reviewHarnessContract"; +} from "./reviewHarnessContract.js"; export interface ReviewHarnessRuntime { now(): Date; diff --git a/src/features/ReviewHarness/reviewHarnessVaultFixture.ts b/src/features/ReviewHarness/reviewHarnessVaultFixture.ts index 5fcb3720..0dd84432 100644 --- a/src/features/ReviewHarness/reviewHarnessVaultFixture.ts +++ b/src/features/ReviewHarness/reviewHarnessVaultFixture.ts @@ -1,4 +1,4 @@ -import type { ReviewHarnessScenarioResult } from "./reviewHarnessTypes"; +import type { ReviewHarnessScenarioResult } from "./reviewHarnessTypes.js"; export const REVIEW_HARNESS_FIXTURE_ROOT = "__self-hosted-livesync-review-harness__"; export const REVIEW_HARNESS_SOURCE_FILE = `${REVIEW_HARNESS_FIXTURE_ROOT}/round-trip.md`; diff --git a/src/main.ts b/src/main.ts index fe0e67a4..3eb1d0f8 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,4 +1,4 @@ -import { getLanguage, Notice, Plugin, type App, type PluginManifest } from "./deps"; +import { getLanguage, Notice, Plugin, type App, type PluginManifest } from "./deps.js"; import { setGetLanguage } from "@vrtmrz/livesync-commonlib/compat/common/coreEnvFunctions"; setGetLanguage(getLanguage); import { LiveSyncCommands } from "./features/LiveSyncCommands.ts"; @@ -24,7 +24,7 @@ import { FileAccessObsidian } from "./serviceModules/FileAccessObsidian.ts"; import { StorageEventManagerObsidian } from "./managers/StorageEventManagerObsidian.ts"; import type { ServiceModules } from "./types.ts"; import { setNoticeClass } from "@vrtmrz/livesync-commonlib/compat/mock_and_interop/wrapper"; -import type { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext"; +import type { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext.js"; import { LiveSyncBaseCore } from "./LiveSyncBaseCore.ts"; import { ModuleObsidianMenu } from "./modules/essentialObsidian/ModuleObsidianMenu.ts"; import { ModuleObsidianSettingsAsMarkdown } from "./modules/features/ModuleObsidianSettingAsMarkdown.ts"; @@ -36,8 +36,8 @@ import { useRemoteConfiguration } from "@vrtmrz/livesync-commonlib/compat/servic import { useCheckRemoteSize } from "@vrtmrz/livesync-commonlib/compat/serviceFeatures/checkRemoteSize"; import { useRedFlagFeatures } from "./serviceFeatures/redFlag.ts"; import { useSetupProtocolFeature } from "./serviceFeatures/setupObsidian/setupProtocol.ts"; -import { useSetupQRCodeFeature } from "@/serviceFeatures/setupObsidian/qrCode"; -import { useSetupURIFeature } from "@/serviceFeatures/setupObsidian/setupUri"; +import { useSetupQRCodeFeature } from "@/serviceFeatures/setupObsidian/qrCode.js"; +import { useSetupURIFeature } from "@/serviceFeatures/setupObsidian/setupUri.js"; import { useSetupManagerHandlersFeature } from "./serviceFeatures/setupObsidian/setupManagerHandlers.ts"; import { useP2PReplicatorFeature } from "@vrtmrz/livesync-commonlib/compat/replication/trystero/useP2PReplicatorFeature"; import { useP2PReplicatorCommands } from "@vrtmrz/livesync-commonlib/compat/replication/trystero/useP2PReplicatorCommands"; diff --git a/src/managers/ObsidianStorageEventManagerAdapter.ts b/src/managers/ObsidianStorageEventManagerAdapter.ts index 02ab66db..08f08590 100644 --- a/src/managers/ObsidianStorageEventManagerAdapter.ts +++ b/src/managers/ObsidianStorageEventManagerAdapter.ts @@ -1,4 +1,4 @@ -import { TFile, TFolder } from "@/deps"; +import { TFile, TFolder } from "@/deps.js"; import type { FilePath, UXFileInfoStub, UXInternalFileInfoStub } from "@vrtmrz/livesync-commonlib/compat/common/types"; import type { FileEventItem } from "@vrtmrz/livesync-commonlib/compat/common/types"; import type { IStorageEventManagerAdapter } from "@vrtmrz/livesync-commonlib/compat/managers/adapters"; @@ -11,10 +11,10 @@ import type { IStorageEventWatchHandlers, } from "@vrtmrz/livesync-commonlib/compat/managers/adapters"; import type { FileEventItemSentinel } from "@vrtmrz/livesync-commonlib/compat/managers/StorageEventManager"; -import type ObsidianLiveSyncPlugin from "@/main"; -import type { LiveSyncCore } from "@/main"; +import type ObsidianLiveSyncPlugin from "@/main.js"; +import type { LiveSyncCore } from "@/main.js"; import type { FileProcessingService } from "@vrtmrz/livesync-commonlib/compat/services/base/FileProcessingService"; -import { InternalFileToUXFileInfoStub, TFileToUXFileInfoStub } from "@/modules/coreObsidian/storageLib/utilObsidian"; +import { InternalFileToUXFileInfoStub, TFileToUXFileInfoStub } from "@/modules/coreObsidian/storageLib/utilObsidian.js"; /** * Obsidian-specific type guard adapter diff --git a/src/managers/StorageEventManagerObsidian.ts b/src/managers/StorageEventManagerObsidian.ts index fa7eeeb4..528c3a9f 100644 --- a/src/managers/StorageEventManagerObsidian.ts +++ b/src/managers/StorageEventManagerObsidian.ts @@ -1,8 +1,8 @@ import type { FilePath } from "@vrtmrz/livesync-commonlib/compat/common/types"; -import type ObsidianLiveSyncPlugin from "@/main"; -import type { LiveSyncCore } from "@/main"; +import type ObsidianLiveSyncPlugin from "@/main.js"; +import type { LiveSyncCore } from "@/main.js"; import { StorageEventManagerBase, type StorageEventManagerBaseDependencies } from "@vrtmrz/livesync-commonlib/compat/managers/StorageEventManager"; -import { ObsidianStorageEventManagerAdapter } from "./ObsidianStorageEventManagerAdapter"; +import { ObsidianStorageEventManagerAdapter } from "./ObsidianStorageEventManagerAdapter.js"; export class StorageEventManagerObsidian extends StorageEventManagerBase { core: LiveSyncCore; diff --git a/src/modules/AbstractModule.ts b/src/modules/AbstractModule.ts index e5b8ca63..c6381a1d 100644 --- a/src/modules/AbstractModule.ts +++ b/src/modules/AbstractModule.ts @@ -1,6 +1,6 @@ import { LOG_LEVEL_NOTICE, LOG_LEVEL_VERBOSE, Logger } from "octagonal-wheels/common/logger"; import type { AnyEntry, FilePathWithPrefix } from "@vrtmrz/livesync-commonlib/compat/common/types"; -import type { IMinimumLiveSyncCommands, LiveSyncBaseCore } from "@/LiveSyncBaseCore"; +import type { IMinimumLiveSyncCommands, LiveSyncBaseCore } from "@/LiveSyncBaseCore.js"; import { stripAllPrefixes } from "@vrtmrz/livesync-commonlib/compat/string_and_binary/path"; import { createInstanceLogFunction } from "@vrtmrz/livesync-commonlib/compat/services/lib/logUtils"; import type { ServiceContext } from "@vrtmrz/livesync-commonlib/context"; diff --git a/src/modules/AbstractObsidianModule.ts b/src/modules/AbstractObsidianModule.ts index 0dcfb13f..2c3e6f3c 100644 --- a/src/modules/AbstractObsidianModule.ts +++ b/src/modules/AbstractObsidianModule.ts @@ -1,5 +1,5 @@ -import type { LiveSyncCore } from "@/main"; -import type ObsidianLiveSyncPlugin from "@/main"; +import type { LiveSyncCore } from "@/main.js"; +import type ObsidianLiveSyncPlugin from "@/main.js"; import { AbstractModule } from "./AbstractModule.ts"; export abstract class AbstractObsidianModule extends AbstractModule { diff --git a/src/modules/core/ModulePeriodicProcess.ts b/src/modules/core/ModulePeriodicProcess.ts index 9d8027bc..64537532 100644 --- a/src/modules/core/ModulePeriodicProcess.ts +++ b/src/modules/core/ModulePeriodicProcess.ts @@ -1,6 +1,6 @@ -import { PeriodicProcessor } from "@/common/PeriodicProcessor"; -import type { LiveSyncCore } from "@/main"; -import { AbstractModule } from "@/modules/AbstractModule"; +import { PeriodicProcessor } from "@/common/PeriodicProcessor.js"; +import type { LiveSyncCore } from "@/main.js"; +import { AbstractModule } from "@/modules/AbstractModule.js"; export class ModulePeriodicProcess extends AbstractModule { periodicSyncProcessor = new PeriodicProcessor(this.core, async () => await this.services.replication.replicate()); diff --git a/src/modules/core/ModuleReplicator.ts b/src/modules/core/ModuleReplicator.ts index 7479df4c..976c6a08 100644 --- a/src/modules/core/ModuleReplicator.ts +++ b/src/modules/core/ModuleReplicator.ts @@ -1,6 +1,6 @@ import type PouchDB from "pouchdb-core"; import { fireAndForget } from "octagonal-wheels/promises"; -import { AbstractModule } from "@/modules/AbstractModule"; +import { AbstractModule } from "@/modules/AbstractModule.js"; import { Logger, LOG_LEVEL_NOTICE, LOG_LEVEL_INFO } from "octagonal-wheels/common/logger"; import { skipIfDuplicated } from "octagonal-wheels/concurrency/lock"; import { balanceChunkPurgedDBs } from "@vrtmrz/livesync-commonlib/compat/pouchdb/chunks"; @@ -13,11 +13,11 @@ import { } from "@vrtmrz/livesync-commonlib/compat/common/types"; import { scheduleTask } from "octagonal-wheels/concurrency/task"; -import { EVENT_FILE_SAVED, EVENT_SETTING_SAVED, eventHub } from "@/common/events"; +import { EVENT_FILE_SAVED, EVENT_SETTING_SAVED, eventHub } from "@/common/events.js"; -import { $msg } from "@/common/translation"; -import type { LiveSyncCore } from "@/main"; -import { ReplicateResultProcessor } from "./ReplicateResultProcessor"; +import { $msg } from "@/common/translation.js"; +import type { LiveSyncCore } from "@/main.js"; +import { ReplicateResultProcessor } from "./ReplicateResultProcessor.js"; import { UnresolvedErrorManager } from "@vrtmrz/livesync-commonlib/compat/services/base/UnresolvedErrorManager"; import { clearHandlers } from "@vrtmrz/livesync-commonlib/compat/replication/SyncParamsHandler"; import type { NecessaryServices } from "@vrtmrz/livesync-commonlib/compat/interfaces/ServiceModule"; diff --git a/src/modules/core/ModuleReplicatorCouchDB.ts b/src/modules/core/ModuleReplicatorCouchDB.ts index d96fb5c0..5bfc605f 100644 --- a/src/modules/core/ModuleReplicatorCouchDB.ts +++ b/src/modules/core/ModuleReplicatorCouchDB.ts @@ -2,8 +2,8 @@ import { fireAndForget } from "octagonal-wheels/promises"; import { REMOTE_MINIO, REMOTE_P2P, type RemoteDBSettings } from "@vrtmrz/livesync-commonlib/compat/common/types"; import { LiveSyncCouchDBReplicator } from "@vrtmrz/livesync-commonlib/compat/replication/couchdb/LiveSyncReplicator"; import type { LiveSyncAbstractReplicator } from "@vrtmrz/livesync-commonlib/compat/replication/LiveSyncAbstractReplicator"; -import { AbstractModule } from "@/modules/AbstractModule"; -import type { LiveSyncCore } from "@/main"; +import { AbstractModule } from "@/modules/AbstractModule.js"; +import type { LiveSyncCore } from "@/main.js"; export class ModuleReplicatorCouchDB extends AbstractModule { _anyNewReplicator(settingOverride: Partial = {}): Promise { diff --git a/src/modules/core/ModuleReplicatorMinIO.ts b/src/modules/core/ModuleReplicatorMinIO.ts index 68dcc22e..bd5bf482 100644 --- a/src/modules/core/ModuleReplicatorMinIO.ts +++ b/src/modules/core/ModuleReplicatorMinIO.ts @@ -1,8 +1,8 @@ import { REMOTE_MINIO, type RemoteDBSettings } from "@vrtmrz/livesync-commonlib/compat/common/types"; import { LiveSyncJournalReplicator } from "@vrtmrz/livesync-commonlib/compat/replication/journal/LiveSyncJournalReplicator"; import type { LiveSyncAbstractReplicator } from "@vrtmrz/livesync-commonlib/compat/replication/LiveSyncAbstractReplicator"; -import type { LiveSyncCore } from "@/main"; -import { AbstractModule } from "@/modules/AbstractModule"; +import type { LiveSyncCore } from "@/main.js"; +import { AbstractModule } from "@/modules/AbstractModule.js"; export class ModuleReplicatorMinIO extends AbstractModule { _anyNewReplicator(settingOverride: Partial = {}): Promise { diff --git a/src/modules/core/ReplicateResultProcessor.ts b/src/modules/core/ReplicateResultProcessor.ts index e6840439..5e5f2beb 100644 --- a/src/modules/core/ReplicateResultProcessor.ts +++ b/src/modules/core/ReplicateResultProcessor.ts @@ -7,7 +7,7 @@ import { type LoadedEntry, type MetaEntry, } from "@vrtmrz/livesync-commonlib/compat/common/types"; -import type { ModuleReplicator } from "./ModuleReplicator"; +import type { ModuleReplicator } from "./ModuleReplicator.js"; import { isChunk } from "@vrtmrz/livesync-commonlib/compat/common/typeUtils"; import { LOG_LEVEL_DEBUG, @@ -21,7 +21,7 @@ import { fireAndForget, isAnyNote, throttle } from "@vrtmrz/livesync-commonlib/c import { Semaphore } from "octagonal-wheels/concurrency/semaphore_v2"; import { serialized } from "octagonal-wheels/concurrency/lock"; import type { ReactiveSource } from "octagonal-wheels/dataobject/reactive_v2"; -import type { LiveSyncBaseCore } from "@/LiveSyncBaseCore"; +import type { LiveSyncBaseCore } from "@/LiveSyncBaseCore.js"; import { isNotFoundError } from "@vrtmrz/livesync-commonlib/compat/common/utils.doc"; import type PouchDB from "pouchdb-core"; import { promiseWithResolvers, type PromiseWithResolvers } from "octagonal-wheels/promises"; diff --git a/src/modules/coreFeatures/ModuleResolveMismatchedTweaks.ts b/src/modules/coreFeatures/ModuleResolveMismatchedTweaks.ts index b93fb3d9..feff4ac3 100644 --- a/src/modules/coreFeatures/ModuleResolveMismatchedTweaks.ts +++ b/src/modules/coreFeatures/ModuleResolveMismatchedTweaks.ts @@ -15,7 +15,7 @@ import { } from "@vrtmrz/livesync-commonlib/compat/common/types"; import { escapeMarkdownValue } from "@vrtmrz/livesync-commonlib/compat/common/utils"; import { AbstractModule } from "@/modules/AbstractModule.ts"; -import { $msg } from "@/common/translation"; +import { $msg } from "@/common/translation.js"; import type { InjectableServiceHub } from "@vrtmrz/livesync-commonlib/compat/services/implements/injectable/InjectableServiceHub"; import type { LiveSyncCore } from "@/main.ts"; import { REMOTE_P2P } from "@vrtmrz/livesync-commonlib/compat/common/models/setting.const"; diff --git a/src/modules/essential/ModuleBasicMenu.ts b/src/modules/essential/ModuleBasicMenu.ts index 06d27450..09be2bfa 100644 --- a/src/modules/essential/ModuleBasicMenu.ts +++ b/src/modules/essential/ModuleBasicMenu.ts @@ -1,9 +1,9 @@ -import type { LiveSyncCore } from "@/main"; +import type { LiveSyncCore } from "@/main.js"; import { LOG_LEVEL_NOTICE } from "octagonal-wheels/common/logger"; import { fireAndForget } from "octagonal-wheels/promises"; -import { AbstractModule } from "@/modules/AbstractModule"; -import { $msg } from "@/common/translation"; -import { copyFileDatabaseInfo } from "@/serviceFeatures/fileDatabaseInfo"; +import { AbstractModule } from "@/modules/AbstractModule.js"; +import { $msg } from "@/common/translation.js"; +import { copyFileDatabaseInfo } from "@/serviceFeatures/fileDatabaseInfo.js"; // Separated Module for basic menu commands, which are not related to obsidian specific features. It is expected to be used in other platforms with minimal changes. // However, it is odd that it has here at all; it really ought to be in each respective feature. It will likely be moved eventually. Until now, addCommand pointed to Obsidian's version. export class ModuleBasicMenu extends AbstractModule { diff --git a/src/modules/essential/ModuleMigration.ts b/src/modules/essential/ModuleMigration.ts index 280140ef..ef323b95 100644 --- a/src/modules/essential/ModuleMigration.ts +++ b/src/modules/essential/ModuleMigration.ts @@ -13,7 +13,7 @@ import { eventHub, } from "@/common/events.ts"; import { AbstractModule } from "@/modules/AbstractModule.ts"; -import { $msg } from "@/common/translation"; +import { $msg } from "@/common/translation.js"; import { performDoctorConsultation, RebuildOptions } from "@vrtmrz/livesync-commonlib/compat/common/configForDoc"; import { isValidPath } from "@/common/utils.ts"; import { isMetaEntry } from "@vrtmrz/livesync-commonlib/compat/common/types"; diff --git a/src/modules/essentialObsidian/ModuleObsidianMenu.ts b/src/modules/essentialObsidian/ModuleObsidianMenu.ts index 911d5c6e..060b8e20 100644 --- a/src/modules/essentialObsidian/ModuleObsidianMenu.ts +++ b/src/modules/essentialObsidian/ModuleObsidianMenu.ts @@ -1,5 +1,5 @@ import { addIcon } from "@/deps.ts"; -import { $msg } from "@/common/translation"; +import { $msg } from "@/common/translation.js"; import type { LiveSyncCore } from "@/main.ts"; import { AbstractModule } from "@/modules/AbstractModule.ts"; // Obsidian specific menu commands. diff --git a/src/modules/extras/ModuleDev.ts b/src/modules/extras/ModuleDev.ts index b74b94ec..cae53af8 100644 --- a/src/modules/extras/ModuleDev.ts +++ b/src/modules/extras/ModuleDev.ts @@ -1,5 +1,5 @@ import { delay } from "octagonal-wheels/promises"; -import { __onMissingTranslation } from "@/common/translation"; +import { __onMissingTranslation } from "@/common/translation.js"; import { AbstractObsidianModule } from "@/modules/AbstractObsidianModule.ts"; import { LOG_LEVEL_VERBOSE } from "octagonal-wheels/common/logger"; // import { enableTestFunction } from "./devUtil/testUtils.ts"; diff --git a/src/modules/features/Log/LogPaneView.ts b/src/modules/features/Log/LogPaneView.ts index 0e7b8bb2..36b03ef9 100644 --- a/src/modules/features/Log/LogPaneView.ts +++ b/src/modules/features/Log/LogPaneView.ts @@ -2,7 +2,7 @@ import { WorkspaceLeaf } from "@/deps.ts"; import LogPaneComponent from "./LogPane.svelte"; import type ObsidianLiveSyncPlugin from "@/main.ts"; import { SvelteItemView } from "@/common/SvelteItemView.ts"; -import { $msg } from "@/common/translation"; +import { $msg } from "@/common/translation.js"; import { mount } from "svelte"; export const VIEW_TYPE_LOG = "log-log"; //Log view diff --git a/src/modules/features/ModuleLog.ts b/src/modules/features/ModuleLog.ts index b44334ba..12705204 100644 --- a/src/modules/features/ModuleLog.ts +++ b/src/modules/features/ModuleLog.ts @@ -29,7 +29,7 @@ import { addIcon, debounce, normalizePath, Notice, stringifyYaml, type Workspace import { LOG_LEVEL_NOTICE, setGlobalLogFunction } from "octagonal-wheels/common/logger"; import { LogPaneView, VIEW_TYPE_LOG } from "./Log/LogPaneView.ts"; import { serialized } from "octagonal-wheels/concurrency/lock"; -import { $msg } from "@/common/translation"; +import { $msg } from "@/common/translation.js"; import { P2PLogCollector } from "@vrtmrz/livesync-commonlib/compat/replication/trystero/P2PLogCollector"; import { REMOTE_REQUEST_ACTIVITY_MINIMUM_VISIBLE_MS, diff --git a/src/modules/features/ModuleObsidianSettingAsMarkdown.ts b/src/modules/features/ModuleObsidianSettingAsMarkdown.ts index cbbdab3e..68da95cb 100644 --- a/src/modules/features/ModuleObsidianSettingAsMarkdown.ts +++ b/src/modules/features/ModuleObsidianSettingAsMarkdown.ts @@ -1,13 +1,13 @@ // import { PouchDB } from "../../lib/src/pouchdb/pouchdb-browser"; import { isObjectDifferent } from "octagonal-wheels/object"; -import { EVENT_SETTING_SAVED, eventHub } from "@/common/events"; +import { EVENT_SETTING_SAVED, eventHub } from "@/common/events.js"; import { fireAndForget } from "octagonal-wheels/promises"; import { DEFAULT_SETTINGS, type FilePathWithPrefix, type ObsidianLiveSyncSettings, } from "@vrtmrz/livesync-commonlib/compat/common/types"; -import { parseYaml, stringifyYaml, type Editor, type MarkdownView } from "@/deps"; +import { parseYaml, stringifyYaml, type Editor, type MarkdownView } from "@/deps.js"; import { LOG_LEVEL_DEBUG, LOG_LEVEL_INFO, LOG_LEVEL_NOTICE, LOG_LEVEL_VERBOSE } from "octagonal-wheels/common/logger"; import { AbstractModule } from "@/modules/AbstractModule.ts"; import type { ServiceContext } from "@vrtmrz/livesync-commonlib/context"; diff --git a/src/modules/features/SettingDialogue/LiveSyncSetting.ts b/src/modules/features/SettingDialogue/LiveSyncSetting.ts index b7876678..5d58ceaf 100644 --- a/src/modules/features/SettingDialogue/LiveSyncSetting.ts +++ b/src/modules/features/SettingDialogue/LiveSyncSetting.ts @@ -18,7 +18,7 @@ import { type AllNumericItemKey, type AllBooleanItemKey, } from "./settingConstants.ts"; -import { $msg } from "@/common/translation"; +import { $msg } from "@/common/translation.js"; import { wrapMemo, type AutoWireOption, type OnUpdateResult } from "./SettingPane.ts"; export class LiveSyncSetting extends Setting { diff --git a/src/modules/features/SettingDialogue/ObsidianLiveSyncSettingTab.ts b/src/modules/features/SettingDialogue/ObsidianLiveSyncSettingTab.ts index 8e6e04c0..872c8d43 100644 --- a/src/modules/features/SettingDialogue/ObsidianLiveSyncSettingTab.ts +++ b/src/modules/features/SettingDialogue/ObsidianLiveSyncSettingTab.ts @@ -30,7 +30,7 @@ import { type OnDialogSettings, getConfName, } from "./settingConstants.ts"; -import { $msg } from "@/common/translation"; +import { $msg } from "@/common/translation.js"; import { LiveSyncSetting as Setting } from "./LiveSyncSetting.ts"; import { fireAndForget, yieldNextAnimationFrame } from "octagonal-wheels/promises"; import { EVENT_REQUEST_RELOAD_SETTING_TAB, eventHub } from "@/common/events.ts"; diff --git a/src/modules/features/SettingDialogue/PaneGeneral.ts b/src/modules/features/SettingDialogue/PaneGeneral.ts index cb826100..8650e3fc 100644 --- a/src/modules/features/SettingDialogue/PaneGeneral.ts +++ b/src/modules/features/SettingDialogue/PaneGeneral.ts @@ -1,5 +1,5 @@ -import { $msg, $t } from "@/common/translation"; -import { SUPPORTED_I18N_LANGS, type I18N_LANGS } from "@/common/rosetta"; +import { $msg, $t } from "@/common/translation.js"; +import { SUPPORTED_I18N_LANGS, type I18N_LANGS } from "@/common/rosetta.js"; import { LiveSyncSetting as Setting } from "./LiveSyncSetting.ts"; import type { ObsidianLiveSyncSettingTab } from "./ObsidianLiveSyncSettingTab.ts"; import type { PageFunctions } from "./SettingPane.ts"; diff --git a/src/modules/features/SettingDialogue/PaneHatch.ts b/src/modules/features/SettingDialogue/PaneHatch.ts index 16118413..57fac8ed 100644 --- a/src/modules/features/SettingDialogue/PaneHatch.ts +++ b/src/modules/features/SettingDialogue/PaneHatch.ts @@ -11,7 +11,7 @@ import { createBlob, escapeMarkdownValue, readAsBlob } from "@vrtmrz/livesync-co import { Logger } from "@vrtmrz/livesync-commonlib/compat/common/logger"; import { shouldBeIgnored } from "@vrtmrz/livesync-commonlib/compat/string_and_binary/path"; import { Menu, diff_match_patch, setIcon } from "@/deps.ts"; -import { $msg } from "@/common/translation"; +import { $msg } from "@/common/translation.js"; import { Semaphore } from "octagonal-wheels/concurrency/semaphore"; import { LiveSyncSetting as Setting } from "./LiveSyncSetting.ts"; import { diff --git a/src/modules/features/SettingDialogue/PaneMaintenance.ts b/src/modules/features/SettingDialogue/PaneMaintenance.ts index 47fd1424..06eb0b39 100644 --- a/src/modules/features/SettingDialogue/PaneMaintenance.ts +++ b/src/modules/features/SettingDialogue/PaneMaintenance.ts @@ -4,8 +4,8 @@ import { FlagFilesHumanReadable, FLAGMD_REDFLAG } from "@vrtmrz/livesync-commonl import { fireAndForget } from "@vrtmrz/livesync-commonlib/compat/common/utils"; import { LiveSyncCouchDBReplicator } from "@vrtmrz/livesync-commonlib/compat/replication/couchdb/LiveSyncReplicator"; import { LiveSyncSetting as Setting } from "./LiveSyncSetting.ts"; -import type { ObsidianLiveSyncSettingTab } from "./ObsidianLiveSyncSettingTab"; -import { visibleOnly, type PageFunctions } from "./SettingPane"; +import type { ObsidianLiveSyncSettingTab } from "./ObsidianLiveSyncSettingTab.js"; +import { visibleOnly, type PageFunctions } from "./SettingPane.js"; export function paneMaintenance( this: ObsidianLiveSyncSettingTab, paneEl: HTMLElement, diff --git a/src/modules/features/SettingDialogue/PaneRemoteConfig.ts b/src/modules/features/SettingDialogue/PaneRemoteConfig.ts index 9ec37c56..c0e54673 100644 --- a/src/modules/features/SettingDialogue/PaneRemoteConfig.ts +++ b/src/modules/features/SettingDialogue/PaneRemoteConfig.ts @@ -8,7 +8,7 @@ import { LOG_LEVEL_VERBOSE, } from "@vrtmrz/livesync-commonlib/compat/common/types"; import { Menu, type ButtonComponent } from "@/deps.ts"; -import { $msg } from "@/common/translation"; +import { $msg } from "@/common/translation.js"; import { LiveSyncSetting as Setting } from "./LiveSyncSetting.ts"; import type { ObsidianLiveSyncSettingTab } from "./ObsidianLiveSyncSettingTab.ts"; import type { PageFunctions } from "./SettingPane.ts"; diff --git a/src/modules/features/SettingDialogue/PaneSetup.ts b/src/modules/features/SettingDialogue/PaneSetup.ts index 1fd66675..bf0e8ed0 100644 --- a/src/modules/features/SettingDialogue/PaneSetup.ts +++ b/src/modules/features/SettingDialogue/PaneSetup.ts @@ -1,5 +1,5 @@ import { MarkdownRenderer } from "@/deps.ts"; -import { $msg } from "@/common/translation"; +import { $msg } from "@/common/translation.js"; import { LiveSyncSetting as Setting } from "./LiveSyncSetting.ts"; import { fireAndForget } from "octagonal-wheels/promises"; import { diff --git a/src/modules/features/SettingDialogue/PaneSyncSettings.ts b/src/modules/features/SettingDialogue/PaneSyncSettings.ts index 1f9edc52..faf66cd5 100644 --- a/src/modules/features/SettingDialogue/PaneSyncSettings.ts +++ b/src/modules/features/SettingDialogue/PaneSyncSettings.ts @@ -1,6 +1,6 @@ import { type ObsidianLiveSyncSettings, LOG_LEVEL_NOTICE, REMOTE_COUCHDB, LEVEL_ADVANCED } from "@vrtmrz/livesync-commonlib/compat/common/types"; import { Logger } from "@vrtmrz/livesync-commonlib/compat/common/logger"; -import { $msg } from "@/common/translation"; +import { $msg } from "@/common/translation.js"; import { LiveSyncSetting as Setting } from "./LiveSyncSetting.ts"; import { EVENT_REQUEST_COPY_SETUP_URI, eventHub } from "@/common/events.ts"; import type { ObsidianLiveSyncSettingTab } from "./ObsidianLiveSyncSettingTab.ts"; diff --git a/src/modules/features/SettingDialogue/SettingPane.ts b/src/modules/features/SettingDialogue/SettingPane.ts index b3cd4e1b..3d375338 100644 --- a/src/modules/features/SettingDialogue/SettingPane.ts +++ b/src/modules/features/SettingDialogue/SettingPane.ts @@ -1,6 +1,6 @@ -import { $msg } from "@/common/translation"; +import { $msg } from "@/common/translation.js"; import { LEVEL_ADVANCED, LEVEL_EDGE_CASE, LEVEL_POWER_USER, type ConfigLevel } from "@vrtmrz/livesync-commonlib/compat/common/types"; -import type { AllSettingItemKey, AllSettings } from "./settingConstants"; +import type { AllSettingItemKey, AllSettings } from "./settingConstants.js"; export const combineOnUpdate = (func1: OnUpdateFunc, func2: OnUpdateFunc): OnUpdateFunc => { return () => ({ diff --git a/src/modules/features/SettingDialogue/settingUtils.ts b/src/modules/features/SettingDialogue/settingUtils.ts index 8fc43895..b3ca7e44 100644 --- a/src/modules/features/SettingDialogue/settingUtils.ts +++ b/src/modules/features/SettingDialogue/settingUtils.ts @@ -6,7 +6,7 @@ import { pickP2PSyncSettings, pickEncryptionSettings, } from "@vrtmrz/livesync-commonlib/compat/common/utils"; -import { getConfig, type AllSettingItemKey } from "./settingConstants"; +import { getConfig, type AllSettingItemKey } from "./settingConstants.js"; import { LOG_LEVEL_NOTICE, Logger } from "octagonal-wheels/common/logger"; import { isNotFoundError } from "@vrtmrz/livesync-commonlib/compat/common/utils.doc"; import type PouchDB from "pouchdb-core"; diff --git a/src/modules/features/SettingDialogue/utilFixCouchDBSetting.ts b/src/modules/features/SettingDialogue/utilFixCouchDBSetting.ts index 4a72be8e..84485c52 100644 --- a/src/modules/features/SettingDialogue/utilFixCouchDBSetting.ts +++ b/src/modules/features/SettingDialogue/utilFixCouchDBSetting.ts @@ -1,5 +1,5 @@ -import { requestToCouchDBWithCredentials } from "@/common/utils"; -import { $msg } from "@/common/translation"; +import { requestToCouchDBWithCredentials } from "@/common/utils.js"; +import { $msg } from "@/common/translation.js"; import { LOG_LEVEL_INFO, LOG_LEVEL_NOTICE, @@ -12,7 +12,7 @@ import { isCloudantURI } from "@vrtmrz/livesync-commonlib/compat/pouchdb/utils_c import { generateCredentialObject } from "@vrtmrz/livesync-commonlib/compat/replication/httplib"; import { compatGlobal } from "@vrtmrz/livesync-commonlib/compat/common/coreEnvFunctions"; import { isUnauthorizedError } from "@vrtmrz/livesync-commonlib/compat/common/utils.doc"; -import { normaliseCouchDBConfiguration } from "@/common/couchdbConfiguration"; +import { normaliseCouchDBConfiguration } from "@/common/couchdbConfiguration.js"; export const checkConfig = async ( checkResultDiv: HTMLDivElement | undefined, diff --git a/src/modules/features/SetupWizard/dialogs/couchDBServerFixConfirmation.ts b/src/modules/features/SetupWizard/dialogs/couchDBServerFixConfirmation.ts index 433594dd..ca8adc73 100644 --- a/src/modules/features/SetupWizard/dialogs/couchDBServerFixConfirmation.ts +++ b/src/modules/features/SetupWizard/dialogs/couchDBServerFixConfirmation.ts @@ -1,4 +1,4 @@ -import { $msg } from "@/common/translation"; +import { $msg } from "@/common/translation.js"; export function getCouchDBServerFixConfirmation(settingKey: string, expectedValue: string) { return { diff --git a/src/modules/features/SetupWizard/dialogs/utilCheckCouchDB.ts b/src/modules/features/SetupWizard/dialogs/utilCheckCouchDB.ts index ed34d166..464351ee 100644 --- a/src/modules/features/SetupWizard/dialogs/utilCheckCouchDB.ts +++ b/src/modules/features/SetupWizard/dialogs/utilCheckCouchDB.ts @@ -1,5 +1,5 @@ -import { requestToCouchDBWithCredentials } from "@/common/utils"; -import { $msg } from "@/common/translation"; +import { requestToCouchDBWithCredentials } from "@/common/utils.js"; +import { $msg } from "@/common/translation.js"; import { Logger } from "@vrtmrz/livesync-commonlib/compat/common/logger"; import type { ObsidianLiveSyncSettings } from "@vrtmrz/livesync-commonlib/compat/common/types"; import { parseHeaderValues } from "@vrtmrz/livesync-commonlib/compat/common/utils"; @@ -7,7 +7,7 @@ import { isCloudantURI } from "@vrtmrz/livesync-commonlib/compat/pouchdb/utils_c import { generateCredentialObject } from "@vrtmrz/livesync-commonlib/compat/replication/httplib"; import { compatGlobal } from "@vrtmrz/livesync-commonlib/compat/common/coreEnvFunctions"; import { isUnauthorizedError } from "@vrtmrz/livesync-commonlib/compat/common/utils.doc"; -import { normaliseCouchDBConfiguration } from "@/common/couchdbConfiguration"; +import { normaliseCouchDBConfiguration } from "@/common/couchdbConfiguration.js"; export type ResultMessage = { message: string; classes: string[] }; export type ResultErrorMessage = { message: string; result: "error"; classes: string[] }; diff --git a/src/modules/main/ModuleLiveSyncMain.ts b/src/modules/main/ModuleLiveSyncMain.ts index 2dc32c2f..10c17ebb 100644 --- a/src/modules/main/ModuleLiveSyncMain.ts +++ b/src/modules/main/ModuleLiveSyncMain.ts @@ -11,7 +11,7 @@ import { EVENT_SETTING_SAVED, eventHub, } from "@/common/events.ts"; -import { $msg, setLang } from "@/common/translation"; +import { $msg, setLang } from "@/common/translation.js"; import { AbstractModule } from "@/modules/AbstractModule.ts"; import type { InjectableServiceHub } from "@vrtmrz/livesync-commonlib/compat/services/implements/injectable/InjectableServiceHub"; import type { LiveSyncCore } from "@/main.ts"; diff --git a/src/modules/services/ObsidianAPIService.ts b/src/modules/services/ObsidianAPIService.ts index c455d172..26ea49ba 100644 --- a/src/modules/services/ObsidianAPIService.ts +++ b/src/modules/services/ObsidianAPIService.ts @@ -1,10 +1,10 @@ import { InjectableAPIService } from "@vrtmrz/livesync-commonlib/compat/services/implements/injectable/InjectableAPIService"; -import type { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext"; +import type { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext.js"; import { Platform, type Command, type ViewCreator } from "@/deps.ts"; -import { ObsHttpHandler } from "@/modules/essentialObsidian/APILib/ObsHttpHandler"; -import { ObsidianConfirm } from "./ObsidianConfirm"; +import { ObsHttpHandler } from "@/modules/essentialObsidian/APILib/ObsHttpHandler.js"; +import { ObsidianConfirm } from "./ObsidianConfirm.js"; import type { Confirm } from "@vrtmrz/livesync-commonlib/compat/interfaces/Confirm"; -import { requestUrl, type RequestUrlParam } from "@/deps"; +import { requestUrl, type RequestUrlParam } from "@/deps.js"; import { compatGlobal } from "@vrtmrz/livesync-commonlib/compat/common/coreEnvFunctions"; // All Services will be migrated to be based on Plain Services, not Injectable Services. // This is a migration step. diff --git a/src/modules/services/ObsidianAppLifecycleService.ts b/src/modules/services/ObsidianAppLifecycleService.ts index e2888a7a..10d105cf 100644 --- a/src/modules/services/ObsidianAppLifecycleService.ts +++ b/src/modules/services/ObsidianAppLifecycleService.ts @@ -1,5 +1,5 @@ import { AppLifecycleServiceBase } from "@vrtmrz/livesync-commonlib/compat/services/implements/injectable/InjectableAppLifecycleService"; -import type { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext"; +import type { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext.js"; declare module "obsidian" { interface App { commands: { diff --git a/src/modules/services/ObsidianConfirm.ts b/src/modules/services/ObsidianConfirm.ts index f9197e02..e5d74ca5 100644 --- a/src/modules/services/ObsidianConfirm.ts +++ b/src/modules/services/ObsidianConfirm.ts @@ -1,11 +1,11 @@ -import { type App, type Plugin, Notice } from "@/deps"; -import { scheduleTask, memoIfNotExist, memoObject, retrieveMemoObject, disposeMemoObject } from "@/common/utils"; -import { EVENT_PLUGIN_UNLOADED } from "@/common/events"; -import { $msg } from "@/common/translation"; +import { type App, type Plugin, Notice } from "@/deps.js"; +import { scheduleTask, memoIfNotExist, memoObject, retrieveMemoObject, disposeMemoObject } from "@/common/utils.js"; +import { EVENT_PLUGIN_UNLOADED } from "@/common/events.js"; +import { $msg } from "@/common/translation.js"; import type { Confirm, ConfirmActionLayout } from "@vrtmrz/livesync-commonlib/compat/interfaces/Confirm"; import { confirmAction, pickOne, promptPassword, promptText } from "@vrtmrz/obsidian-plugin-kit"; -import type { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext"; -import { confirmWithMessageWithWideButton } from "@/modules/coreObsidian/UILib/dialogs"; +import type { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext.js"; +import { confirmWithMessageWithWideButton } from "@/modules/coreObsidian/UILib/dialogs.js"; export class ObsidianConfirm implements Confirm { private _context: T; diff --git a/src/modules/services/ObsidianDatabaseService.ts b/src/modules/services/ObsidianDatabaseService.ts index 2768a601..f3f81d43 100644 --- a/src/modules/services/ObsidianDatabaseService.ts +++ b/src/modules/services/ObsidianDatabaseService.ts @@ -1,7 +1,7 @@ -import { initializeStores } from "@/common/stores"; +import { initializeStores } from "@/common/stores.js"; // import { InjectableDatabaseService } from "@/lib/src/services/implements/injectable/InjectableDatabaseService"; -import type { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext"; +import type { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext.js"; import { DatabaseService, type DatabaseServiceDependencies } from "@vrtmrz/livesync-commonlib/compat/services/base/DatabaseService"; export class ObsidianDatabaseService extends DatabaseService { diff --git a/src/modules/services/ObsidianPathService.ts b/src/modules/services/ObsidianPathService.ts index 12dee2b0..11ecc511 100644 --- a/src/modules/services/ObsidianPathService.ts +++ b/src/modules/services/ObsidianPathService.ts @@ -1,5 +1,5 @@ -import type { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext"; -import { normalizePath } from "@/deps"; +import type { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext.js"; +import { normalizePath } from "@/deps.js"; import { PathService } from "@vrtmrz/livesync-commonlib/compat/services/base/PathService"; import { @@ -10,7 +10,7 @@ import { unmarkChanges, compareFileFreshness, isMarkedAsSameChanges, -} from "@/common/utils"; +} from "@/common/utils.js"; import type { UXFileInfo, AnyEntry, UXFileInfoStub, FilePathWithPrefix } from "@vrtmrz/livesync-commonlib/compat/common/types"; export class ObsidianPathService extends PathService { override markChangesAreSame( diff --git a/src/modules/services/ObsidianServiceContext.ts b/src/modules/services/ObsidianServiceContext.ts index 694b336e..14885adf 100644 --- a/src/modules/services/ObsidianServiceContext.ts +++ b/src/modules/services/ObsidianServiceContext.ts @@ -1,9 +1,9 @@ -import type ObsidianLiveSyncPlugin from "@/main"; -import type { App, Plugin } from "@/deps"; +import type ObsidianLiveSyncPlugin from "@/main.js"; +import type { App, Plugin } from "@/deps.js"; import { ServiceContext } from "@vrtmrz/livesync-commonlib/context"; -import { eventHub } from "@/common/events"; -import { translateLiveSyncMessage } from "@/common/translation"; -import type { ObsidianNoticeGroups } from "./ObsidianNoticeGroups"; +import { eventHub } from "@/common/events.js"; +import { translateLiveSyncMessage } from "@/common/translation.js"; +import type { ObsidianNoticeGroups } from "./ObsidianNoticeGroups.js"; /** Host capabilities owned by one Self-hosted LiveSync plug-in instance. */ export class ObsidianServiceContext extends ServiceContext { diff --git a/src/modules/services/ObsidianServiceHub.ts b/src/modules/services/ObsidianServiceHub.ts index a5d25801..1356168d 100644 --- a/src/modules/services/ObsidianServiceHub.ts +++ b/src/modules/services/ObsidianServiceHub.ts @@ -1,7 +1,7 @@ import { InjectableServiceHub } from "@vrtmrz/livesync-commonlib/compat/services/implements/injectable/InjectableServiceHub"; -import { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext"; +import { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext.js"; import type { ServiceInstances } from "@vrtmrz/livesync-commonlib/compat/services/ServiceHub"; -import type ObsidianLiveSyncPlugin from "@/main"; +import type ObsidianLiveSyncPlugin from "@/main.js"; import { ObsidianConflictService, ObsidianFileProcessingService, @@ -14,19 +14,19 @@ import { ObsidianConfigService, ObsidianKeyValueDBService, ObsidianControlService, -} from "./ObsidianServices"; -import { ObsidianSettingService } from "./ObsidianSettingService"; -import { ObsidianDatabaseService } from "./ObsidianDatabaseService"; -import { ObsidianAPIService } from "./ObsidianAPIService"; -import { ObsidianAppLifecycleService } from "./ObsidianAppLifecycleService"; -import { ObsidianPathService } from "./ObsidianPathService"; -import { ObsidianVaultService } from "./ObsidianVaultService"; -import { ObsidianUIService } from "./ObsidianUIService"; +} from "./ObsidianServices.js"; +import { ObsidianSettingService } from "./ObsidianSettingService.js"; +import { ObsidianDatabaseService } from "./ObsidianDatabaseService.js"; +import { ObsidianAPIService } from "./ObsidianAPIService.js"; +import { ObsidianAppLifecycleService } from "./ObsidianAppLifecycleService.js"; +import { ObsidianPathService } from "./ObsidianPathService.js"; +import { ObsidianVaultService } from "./ObsidianVaultService.js"; +import { ObsidianUIService } from "./ObsidianUIService.js"; import { createScreenWakeLockManager } from "octagonal-wheels/browser/wakeLock"; import { PouchDB } from "@vrtmrz/livesync-commonlib/compat/pouchdb/pouchdb-browser"; -import { OpenKeyValueDatabase } from "@/common/KeyValueDB"; -import { ObsidianNoticeGroupManager } from "./ObsidianNoticeGroups"; -import { setLang } from "@/common/translation"; +import { OpenKeyValueDatabase } from "@/common/KeyValueDB.js"; +import { ObsidianNoticeGroupManager } from "./ObsidianNoticeGroups.js"; +import { setLang } from "@/common/translation.js"; // InjectableServiceHub diff --git a/src/modules/services/ObsidianServices.ts b/src/modules/services/ObsidianServices.ts index daf43e48..30484f0b 100644 --- a/src/modules/services/ObsidianServices.ts +++ b/src/modules/services/ObsidianServices.ts @@ -7,7 +7,7 @@ import { InjectableReplicatorService } from "@vrtmrz/livesync-commonlib/compat/s import { InjectableTestService } from "@vrtmrz/livesync-commonlib/compat/services/implements/injectable/InjectableTestService"; import { InjectableTweakValueService } from "@vrtmrz/livesync-commonlib/compat/services/implements/injectable/InjectableTweakValueService"; import { ConfigServiceBrowserCompat } from "@vrtmrz/livesync-commonlib/compat/services/implements/browser/ConfigServiceBrowserCompat"; -import type { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext"; +import type { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext.js"; import { KeyValueDBService } from "@vrtmrz/livesync-commonlib/compat/services/base/KeyValueDBService"; import { ControlService } from "@vrtmrz/livesync-commonlib/compat/services/base/ControlService"; import { reactiveSource } from "octagonal-wheels/dataobject/reactive"; diff --git a/src/modules/services/ObsidianSettingService.ts b/src/modules/services/ObsidianSettingService.ts index a934ebd1..f83f7651 100644 --- a/src/modules/services/ObsidianSettingService.ts +++ b/src/modules/services/ObsidianSettingService.ts @@ -8,7 +8,7 @@ import { SettingService, type SettingServiceDependencies, } from "@vrtmrz/livesync-commonlib/compat/services/base/SettingService"; -import type { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext"; +import type { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext.js"; export function normaliseObsidianSettingsData(data: unknown): ObsidianLiveSyncSettings | undefined { if (typeof data !== "object" || data === null || Array.isArray(data)) return undefined; diff --git a/src/modules/services/ObsidianUIService.ts b/src/modules/services/ObsidianUIService.ts index c5abf23f..8594473e 100644 --- a/src/modules/services/ObsidianUIService.ts +++ b/src/modules/services/ObsidianUIService.ts @@ -2,8 +2,8 @@ import type { ConfigService } from "@vrtmrz/livesync-commonlib/compat/services/b import type { AppLifecycleService } from "@vrtmrz/livesync-commonlib/compat/services/base/AppLifecycleService"; import type { ReplicatorService } from "@vrtmrz/livesync-commonlib/compat/services/base/ReplicatorService"; import { UIService } from "@vrtmrz/livesync-commonlib/compat/services/implements/base/UIService"; -import { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext"; -import { ObsidianSvelteDialogManager } from "./SvelteDialogObsidian"; +import { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext.js"; +import { ObsidianSvelteDialogManager } from "./SvelteDialogObsidian.js"; import DialogToCopy from "@/modules/services/LiveSyncUI/dialogues/DialogueToCopy.svelte"; import type { IAPIService, IControlService } from "@vrtmrz/livesync-commonlib/compat/services/base/IService"; export type ObsidianUIServiceDependencies = { diff --git a/src/modules/services/ObsidianVaultService.ts b/src/modules/services/ObsidianVaultService.ts index e3bd3a91..c080a371 100644 --- a/src/modules/services/ObsidianVaultService.ts +++ b/src/modules/services/ObsidianVaultService.ts @@ -1,6 +1,6 @@ -import { getPathFromTFile, isValidPath } from "@/common/utils"; +import { getPathFromTFile, isValidPath } from "@/common/utils.js"; import { InjectableVaultService } from "@vrtmrz/livesync-commonlib/compat/services/implements/injectable/InjectableVaultService"; -import type { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext"; +import type { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext.js"; import type { FilePath } from "@vrtmrz/livesync-commonlib/compat/common/types"; declare module "obsidian" { diff --git a/src/modules/services/SvelteDialogObsidian.ts b/src/modules/services/SvelteDialogObsidian.ts index 5d3ebfba..ce4338a2 100644 --- a/src/modules/services/SvelteDialogObsidian.ts +++ b/src/modules/services/SvelteDialogObsidian.ts @@ -1,13 +1,13 @@ -import { Modal } from "@/deps"; +import { Modal } from "@/deps.js"; import { SvelteDialogManagerBase, type ComponentHasResult, type SvelteDialogManagerDependencies, } from "@vrtmrz/livesync-commonlib/compat/services/implements/base/SvelteDialog"; -import type { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext"; +import type { ObsidianServiceContext } from "@/modules/services/ObsidianServiceContext.js"; import DialogHost from "@/modules/services/LiveSyncUI/DialogHost.svelte"; -import { SvelteDialogSession } from "@/modules/services/SvelteDialogSession"; +import { SvelteDialogSession } from "@/modules/services/SvelteDialogSession.js"; export class SvelteDialogObsidian extends Modal { private readonly session: SvelteDialogSession; diff --git a/src/serviceFeatures/fileDatabaseInfo.ts b/src/serviceFeatures/fileDatabaseInfo.ts index 40fc01e3..79bd52fd 100644 --- a/src/serviceFeatures/fileDatabaseInfo.ts +++ b/src/serviceFeatures/fileDatabaseInfo.ts @@ -1,4 +1,4 @@ -import { $msg } from "@/common/translation"; +import { $msg } from "@/common/translation.js"; import type { FilePath, FilePathWithPrefix, diff --git a/src/serviceFeatures/fileRepair.ts b/src/serviceFeatures/fileRepair.ts index 64172843..6b6ae92f 100644 --- a/src/serviceFeatures/fileRepair.ts +++ b/src/serviceFeatures/fileRepair.ts @@ -8,7 +8,7 @@ import { type FileDatabaseInfo, type FileDatabaseInfoCore, type RevisionDatabaseInfo, -} from "./fileDatabaseInfo"; +} from "./fileDatabaseInfo.js"; export type FileRepairCore = FileDatabaseInfoCore & { fileHandler: Pick; diff --git a/src/serviceFeatures/fileRepairPresentation.ts b/src/serviceFeatures/fileRepairPresentation.ts index 4906f4cb..546ae6f2 100644 --- a/src/serviceFeatures/fileRepairPresentation.ts +++ b/src/serviceFeatures/fileRepairPresentation.ts @@ -11,7 +11,7 @@ import { isPlainText } from "@vrtmrz/livesync-commonlib/compat/string_and_binary import type { FileRepairInspection, FileRepairRevision, -} from "./fileRepair"; +} from "./fileRepair.js"; export type FileRepairRevisionActions = { compareWithVault: boolean; diff --git a/src/serviceFeatures/onLayoutReady.ts b/src/serviceFeatures/onLayoutReady.ts index 3ddfa0ef..2f8156bf 100644 --- a/src/serviceFeatures/onLayoutReady.ts +++ b/src/serviceFeatures/onLayoutReady.ts @@ -1,3 +1,3 @@ -import { enableI18nFeature } from "./onLayoutReady/enablei18n"; +import { enableI18nFeature } from "./onLayoutReady/enablei18n.js"; export const onLayoutReadyFeatures = [enableI18nFeature]; diff --git a/src/serviceFeatures/onLayoutReady/enablei18n.ts b/src/serviceFeatures/onLayoutReady/enablei18n.ts index 5a83eafb..71d5d0eb 100644 --- a/src/serviceFeatures/onLayoutReady/enablei18n.ts +++ b/src/serviceFeatures/onLayoutReady/enablei18n.ts @@ -1,7 +1,7 @@ -import { getLanguage, Notice, requireApiVersion } from "@/deps"; +import { getLanguage, Notice, requireApiVersion } from "@/deps.js"; import { createServiceFeature } from "@vrtmrz/livesync-commonlib/compat/interfaces/ServiceModule"; -import { SUPPORTED_I18N_LANGS, type I18N_LANGS } from "@/common/rosetta"; -import { $msg, __onMissingTranslation, setLang } from "@/common/translation"; +import { SUPPORTED_I18N_LANGS, type I18N_LANGS } from "@/common/rosetta.js"; +import { $msg, __onMissingTranslation, setLang } from "@/common/translation.js"; import { LOG_LEVEL_VERBOSE } from "octagonal-wheels/common/logger"; function tryGetLanguage(onError: (error: unknown) => void) { diff --git a/src/serviceFeatures/redFlag.simpleFetch.ts b/src/serviceFeatures/redFlag.simpleFetch.ts index 1578ab1c..287eab77 100644 --- a/src/serviceFeatures/redFlag.simpleFetch.ts +++ b/src/serviceFeatures/redFlag.simpleFetch.ts @@ -10,7 +10,7 @@ import { synchroniseAllFilesBetweenDBandStorage, type FullScanOptions, } from "@vrtmrz/livesync-commonlib/compat/serviceFeatures/offlineScanner"; -import { adjustSettingToRemoteIfNeeded, cancelScheduledInitialisation, processVaultInitialisation } from "./redFlag"; +import { adjustSettingToRemoteIfNeeded, cancelScheduledInitialisation, processVaultInitialisation } from "./redFlag.js"; export const SIMPLE_FETCH_STAGE1_REMOTE_WINS = "Overwrite all with remote files"; export const SIMPLE_FETCH_STAGE1_NEWER_WINS = "Compare time and take newer"; diff --git a/src/serviceFeatures/redFlag.ts b/src/serviceFeatures/redFlag.ts index e651465c..f4cc291d 100644 --- a/src/serviceFeatures/redFlag.ts +++ b/src/serviceFeatures/redFlag.ts @@ -17,12 +17,12 @@ import { import type { FetchEverythingResult, RebuildEverythingResult, -} from "@/modules/features/SetupWizard/dialogs/setupDialogTypes"; -import { askAndPerformFastSetupOnScheduledFetchAll } from "./redFlag.simpleFetch"; +} from "@/modules/features/SetupWizard/dialogs/setupDialogTypes.js"; +import { askAndPerformFastSetupOnScheduledFetchAll } from "./redFlag.simpleFetch.js"; import { ConnectionStringParser } from "@vrtmrz/livesync-commonlib/compat/common/ConnectionString"; import { activateRemoteConfiguration } from "@vrtmrz/livesync-commonlib/remote-configurations"; -import { isP2PMainRemote } from "@/common/remoteConfiguration"; -import { $msg } from "@/common/translation"; +import { isP2PMainRemote } from "@/common/remoteConfiguration.js"; +import { $msg } from "@/common/translation.js"; /** * Flag file handler interface, similar to target filter pattern. diff --git a/src/serviceFeatures/setupObsidian/qrCode.ts b/src/serviceFeatures/setupObsidian/qrCode.ts index 844719c2..cf8d1ea2 100644 --- a/src/serviceFeatures/setupObsidian/qrCode.ts +++ b/src/serviceFeatures/setupObsidian/qrCode.ts @@ -6,7 +6,7 @@ import { } from "@vrtmrz/livesync-commonlib/compat/API/processSetting"; import { EVENT_REQUEST_SHOW_SETUP_QR } from "@vrtmrz/livesync-commonlib/compat/events/coreEvents"; import { fireAndForget } from "@vrtmrz/livesync-commonlib/compat/common/utils"; -import type { SetupFeatureHost } from "./types"; +import type { SetupFeatureHost } from "./types.js"; export async function encodeSetupSettingsAsQR(host: SetupFeatureHost) { const settingString = encodeSettingsToQRCodeData(host.services.setting.currentSettings()); diff --git a/src/serviceFeatures/setupObsidian/setupManagerHandlers.ts b/src/serviceFeatures/setupObsidian/setupManagerHandlers.ts index d745a563..07e3191d 100644 --- a/src/serviceFeatures/setupObsidian/setupManagerHandlers.ts +++ b/src/serviceFeatures/setupObsidian/setupManagerHandlers.ts @@ -1,12 +1,12 @@ -import { type SetupManager, UserMode } from "@/modules/features/SetupManager"; -import type { SetupFeatureHost } from "@/serviceFeatures/setupObsidian/types"; +import { type SetupManager, UserMode } from "@/modules/features/SetupManager.js"; +import type { SetupFeatureHost } from "@/serviceFeatures/setupObsidian/types.js"; import { EVENT_REQUEST_OPEN_P2P_SETTINGS, EVENT_REQUEST_OPEN_SETUP_URI, } from "@vrtmrz/livesync-commonlib/compat/events/coreEvents"; import { fireAndForget } from "@vrtmrz/livesync-commonlib/compat/common/utils"; import type { NecessaryServices } from "@vrtmrz/livesync-commonlib/compat/interfaces/ServiceModule"; -import { $msg } from "@/common/translation"; +import { $msg } from "@/common/translation.js"; const ONBOARDING_NOTICE_DURATION_MS = 60_000; diff --git a/src/serviceFeatures/setupObsidian/setupProtocol.ts b/src/serviceFeatures/setupObsidian/setupProtocol.ts index 3c3566ff..804815f6 100644 --- a/src/serviceFeatures/setupObsidian/setupProtocol.ts +++ b/src/serviceFeatures/setupObsidian/setupProtocol.ts @@ -1,10 +1,10 @@ import { LOG_LEVEL_NOTICE, LOG_LEVEL_VERBOSE } from "@vrtmrz/livesync-commonlib/compat/common/types"; import type { LogFunction } from "@vrtmrz/livesync-commonlib/compat/services/lib/logUtils"; import { createInstanceLogFunction } from "@vrtmrz/livesync-commonlib/compat/services/lib/logUtils"; -import type { SetupFeatureHost } from "@/serviceFeatures/setupObsidian/types"; -import { configURIBase } from "@/common/types"; +import type { SetupFeatureHost } from "@/serviceFeatures/setupObsidian/types.js"; +import { configURIBase } from "@/common/types.js"; import type { NecessaryServices } from "@vrtmrz/livesync-commonlib/compat/interfaces/ServiceModule"; -import { type SetupManager, UserMode } from "@/modules/features/SetupManager"; +import { type SetupManager, UserMode } from "@/modules/features/SetupManager.js"; async function handleSetupProtocol(setupManager: SetupManager, conf: Record) { if (conf.settings) { diff --git a/src/serviceFeatures/setupObsidian/setupUri.ts b/src/serviceFeatures/setupObsidian/setupUri.ts index a4fe4aec..0976ad66 100644 --- a/src/serviceFeatures/setupObsidian/setupUri.ts +++ b/src/serviceFeatures/setupObsidian/setupUri.ts @@ -5,7 +5,7 @@ import { encodeSettingsToSetupURI } from "@vrtmrz/livesync-commonlib/compat/API/ import { EVENT_REQUEST_COPY_SETUP_URI } from "@vrtmrz/livesync-commonlib/compat/events/coreEvents"; import { fireAndForget } from "@vrtmrz/livesync-commonlib/compat/common/utils"; import type { NecessaryServices } from "@vrtmrz/livesync-commonlib/compat/interfaces/ServiceModule"; -import type { SetupFeatureHost } from "./types"; +import type { SetupFeatureHost } from "./types.js"; export async function askEncryptingPassphrase(host: SetupFeatureHost): Promise { return await host.services.UI.confirm.askString( diff --git a/src/serviceFeatures/useP2PReplicatorUI.ts b/src/serviceFeatures/useP2PReplicatorUI.ts index a30f6182..e8046cd0 100644 --- a/src/serviceFeatures/useP2PReplicatorUI.ts +++ b/src/serviceFeatures/useP2PReplicatorUI.ts @@ -1,4 +1,4 @@ -import { eventHub, EVENT_REQUEST_OPEN_P2P } from "@/common/events"; +import { eventHub, EVENT_REQUEST_OPEN_P2P } from "@/common/events.js"; import { reactiveSource } from "octagonal-wheels/dataobject/reactive_v2"; import type { NecessaryServices } from "@vrtmrz/livesync-commonlib/compat/interfaces/ServiceModule"; import { type UseP2PReplicatorResult } from "@vrtmrz/livesync-commonlib/compat/replication/trystero/UseP2PReplicatorResult"; @@ -6,9 +6,9 @@ import { P2PLogCollector } from "@vrtmrz/livesync-commonlib/compat/replication/t import { P2PServerStatusPaneView, VIEW_TYPE_P2P_SERVER_STATUS, -} from "@/features/P2PSync/P2PReplicator/P2PServerStatusPaneView"; -import type { LiveSyncCore } from "@/main"; -import type { WorkspaceLeaf } from "@/deps"; +} from "@/features/P2PSync/P2PReplicator/P2PServerStatusPaneView.js"; +import type { LiveSyncCore } from "@/main.js"; +import type { WorkspaceLeaf } from "@/deps.js"; import { REMOTE_P2P } from "@vrtmrz/livesync-commonlib/compat/common/models/setting.const"; import type { ObsidianLiveSyncSettings } from "@vrtmrz/livesync-commonlib/compat/common/models/setting.type"; import { ConnectionStringParser } from "@vrtmrz/livesync-commonlib/compat/common/ConnectionString"; diff --git a/src/serviceFeatures/useReviewHarness.ts b/src/serviceFeatures/useReviewHarness.ts index 04d42755..b9fa03c3 100644 --- a/src/serviceFeatures/useReviewHarness.ts +++ b/src/serviceFeatures/useReviewHarness.ts @@ -1,21 +1,21 @@ import { NEW_VAULT_SETTINGS } from "@vrtmrz/livesync-commonlib/settings"; import { LOG_LEVEL_NOTICE } from "octagonal-wheels/common/logger"; import type { UseP2PReplicatorResult } from "@vrtmrz/livesync-commonlib/compat/replication/trystero/UseP2PReplicatorResult"; -import type ObsidianLiveSyncPlugin from "@/main"; -import type { LiveSyncCore } from "@/main"; -import type { WorkspaceLeaf } from "@/deps"; +import type ObsidianLiveSyncPlugin from "@/main.js"; +import type { LiveSyncCore } from "@/main.js"; +import type { WorkspaceLeaf } from "@/deps.js"; import { ReviewHarnessController, REVIEW_HARNESS_STATE_KEY, type ReviewHarnessRuntime, -} from "@/features/ReviewHarness/reviewHarnessController"; -import { ReviewHarnessView, VIEW_TYPE_REVIEW_HARNESS } from "@/features/ReviewHarness/ReviewHarnessView"; -import type { ReviewHarnessScenarioResult } from "@/features/ReviewHarness/reviewHarnessContract"; +} from "@/features/ReviewHarness/reviewHarnessController.js"; +import { ReviewHarnessView, VIEW_TYPE_REVIEW_HARNESS } from "@/features/ReviewHarness/ReviewHarnessView.js"; +import type { ReviewHarnessScenarioResult } from "@/features/ReviewHarness/reviewHarnessContract.js"; import { REVIEW_HARNESS_FIXTURE_ROOT, runReviewHarnessVaultRoundTrip, -} from "@/features/ReviewHarness/reviewHarnessVaultFixture"; -import type { CompatibilityReviewController } from "./compatibilityReview"; +} from "@/features/ReviewHarness/reviewHarnessVaultFixture.js"; +import type { CompatibilityReviewController } from "./compatibilityReview.js"; async function runVaultRoundTrip(plugin: ObsidianLiveSyncPlugin): Promise { const vault = plugin.app.vault; diff --git a/src/serviceModules/FileAccessObsidian.ts b/src/serviceModules/FileAccessObsidian.ts index 2d5cacb0..d7d99132 100644 --- a/src/serviceModules/FileAccessObsidian.ts +++ b/src/serviceModules/FileAccessObsidian.ts @@ -1,6 +1,6 @@ -import { type App } from "@/deps"; +import { type App } from "@/deps.js"; import { FileAccessBase, type FileAccessBaseDependencies } from "@vrtmrz/livesync-commonlib/compat/serviceModules/FileAccessBase"; -import { ObsidianFileSystemAdapter } from "./FileSystemAdapters/ObsidianFileSystemAdapter"; +import { ObsidianFileSystemAdapter } from "./FileSystemAdapters/ObsidianFileSystemAdapter.js"; /** * Obsidian-specific implementation of FileAccessBase diff --git a/src/serviceModules/FileSystemAdapters/ObsidianConversionAdapter.ts b/src/serviceModules/FileSystemAdapters/ObsidianConversionAdapter.ts index 179d4d9d..b7a408c9 100644 --- a/src/serviceModules/FileSystemAdapters/ObsidianConversionAdapter.ts +++ b/src/serviceModules/FileSystemAdapters/ObsidianConversionAdapter.ts @@ -1,6 +1,6 @@ import type { UXFileInfoStub, UXFolderInfo } from "@vrtmrz/livesync-commonlib/compat/common/types"; import type { IConversionAdapter } from "@vrtmrz/livesync-commonlib/compat/serviceModules/adapters"; -import { TFileToUXFileInfoStub, TFolderToUXFileInfoStub } from "@/modules/coreObsidian/storageLib/utilObsidian"; +import { TFileToUXFileInfoStub, TFolderToUXFileInfoStub } from "@/modules/coreObsidian/storageLib/utilObsidian.js"; import type { TFile, TFolder } from "obsidian"; /** diff --git a/src/serviceModules/FileSystemAdapters/ObsidianFileSystemAdapter.ts b/src/serviceModules/FileSystemAdapters/ObsidianFileSystemAdapter.ts index 534d1063..7b317f6e 100644 --- a/src/serviceModules/FileSystemAdapters/ObsidianFileSystemAdapter.ts +++ b/src/serviceModules/FileSystemAdapters/ObsidianFileSystemAdapter.ts @@ -8,11 +8,11 @@ import type { IVaultAdapter, } from "@vrtmrz/livesync-commonlib/compat/serviceModules/adapters"; import type { TAbstractFile, TFile, TFolder, Stat, App } from "obsidian"; -import { ObsidianConversionAdapter } from "./ObsidianConversionAdapter"; -import { ObsidianPathAdapter } from "./ObsidianPathAdapter"; -import { ObsidianStorageAdapter } from "./ObsidianStorageAdapter"; -import { ObsidianTypeGuardAdapter } from "./ObsidianTypeGuardAdapter"; -import { ObsidianVaultAdapter } from "./ObsidianVaultAdapter"; +import { ObsidianConversionAdapter } from "./ObsidianConversionAdapter.js"; +import { ObsidianPathAdapter } from "./ObsidianPathAdapter.js"; +import { ObsidianStorageAdapter } from "./ObsidianStorageAdapter.js"; +import { ObsidianTypeGuardAdapter } from "./ObsidianTypeGuardAdapter.js"; +import { ObsidianVaultAdapter } from "./ObsidianVaultAdapter.js"; declare module "obsidian" { interface Vault { diff --git a/src/serviceModules/FileSystemAdapters/ObsidianPathAdapter.ts b/src/serviceModules/FileSystemAdapters/ObsidianPathAdapter.ts index 6557c7b0..d1b3b4a7 100644 --- a/src/serviceModules/FileSystemAdapters/ObsidianPathAdapter.ts +++ b/src/serviceModules/FileSystemAdapters/ObsidianPathAdapter.ts @@ -1,4 +1,4 @@ -import { type TAbstractFile, normalizePath } from "@/deps"; +import { type TAbstractFile, normalizePath } from "@/deps.js"; import type { FilePath } from "@vrtmrz/livesync-commonlib/compat/common/types"; import type { IPathAdapter } from "@vrtmrz/livesync-commonlib/compat/serviceModules/adapters"; diff --git a/src/serviceModules/FileSystemAdapters/ObsidianStorageAdapter.ts b/src/serviceModules/FileSystemAdapters/ObsidianStorageAdapter.ts index 0109e282..da846192 100644 --- a/src/serviceModules/FileSystemAdapters/ObsidianStorageAdapter.ts +++ b/src/serviceModules/FileSystemAdapters/ObsidianStorageAdapter.ts @@ -2,7 +2,7 @@ import type { UXDataWriteOptions } from "@vrtmrz/livesync-commonlib/compat/commo import type { IStorageAdapter } from "@vrtmrz/livesync-commonlib/compat/serviceModules/adapters"; import { toArrayBuffer } from "@vrtmrz/livesync-commonlib/compat/serviceModules/FileAccessBase"; import type { Stat, App } from "obsidian"; -import { toIntegerTimestamps } from "./sanitizeWriteOptions"; +import { toIntegerTimestamps } from "./sanitizeWriteOptions.js"; /** * Storage adapter implementation for Obsidian diff --git a/src/serviceModules/FileSystemAdapters/ObsidianVaultAdapter.ts b/src/serviceModules/FileSystemAdapters/ObsidianVaultAdapter.ts index 96486a78..d9487582 100644 --- a/src/serviceModules/FileSystemAdapters/ObsidianVaultAdapter.ts +++ b/src/serviceModules/FileSystemAdapters/ObsidianVaultAdapter.ts @@ -2,7 +2,7 @@ import type { UXDataWriteOptions } from "@vrtmrz/livesync-commonlib/compat/commo import type { IVaultAdapter } from "@vrtmrz/livesync-commonlib/compat/serviceModules/adapters"; import { toArrayBuffer } from "@vrtmrz/livesync-commonlib/compat/serviceModules/FileAccessBase"; import type { TFile, App, TFolder } from "obsidian"; -import { toIntegerTimestamps } from "./sanitizeWriteOptions"; +import { toIntegerTimestamps } from "./sanitizeWriteOptions.js"; /** * Vault adapter implementation for Obsidian diff --git a/src/serviceModules/ServiceFileAccessImpl.ts b/src/serviceModules/ServiceFileAccessImpl.ts index c2b40187..5bb23d85 100644 --- a/src/serviceModules/ServiceFileAccessImpl.ts +++ b/src/serviceModules/ServiceFileAccessImpl.ts @@ -1,5 +1,5 @@ import { ServiceFileAccessBase } from "@vrtmrz/livesync-commonlib/compat/serviceModules/ServiceFileAccessBase"; -import type { ObsidianFileSystemAdapter } from "./FileSystemAdapters/ObsidianFileSystemAdapter"; +import type { ObsidianFileSystemAdapter } from "./FileSystemAdapters/ObsidianFileSystemAdapter.js"; // For now, this is just a re-export of ServiceFileAccess with the Obsidian-specific adapter type. export class ServiceFileAccessObsidian extends ServiceFileAccessBase {} diff --git a/tsconfig.community-review-node-next.probe.json b/tsconfig.community-review-node-next.probe.json new file mode 100644 index 00000000..4923d887 --- /dev/null +++ b/tsconfig.community-review-node-next.probe.json @@ -0,0 +1,15 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "module": "NodeNext", + "moduleResolution": "NodeNext" + }, + "include": ["src/**/*.ts"], + "exclude": [ + "src/**/*.unit.spec.ts", + "src/**/*.integration.spec.ts", + "src/**/*.integration.test.ts", + "src/**/_test/**", + "src/apps/cli/testdeno/**" + ] +}