From f02f6475ac8d92f10042932aeedd98db2fc7e5d2 Mon Sep 17 00:00:00 2001 From: Andrew Rumble Date: Fri, 17 Oct 2025 10:50:07 +0100 Subject: [PATCH] Update paths GitOrigin-RevId: a9474c8f36e8b287de4dd8fda29bc082001444ac --- services/web/app.mjs | 2 +- .../Features/Analytics/AnalyticsRouter.mjs | 2 +- .../Authorization/AuthorizationMiddleware.mjs | 6 +++--- .../Features/Captcha/CaptchaMiddleware.mjs | 2 +- .../Collaborators/CollaboratorsController.mjs | 9 ++++---- .../CollaboratorsInviteController.mjs | 8 +++---- .../CollaboratorsInviteHandler.mjs | 6 +++--- .../Collaborators/CollaboratorsRouter.mjs | 2 +- .../OwnershipTransferHandler.mjs | 6 +++--- .../Features/Compile/ClsiCacheController.mjs | 4 ++-- .../app/src/Features/Compile/ClsiManager.mjs | 8 +++---- .../src/Features/Compile/ClsiStateManager.mjs | 2 +- .../Features/Compile/CompileController.mjs | 2 +- .../src/Features/Compile/CompileManager.mjs | 4 ++-- .../src/Features/Contacts/ContactRouter.mjs | 2 +- .../DocumentUpdaterController.mjs | 4 ++-- .../Features/Documents/DocumentController.mjs | 8 +++---- .../Downloads/ProjectDownloadsController.mjs | 4 ++-- .../Downloads/ProjectZipStreamManager.mjs | 6 +++--- .../Features/Editor/EditorHttpController.mjs | 10 ++++----- .../app/src/Features/Editor/EditorRouter.mjs | 2 +- .../src/Features/Exports/ExportsHandler.mjs | 6 +++--- .../FileStore/FileStoreController.mjs | 4 ++-- .../Features/History/HistoryController.mjs | 8 +++---- .../Features/History/HistoryOTMigration.mjs | 6 +++--- .../History/HistoryRangesSupportMigration.mjs | 4 ++-- .../src/Features/History/HistoryRouter.mjs | 2 +- .../src/Features/History/RestoreManager.mjs | 14 ++++++------- .../InactiveData/InactiveProjectManager.mjs | 4 ++-- .../LinkedFiles/LinkedFilesHandler.mjs | 6 +++--- .../LinkedFiles/LinkedFilesRouter.mjs | 2 +- .../Features/LinkedFiles/ProjectFileAgent.mjs | 8 +++---- .../LinkedFiles/ProjectOutputFileAgent.mjs | 2 +- .../app/src/Features/Metadata/MetaHandler.mjs | 4 ++-- .../PasswordReset/PasswordResetController.mjs | 2 +- .../PasswordReset/PasswordResetRouter.mjs | 2 +- .../Features/Project/ProjectApiController.mjs | 2 +- .../Features/Project/ProjectController.mjs | 21 ++++++++++--------- .../Features/Project/ProjectDuplicator.mjs | 20 +++++++++--------- .../Project/ProjectEntityRestoreHandler.mjs | 4 ++-- .../Project/ProjectHistoryHandler.mjs | 6 +++--- .../Project/ProjectListController.mjs | 2 +- .../Features/References/ReferencesHandler.mjs | 4 ++-- .../Features/ServerAdmin/AdminController.mjs | 4 ++-- .../Subscription/SubscriptionController.mjs | 6 +++--- .../Subscription/SubscriptionGroupHandler.mjs | 2 +- .../Subscription/SubscriptionRouter.mjs | 2 +- .../Subscription/TeamInvitesController.mjs | 2 +- .../Templates/TemplatesController.mjs | 2 +- .../Features/Templates/TemplatesRouter.mjs | 2 +- .../ThirdPartyDataStore/TpdsController.mjs | 4 ++-- .../ThirdPartyDataStore/TpdsUpdateHandler.mjs | 8 +++---- .../ThirdPartyDataStore/UpdateMerger.mjs | 4 ++-- .../TokenAccess/TokenAccessController.mjs | 15 ++++++------- .../TokenAccess/TokenAccessRouter.mjs | 2 +- .../Uploads/ProjectUploadController.mjs | 8 +++---- .../src/Features/Uploads/UploadsRouter.mjs | 2 +- .../app/src/Features/User/UserController.mjs | 4 ++-- .../web/app/src/Features/User/UserCreator.mjs | 2 +- .../Features/User/UserEmailsController.mjs | 2 +- .../src/Features/User/UserPagesController.mjs | 2 +- .../UserMembershipAuthorization.mjs | 7 +++---- .../app/src/infrastructure/ExpressLocals.mjs | 15 +++++++------ .../web/app/src/infrastructure/Server.mjs | 5 +++-- .../src/infrastructure/SiteAdminHandler.mjs | 2 +- services/web/app/src/router.mjs | 2 +- .../acceptance/src/ProjectStructureTests.mjs | 9 ++++---- .../launchpad/app/src/LaunchpadController.mjs | 11 +++++----- .../launchpad/app/src/LaunchpadRouter.mjs | 2 +- .../unit/src/LaunchpadController.test.mjs | 2 +- .../server-ce-scripts/scripts/delete-user.mjs | 2 +- .../scripts/export-user-projects.mjs | 2 +- .../app/src/UserActivateRouter.mjs | 2 +- .../attach_dangling_comments_to_doc.mjs | 4 ++-- services/web/scripts/check_project_files.mjs | 8 +++---- services/web/scripts/clear_project_tokens.mjs | 2 +- services/web/scripts/convert_doc_to_file.mjs | 2 +- .../web/scripts/count_files_in_projects.mjs | 4 ++-- services/web/scripts/count_project_size.mjs | 6 +++--- services/web/scripts/create_project.mjs | 8 +++---- .../web/scripts/delete_dangling_comments.mjs | 4 ++-- .../web/scripts/delete_dangling_file_refs.mjs | 4 ++-- .../delete_orphaned_doc_comment_ranges.mjs | 2 +- services/web/scripts/e2e_test_setup.mjs | 4 ++-- .../web/scripts/fix_malformed_filetree.mjs | 5 ++--- services/web/scripts/fix_oversized_docs.mjs | 6 +++--- services/web/scripts/force_doc_flush.mjs | 2 +- .../web/scripts/recover_docs_from_redis.mjs | 2 +- .../web/scripts/restore_orphaned_docs.mjs | 2 +- services/web/scripts/soft_delete_project.mjs | 2 +- services/web/scripts/stress_test.mjs | 2 +- .../web/scripts/undelete_project_to_user.mjs | 2 +- .../web/test/acceptance/src/HistoryTests.mjs | 2 +- .../src/ProjectStructureMongoLockTest.mjs | 6 +++--- .../acceptance/src/ProjectStructureTests.mjs | 2 +- .../acceptance/src/SecurityHeadersTests.mjs | 2 +- .../test/acceptance/src/TpdsUpdateTests.mjs | 2 +- .../CollaboratorsController.test.mjs | 8 +++---- .../CollaboratorsInviteController.test.mjs | 6 +++--- .../CollaboratorsInviteHandler.test.mjs | 6 +++--- .../OwnershipTransferHandler.test.mjs | 6 +++--- .../DocumentUpdaterController.test.mjs | 4 ++-- .../ProjectDownloadsController.test.mjs | 4 ++-- .../ProjectZipStreamManager.test.mjs | 2 +- .../src/Editor/EditorHttpController.test.mjs | 14 ++++++------- .../src/Exports/ExportsController.test.mjs | 2 +- .../src/History/HistoryController.test.mjs | 8 +++---- .../unit/src/History/RestoreManager.test.mjs | 2 +- .../ProjectEntityRestoreHandler.test.mjs | 4 ++-- .../Project/ProjectHistoryHandler.test.mjs | 4 ++-- 110 files changed, 261 insertions(+), 260 deletions(-) diff --git a/services/web/app.mjs b/services/web/app.mjs index cd511aba96..c9862b8094 100644 --- a/services/web/app.mjs +++ b/services/web/app.mjs @@ -6,7 +6,7 @@ import metrics from '@overleaf/metrics' import Settings from '@overleaf/settings' import logger from '@overleaf/logger' import PlansLocator from './app/src/Features/Subscription/PlansLocator.js' -import HistoryManager from './app/src/Features/History/HistoryManager.js' +import HistoryManager from './app/src/Features/History/HistoryManager.mjs' import SiteAdminHandler from './app/src/infrastructure/SiteAdminHandler.mjs' import http from 'node:http' import https from 'node:https' diff --git a/services/web/app/src/Features/Analytics/AnalyticsRouter.mjs b/services/web/app/src/Features/Analytics/AnalyticsRouter.mjs index 4f773c2d40..161efcfcca 100644 --- a/services/web/app/src/Features/Analytics/AnalyticsRouter.mjs +++ b/services/web/app/src/Features/Analytics/AnalyticsRouter.mjs @@ -1,4 +1,4 @@ -import AuthenticationController from './../Authentication/AuthenticationController.js' +import AuthenticationController from './../Authentication/AuthenticationController.mjs' import AnalyticsController from './AnalyticsController.mjs' import AnalyticsProxy from './AnalyticsProxy.mjs' import { RateLimiter } from '../../infrastructure/RateLimiter.js' diff --git a/services/web/app/src/Features/Authorization/AuthorizationMiddleware.mjs b/services/web/app/src/Features/Authorization/AuthorizationMiddleware.mjs index 73c69c068e..ff9f77b2e8 100644 --- a/services/web/app/src/Features/Authorization/AuthorizationMiddleware.mjs +++ b/services/web/app/src/Features/Authorization/AuthorizationMiddleware.mjs @@ -1,14 +1,14 @@ -import AuthorizationManager from './AuthorizationManager.js' +import AuthorizationManager from './AuthorizationManager.mjs' import logger from '@overleaf/logger' import mongodb from 'mongodb-legacy' import Errors from '../Errors/Errors.js' import HttpErrorHandler from '../Errors/HttpErrorHandler.js' -import AuthenticationController from '../Authentication/AuthenticationController.js' +import AuthenticationController from '../Authentication/AuthenticationController.mjs' import SessionManager from '../Authentication/SessionManager.js' import TokenAccessHandler from '../TokenAccess/TokenAccessHandler.js' import { expressify } from '@overleaf/promise-utils' -import AdminAuthorizationHelper from '../Helpers/AdminAuthorizationHelper.js' +import AdminAuthorizationHelper from '../Helpers/AdminAuthorizationHelper.mjs' import UrlHelper from '../Helpers/UrlHelper.js' const { ObjectId } = mongodb diff --git a/services/web/app/src/Features/Captcha/CaptchaMiddleware.mjs b/services/web/app/src/Features/Captcha/CaptchaMiddleware.mjs index b28a6d1db8..42ae80d8cf 100644 --- a/services/web/app/src/Features/Captcha/CaptchaMiddleware.mjs +++ b/services/web/app/src/Features/Captcha/CaptchaMiddleware.mjs @@ -4,7 +4,7 @@ import Settings from '@overleaf/settings' import Metrics from '@overleaf/metrics' import OError from '@overleaf/o-error' import DeviceHistory from './DeviceHistory.mjs' -import AuthenticationController from '../Authentication/AuthenticationController.js' +import AuthenticationController from '../Authentication/AuthenticationController.mjs' import { expressify } from '@overleaf/promise-utils' import EmailsHelper from '../Helpers/EmailHelper.js' diff --git a/services/web/app/src/Features/Collaborators/CollaboratorsController.mjs b/services/web/app/src/Features/Collaborators/CollaboratorsController.mjs index 7c23b4cc3f..c409fa0622 100644 --- a/services/web/app/src/Features/Collaborators/CollaboratorsController.mjs +++ b/services/web/app/src/Features/Collaborators/CollaboratorsController.mjs @@ -1,8 +1,8 @@ import OError from '@overleaf/o-error' import HttpErrorHandler from '../../Features/Errors/HttpErrorHandler.js' import mongodb from 'mongodb-legacy' -import CollaboratorsHandler from './CollaboratorsHandler.js' -import CollaboratorsGetter from './CollaboratorsGetter.js' +import CollaboratorsHandler from './CollaboratorsHandler.mjs' +import CollaboratorsGetter from './CollaboratorsGetter.mjs' import OwnershipTransferHandler from './OwnershipTransferHandler.mjs' import SessionManager from '../Authentication/SessionManager.js' import EditorRealTimeController from '../Editor/EditorRealTimeController.js' @@ -10,14 +10,15 @@ import TagsHandler from '../Tags/TagsHandler.js' import Errors from '../Errors/Errors.js' import logger from '@overleaf/logger' import { expressify } from '@overleaf/promise-utils' -import { hasAdminAccess } from '../Helpers/AdminAuthorizationHelper.js' +import AdminAuthorizationHelper from '../Helpers/AdminAuthorizationHelper.mjs' import TokenAccessHandler from '../TokenAccess/TokenAccessHandler.js' import ProjectAuditLogHandler from '../Project/ProjectAuditLogHandler.mjs' -import LimitationsManager from '../Subscription/LimitationsManager.js' +import LimitationsManager from '../Subscription/LimitationsManager.mjs' import PrivilegeLevels from '../Authorization/PrivilegeLevels.js' import { z, zz, validateReq } from '../../infrastructure/Validation.js' import Features from '../../infrastructure/Features.js' +const { hasAdminAccess } = AdminAuthorizationHelper const ObjectId = mongodb.ObjectId export default { diff --git a/services/web/app/src/Features/Collaborators/CollaboratorsInviteController.mjs b/services/web/app/src/Features/Collaborators/CollaboratorsInviteController.mjs index 94bcefad0b..98ff3f28da 100644 --- a/services/web/app/src/Features/Collaborators/CollaboratorsInviteController.mjs +++ b/services/web/app/src/Features/Collaborators/CollaboratorsInviteController.mjs @@ -1,7 +1,7 @@ -import ProjectGetter from '../Project/ProjectGetter.js' -import LimitationsManager from '../Subscription/LimitationsManager.js' +import ProjectGetter from '../Project/ProjectGetter.mjs' +import LimitationsManager from '../Subscription/LimitationsManager.mjs' import UserGetter from '../User/UserGetter.js' -import CollaboratorsGetter from './CollaboratorsGetter.js' +import CollaboratorsGetter from './CollaboratorsGetter.mjs' import CollaboratorsInviteHandler from './CollaboratorsInviteHandler.mjs' import CollaboratorsInviteGetter from './CollaboratorsInviteGetter.js' import logger from '@overleaf/logger' @@ -15,7 +15,7 @@ import { z, zz, validateReq } from '../../infrastructure/Validation.js' import { expressify } from '@overleaf/promise-utils' import ProjectAuditLogHandler from '../Project/ProjectAuditLogHandler.mjs' import Errors from '../Errors/Errors.js' -import AuthenticationController from '../Authentication/AuthenticationController.js' +import AuthenticationController from '../Authentication/AuthenticationController.mjs' import PrivilegeLevels from '../Authorization/PrivilegeLevels.js' // This rate limiter allows a different number of requests depending on the diff --git a/services/web/app/src/Features/Collaborators/CollaboratorsInviteHandler.mjs b/services/web/app/src/Features/Collaborators/CollaboratorsInviteHandler.mjs index 657ecbd7ae..40654bebeb 100644 --- a/services/web/app/src/Features/Collaborators/CollaboratorsInviteHandler.mjs +++ b/services/web/app/src/Features/Collaborators/CollaboratorsInviteHandler.mjs @@ -2,14 +2,14 @@ import { callbackify } from 'node:util' import { ProjectInvite } from '../../models/ProjectInvite.js' import logger from '@overleaf/logger' import CollaboratorsEmailHandler from './CollaboratorsEmailHandler.mjs' -import CollaboratorsHandler from './CollaboratorsHandler.js' +import CollaboratorsHandler from './CollaboratorsHandler.mjs' import CollaboratorsInviteGetter from './CollaboratorsInviteGetter.js' import CollaboratorsInviteHelper from './CollaboratorsInviteHelper.js' import UserGetter from '../User/UserGetter.js' -import ProjectGetter from '../Project/ProjectGetter.js' +import ProjectGetter from '../Project/ProjectGetter.mjs' import NotificationsBuilder from '../Notifications/NotificationsBuilder.js' import PrivilegeLevels from '../Authorization/PrivilegeLevels.js' -import LimitationsManager from '../Subscription/LimitationsManager.js' +import LimitationsManager from '../Subscription/LimitationsManager.mjs' import ProjectAuditLogHandler from '../Project/ProjectAuditLogHandler.mjs' import _ from 'lodash' diff --git a/services/web/app/src/Features/Collaborators/CollaboratorsRouter.mjs b/services/web/app/src/Features/Collaborators/CollaboratorsRouter.mjs index c8f8c5b44b..394cae6453 100644 --- a/services/web/app/src/Features/Collaborators/CollaboratorsRouter.mjs +++ b/services/web/app/src/Features/Collaborators/CollaboratorsRouter.mjs @@ -1,5 +1,5 @@ import CollaboratorsController from './CollaboratorsController.mjs' -import AuthenticationController from '../Authentication/AuthenticationController.js' +import AuthenticationController from '../Authentication/AuthenticationController.mjs' import AuthorizationMiddleware from '../Authorization/AuthorizationMiddleware.mjs' import CollaboratorsInviteController from './CollaboratorsInviteController.mjs' import { RateLimiter } from '../../infrastructure/RateLimiter.js' diff --git a/services/web/app/src/Features/Collaborators/OwnershipTransferHandler.mjs b/services/web/app/src/Features/Collaborators/OwnershipTransferHandler.mjs index d468a454dc..1b2ec410c2 100644 --- a/services/web/app/src/Features/Collaborators/OwnershipTransferHandler.mjs +++ b/services/web/app/src/Features/Collaborators/OwnershipTransferHandler.mjs @@ -1,12 +1,12 @@ import logger from '@overleaf/logger' import { Project } from '../../models/Project.js' -import ProjectGetter from '../Project/ProjectGetter.js' +import ProjectGetter from '../Project/ProjectGetter.mjs' import UserGetter from '../User/UserGetter.js' -import CollaboratorsHandler from './CollaboratorsHandler.js' +import CollaboratorsHandler from './CollaboratorsHandler.mjs' import EmailHandler from '../Email/EmailHandler.js' import Errors from '../Errors/Errors.js' import PrivilegeLevels from '../Authorization/PrivilegeLevels.js' -import TpdsProjectFlusher from '../ThirdPartyDataStore/TpdsProjectFlusher.js' +import TpdsProjectFlusher from '../ThirdPartyDataStore/TpdsProjectFlusher.mjs' import ProjectAuditLogHandler from '../Project/ProjectAuditLogHandler.mjs' import AnalyticsManager from '../Analytics/AnalyticsManager.js' import OError from '@overleaf/o-error' diff --git a/services/web/app/src/Features/Compile/ClsiCacheController.mjs b/services/web/app/src/Features/Compile/ClsiCacheController.mjs index 57b5ca6eaf..a03712415c 100644 --- a/services/web/app/src/Features/Compile/ClsiCacheController.mjs +++ b/services/web/app/src/Features/Compile/ClsiCacheController.mjs @@ -6,11 +6,11 @@ import { import Path from 'node:path' import { pipeline } from 'node:stream/promises' import logger from '@overleaf/logger' -import ClsiCacheManager from './ClsiCacheManager.js' +import ClsiCacheManager from './ClsiCacheManager.mjs' import CompileController from './CompileController.mjs' import { expressify } from '@overleaf/promise-utils' import ClsiCacheHandler from './ClsiCacheHandler.js' -import ProjectGetter from '../Project/ProjectGetter.js' +import ProjectGetter from '../Project/ProjectGetter.mjs' import { MeteredStream } from '@overleaf/stream-utils' import Metrics from '@overleaf/metrics' diff --git a/services/web/app/src/Features/Compile/ClsiManager.mjs b/services/web/app/src/Features/Compile/ClsiManager.mjs index fc01c37433..be94e70785 100644 --- a/services/web/app/src/Features/Compile/ClsiManager.mjs +++ b/services/web/app/src/Features/Compile/ClsiManager.mjs @@ -7,8 +7,8 @@ import { RequestFailedError, } from '@overleaf/fetch-utils' import Settings from '@overleaf/settings' -import ProjectGetter from '../Project/ProjectGetter.js' -import ProjectEntityHandler from '../Project/ProjectEntityHandler.js' +import ProjectGetter from '../Project/ProjectGetter.mjs' +import ProjectEntityHandler from '../Project/ProjectEntityHandler.mjs' import logger from '@overleaf/logger' import OError from '@overleaf/o-error' import { Cookie } from 'tough-cookie' @@ -16,11 +16,11 @@ import ClsiCookieManagerFactory from './ClsiCookieManager.mjs' import ClsiStateManager from './ClsiStateManager.mjs' import _ from 'lodash' import ClsiFormatChecker from './ClsiFormatChecker.mjs' -import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.js' +import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs' import Metrics from '@overleaf/metrics' import Errors from '../Errors/Errors.js' import ClsiCacheHandler from './ClsiCacheHandler.js' -import HistoryManager from '../History/HistoryManager.js' +import HistoryManager from '../History/HistoryManager.mjs' import SplitTestHandler from '../SplitTests/SplitTestHandler.js' import AnalyticsManager from '../Analytics/AnalyticsManager.js' diff --git a/services/web/app/src/Features/Compile/ClsiStateManager.mjs b/services/web/app/src/Features/Compile/ClsiStateManager.mjs index f90b484d6b..10b40f727b 100644 --- a/services/web/app/src/Features/Compile/ClsiStateManager.mjs +++ b/services/web/app/src/Features/Compile/ClsiStateManager.mjs @@ -9,7 +9,7 @@ * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ import crypto from 'node:crypto' -import ProjectEntityHandler from '../Project/ProjectEntityHandler.js' +import ProjectEntityHandler from '../Project/ProjectEntityHandler.mjs' // The "state" of a project is a hash of the relevant attributes in the // project object in this case we only need the rootFolder. diff --git a/services/web/app/src/Features/Compile/CompileController.mjs b/services/web/app/src/Features/Compile/CompileController.mjs index cc6fc79b9f..0251196a16 100644 --- a/services/web/app/src/Features/Compile/CompileController.mjs +++ b/services/web/app/src/Features/Compile/CompileController.mjs @@ -3,7 +3,7 @@ import { pipeline } from 'node:stream/promises' import { Cookie } from 'tough-cookie' import OError from '@overleaf/o-error' import Metrics from '@overleaf/metrics' -import ProjectGetter from '../Project/ProjectGetter.js' +import ProjectGetter from '../Project/ProjectGetter.mjs' import CompileManager from './CompileManager.mjs' import ClsiManager from './ClsiManager.mjs' import logger from '@overleaf/logger' diff --git a/services/web/app/src/Features/Compile/CompileManager.mjs b/services/web/app/src/Features/Compile/CompileManager.mjs index de0ad7b9cd..9b0183c94c 100644 --- a/services/web/app/src/Features/Compile/CompileManager.mjs +++ b/services/web/app/src/Features/Compile/CompileManager.mjs @@ -1,8 +1,8 @@ import Crypto from 'node:crypto' import Settings from '@overleaf/settings' import RedisWrapper from '../../infrastructure/RedisWrapper.js' -import ProjectGetter from '../Project/ProjectGetter.js' -import ProjectRootDocManager from '../Project/ProjectRootDocManager.js' +import ProjectGetter from '../Project/ProjectGetter.mjs' +import ProjectRootDocManager from '../Project/ProjectRootDocManager.mjs' import UserGetter from '../User/UserGetter.js' import ClsiManager from './ClsiManager.mjs' import Metrics from '@overleaf/metrics' diff --git a/services/web/app/src/Features/Contacts/ContactRouter.mjs b/services/web/app/src/Features/Contacts/ContactRouter.mjs index 50db64f2e5..b361142852 100644 --- a/services/web/app/src/Features/Contacts/ContactRouter.mjs +++ b/services/web/app/src/Features/Contacts/ContactRouter.mjs @@ -1,4 +1,4 @@ -import AuthenticationController from '../Authentication/AuthenticationController.js' +import AuthenticationController from '../Authentication/AuthenticationController.mjs' import SessionManager from '../Authentication/SessionManager.js' import ContactController from './ContactController.mjs' import Settings from '@overleaf/settings' diff --git a/services/web/app/src/Features/DocumentUpdater/DocumentUpdaterController.mjs b/services/web/app/src/Features/DocumentUpdater/DocumentUpdaterController.mjs index d02b5a71f0..bd35f93b4d 100644 --- a/services/web/app/src/Features/DocumentUpdater/DocumentUpdaterController.mjs +++ b/services/web/app/src/Features/DocumentUpdater/DocumentUpdaterController.mjs @@ -1,6 +1,6 @@ import logger from '@overleaf/logger' -import DocumentUpdaterHandler from './DocumentUpdaterHandler.js' -import ProjectLocator from '../Project/ProjectLocator.js' +import DocumentUpdaterHandler from './DocumentUpdaterHandler.mjs' +import ProjectLocator from '../Project/ProjectLocator.mjs' import { plainTextResponse } from '../../infrastructure/Response.js' import { expressify } from '@overleaf/promise-utils' diff --git a/services/web/app/src/Features/Documents/DocumentController.mjs b/services/web/app/src/Features/Documents/DocumentController.mjs index 223b870e23..682d17f412 100644 --- a/services/web/app/src/Features/Documents/DocumentController.mjs +++ b/services/web/app/src/Features/Documents/DocumentController.mjs @@ -1,8 +1,8 @@ import ChatApiHandler from '../Chat/ChatApiHandler.js' -import ProjectGetter from '../Project/ProjectGetter.js' -import ProjectLocator from '../Project/ProjectLocator.js' -import ProjectEntityHandler from '../Project/ProjectEntityHandler.js' -import ProjectEntityUpdateHandler from '../Project/ProjectEntityUpdateHandler.js' +import ProjectGetter from '../Project/ProjectGetter.mjs' +import ProjectLocator from '../Project/ProjectLocator.mjs' +import ProjectEntityHandler from '../Project/ProjectEntityHandler.mjs' +import ProjectEntityUpdateHandler from '../Project/ProjectEntityUpdateHandler.mjs' import logger from '@overleaf/logger' import _ from 'lodash' import { plainTextResponse } from '../../infrastructure/Response.js' diff --git a/services/web/app/src/Features/Downloads/ProjectDownloadsController.mjs b/services/web/app/src/Features/Downloads/ProjectDownloadsController.mjs index 36aafda8c9..42dcffcd4f 100644 --- a/services/web/app/src/Features/Downloads/ProjectDownloadsController.mjs +++ b/services/web/app/src/Features/Downloads/ProjectDownloadsController.mjs @@ -11,9 +11,9 @@ * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ import Metrics from '@overleaf/metrics' -import ProjectGetter from '../Project/ProjectGetter.js' +import ProjectGetter from '../Project/ProjectGetter.mjs' import ProjectZipStreamManager from './ProjectZipStreamManager.mjs' -import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.js' +import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs' import { prepareZipAttachment } from '../../infrastructure/Response.js' let ProjectDownloadsController diff --git a/services/web/app/src/Features/Downloads/ProjectZipStreamManager.mjs b/services/web/app/src/Features/Downloads/ProjectZipStreamManager.mjs index 5e80f65d0b..1c5eb6b43a 100644 --- a/services/web/app/src/Features/Downloads/ProjectZipStreamManager.mjs +++ b/services/web/app/src/Features/Downloads/ProjectZipStreamManager.mjs @@ -1,9 +1,9 @@ import archiver from 'archiver' import async from 'async' import logger from '@overleaf/logger' -import ProjectEntityHandler from '../Project/ProjectEntityHandler.js' -import ProjectGetter from '../Project/ProjectGetter.js' -import HistoryManager from '../History/HistoryManager.js' +import ProjectEntityHandler from '../Project/ProjectEntityHandler.mjs' +import ProjectGetter from '../Project/ProjectGetter.mjs' +import HistoryManager from '../History/HistoryManager.mjs' let ProjectZipStreamManager export default ProjectZipStreamManager = { diff --git a/services/web/app/src/Features/Editor/EditorHttpController.mjs b/services/web/app/src/Features/Editor/EditorHttpController.mjs index fb47ccc940..22ba2c2e15 100644 --- a/services/web/app/src/Features/Editor/EditorHttpController.mjs +++ b/services/web/app/src/Features/Editor/EditorHttpController.mjs @@ -1,7 +1,7 @@ -import ProjectDeleter from '../Project/ProjectDeleter.js' -import EditorController from './EditorController.js' -import ProjectGetter from '../Project/ProjectGetter.js' -import AuthorizationManager from '../Authorization/AuthorizationManager.js' +import ProjectDeleter from '../Project/ProjectDeleter.mjs' +import EditorController from './EditorController.mjs' +import ProjectGetter from '../Project/ProjectGetter.mjs' +import AuthorizationManager from '../Authorization/AuthorizationManager.mjs' import ProjectEditorHandler from '../Project/ProjectEditorHandler.js' import Metrics from '@overleaf/metrics' import CollaboratorsInviteGetter from '../Collaborators/CollaboratorsInviteGetter.js' @@ -10,7 +10,7 @@ import SessionManager from '../Authentication/SessionManager.js' import Errors from '../Errors/Errors.js' import { expressify } from '@overleaf/promise-utils' import Settings from '@overleaf/settings' -import CollaboratorsGetter from '../Collaborators/CollaboratorsGetter.js' +import CollaboratorsGetter from '../Collaborators/CollaboratorsGetter.mjs' import { z, zz, validateReq } from '../../infrastructure/Validation.js' const ProjectAccess = CollaboratorsGetter.ProjectAccess diff --git a/services/web/app/src/Features/Editor/EditorRouter.mjs b/services/web/app/src/Features/Editor/EditorRouter.mjs index f39dcec991..908fef0ab7 100644 --- a/services/web/app/src/Features/Editor/EditorRouter.mjs +++ b/services/web/app/src/Features/Editor/EditorRouter.mjs @@ -1,5 +1,5 @@ import EditorHttpController from './EditorHttpController.mjs' -import AuthenticationController from '../Authentication/AuthenticationController.js' +import AuthenticationController from '../Authentication/AuthenticationController.mjs' import AuthorizationMiddleware from '../Authorization/AuthorizationMiddleware.mjs' import { RateLimiter } from '../../infrastructure/RateLimiter.js' import RateLimiterMiddleware from '../Security/RateLimiterMiddleware.mjs' diff --git a/services/web/app/src/Features/Exports/ExportsHandler.mjs b/services/web/app/src/Features/Exports/ExportsHandler.mjs index 56cc10936b..aa235f434e 100644 --- a/services/web/app/src/Features/Exports/ExportsHandler.mjs +++ b/services/web/app/src/Features/Exports/ExportsHandler.mjs @@ -12,10 +12,10 @@ * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ import OError from '@overleaf/o-error' -import ProjectGetter from '../Project/ProjectGetter.js' +import ProjectGetter from '../Project/ProjectGetter.mjs' import ProjectHistoryHandler from '../Project/ProjectHistoryHandler.mjs' -import ProjectLocator from '../Project/ProjectLocator.js' -import ProjectRootDocManager from '../Project/ProjectRootDocManager.js' +import ProjectLocator from '../Project/ProjectLocator.mjs' +import ProjectRootDocManager from '../Project/ProjectRootDocManager.mjs' import UserGetter from '../User/UserGetter.js' import logger from '@overleaf/logger' import settings from '@overleaf/settings' diff --git a/services/web/app/src/Features/FileStore/FileStoreController.mjs b/services/web/app/src/Features/FileStore/FileStoreController.mjs index dd005e1478..252485cf49 100644 --- a/services/web/app/src/Features/FileStore/FileStoreController.mjs +++ b/services/web/app/src/Features/FileStore/FileStoreController.mjs @@ -4,8 +4,8 @@ import { pipeline } from 'node:stream/promises' import logger from '@overleaf/logger' import { expressify } from '@overleaf/promise-utils' import Metrics from '@overleaf/metrics' -import ProjectLocator from '../Project/ProjectLocator.js' -import HistoryManager from '../History/HistoryManager.js' +import ProjectLocator from '../Project/ProjectLocator.mjs' +import HistoryManager from '../History/HistoryManager.mjs' import Errors from '../Errors/Errors.js' import { preparePlainTextResponse } from '../../infrastructure/Response.js' diff --git a/services/web/app/src/Features/History/HistoryController.mjs b/services/web/app/src/Features/History/HistoryController.mjs index 047e860eb2..269dcdfd44 100644 --- a/services/web/app/src/Features/History/HistoryController.mjs +++ b/services/web/app/src/Features/History/HistoryController.mjs @@ -17,11 +17,11 @@ import { import settings from '@overleaf/settings' import SessionManager from '../Authentication/SessionManager.js' import UserGetter from '../User/UserGetter.js' -import ProjectGetter from '../Project/ProjectGetter.js' +import ProjectGetter from '../Project/ProjectGetter.mjs' import Errors from '../Errors/Errors.js' -import HistoryManager from './HistoryManager.js' -import ProjectDetailsHandler from '../Project/ProjectDetailsHandler.js' -import ProjectEntityUpdateHandler from '../Project/ProjectEntityUpdateHandler.js' +import HistoryManager from './HistoryManager.mjs' +import ProjectDetailsHandler from '../Project/ProjectDetailsHandler.mjs' +import ProjectEntityUpdateHandler from '../Project/ProjectEntityUpdateHandler.mjs' import RestoreManager from './RestoreManager.mjs' import { prepareZipAttachment } from '../../infrastructure/Response.js' import Features from '../../infrastructure/Features.js' diff --git a/services/web/app/src/Features/History/HistoryOTMigration.mjs b/services/web/app/src/Features/History/HistoryOTMigration.mjs index a55fb3bbfd..4ea4702515 100644 --- a/services/web/app/src/Features/History/HistoryOTMigration.mjs +++ b/services/web/app/src/Features/History/HistoryOTMigration.mjs @@ -1,6 +1,6 @@ -import ProjectGetter from '../Project/ProjectGetter.js' -import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.js' -import HistoryManager from '../History/HistoryManager.js' +import ProjectGetter from '../Project/ProjectGetter.mjs' +import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs' +import HistoryManager from '../History/HistoryManager.mjs' import * as RealTimeHandler from '../References/RealTime/RealTimeHandler.mjs' import ProjectOptionsHandler from '../Project/ProjectOptionsHandler.js' import { diff --git a/services/web/app/src/Features/History/HistoryRangesSupportMigration.mjs b/services/web/app/src/Features/History/HistoryRangesSupportMigration.mjs index e76267a199..edf67c04ea 100644 --- a/services/web/app/src/Features/History/HistoryRangesSupportMigration.mjs +++ b/services/web/app/src/Features/History/HistoryRangesSupportMigration.mjs @@ -3,8 +3,8 @@ import { callbackify } from 'node:util' import OError from '@overleaf/o-error' import logger from '@overleaf/logger' -import HistoryManager from '../History/HistoryManager.js' -import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.js' +import HistoryManager from '../History/HistoryManager.mjs' +import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs' import DocstoreManager from '../Docstore/DocstoreManager.js' import ProjectOptionsHandler from '../Project/ProjectOptionsHandler.js' import mongodb from '../../infrastructure/mongodb.js' diff --git a/services/web/app/src/Features/History/HistoryRouter.mjs b/services/web/app/src/Features/History/HistoryRouter.mjs index 1bf1edf2b2..f1e1f187b2 100644 --- a/services/web/app/src/Features/History/HistoryRouter.mjs +++ b/services/web/app/src/Features/History/HistoryRouter.mjs @@ -2,7 +2,7 @@ import Settings from '@overleaf/settings' import { RateLimiter } from '../../infrastructure/RateLimiter.js' -import AuthenticationController from '../Authentication/AuthenticationController.js' +import AuthenticationController from '../Authentication/AuthenticationController.mjs' import AuthorizationMiddleware from '../Authorization/AuthorizationMiddleware.mjs' import RateLimiterMiddleware from '../Security/RateLimiterMiddleware.mjs' import HistoryController from './HistoryController.mjs' diff --git a/services/web/app/src/Features/History/RestoreManager.mjs b/services/web/app/src/Features/History/RestoreManager.mjs index 4ceda91a76..62ad83526b 100644 --- a/services/web/app/src/Features/History/RestoreManager.mjs +++ b/services/web/app/src/Features/History/RestoreManager.mjs @@ -2,23 +2,23 @@ import Settings from '@overleaf/settings' import Path from 'node:path' import FileWriter from '../../infrastructure/FileWriter.js' import Metrics from '../../infrastructure/Metrics.js' -import FileSystemImportManager from '../Uploads/FileSystemImportManager.js' +import FileSystemImportManager from '../Uploads/FileSystemImportManager.mjs' import FileTypeManager from '../Uploads/FileTypeManager.js' -import EditorController from '../Editor/EditorController.js' +import EditorController from '../Editor/EditorController.mjs' import Errors from '../Errors/Errors.js' import moment from 'moment' import { callbackifyAll } from '@overleaf/promise-utils' -import ProjectLocator from '../Project/ProjectLocator.js' -import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.js' +import ProjectLocator from '../Project/ProjectLocator.mjs' +import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs' import ChatApiHandler from '../Chat/ChatApiHandler.js' import DocstoreManager from '../Docstore/DocstoreManager.js' import logger from '@overleaf/logger' import EditorRealTimeController from '../Editor/EditorRealTimeController.js' import ChatManager from '../Chat/ChatManager.mjs' import OError from '@overleaf/o-error' -import ProjectGetter from '../Project/ProjectGetter.js' -import ProjectEntityHandler from '../Project/ProjectEntityHandler.js' -import HistoryManager from './HistoryManager.js' +import ProjectGetter from '../Project/ProjectGetter.mjs' +import ProjectEntityHandler from '../Project/ProjectEntityHandler.mjs' +import HistoryManager from './HistoryManager.mjs' import { Snapshot, getDocUpdaterCompatibleRanges } from 'overleaf-editor-core' async function getCommentThreadIds(projectId) { diff --git a/services/web/app/src/Features/InactiveData/InactiveProjectManager.mjs b/services/web/app/src/Features/InactiveData/InactiveProjectManager.mjs index 8a9922a84d..e446ffd867 100644 --- a/services/web/app/src/Features/InactiveData/InactiveProjectManager.mjs +++ b/services/web/app/src/Features/InactiveData/InactiveProjectManager.mjs @@ -1,8 +1,8 @@ import OError from '@overleaf/o-error' import logger from '@overleaf/logger' import DocstoreManager from '../Docstore/DocstoreManager.js' -import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.js' -import ProjectGetter from '../Project/ProjectGetter.js' +import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs' +import ProjectGetter from '../Project/ProjectGetter.mjs' import ProjectUpdateHandler from '../Project/ProjectUpdateHandler.js' import { Project } from '../../models/Project.js' import Modules from '../../infrastructure/Modules.js' diff --git a/services/web/app/src/Features/LinkedFiles/LinkedFilesHandler.mjs b/services/web/app/src/Features/LinkedFiles/LinkedFilesHandler.mjs index be46d91220..2cd8272ece 100644 --- a/services/web/app/src/Features/LinkedFiles/LinkedFilesHandler.mjs +++ b/services/web/app/src/Features/LinkedFiles/LinkedFilesHandler.mjs @@ -1,8 +1,8 @@ import FileWriter from '../../infrastructure/FileWriter.js' -import EditorController from '../Editor/EditorController.js' -import ProjectLocator from '../Project/ProjectLocator.js' +import EditorController from '../Editor/EditorController.mjs' +import ProjectLocator from '../Project/ProjectLocator.mjs' import { Project } from '../../models/Project.js' -import ProjectGetter from '../Project/ProjectGetter.js' +import ProjectGetter from '../Project/ProjectGetter.mjs' import LinkedFilesErrors from './LinkedFilesErrors.mjs' import { callbackifyAll } from '@overleaf/promise-utils' diff --git a/services/web/app/src/Features/LinkedFiles/LinkedFilesRouter.mjs b/services/web/app/src/Features/LinkedFiles/LinkedFilesRouter.mjs index 41cad0bace..fa1a5ccb40 100644 --- a/services/web/app/src/Features/LinkedFiles/LinkedFilesRouter.mjs +++ b/services/web/app/src/Features/LinkedFiles/LinkedFilesRouter.mjs @@ -1,5 +1,5 @@ import AuthorizationMiddleware from '../Authorization/AuthorizationMiddleware.mjs' -import AuthenticationController from '../Authentication/AuthenticationController.js' +import AuthenticationController from '../Authentication/AuthenticationController.mjs' import { RateLimiter } from '../../infrastructure/RateLimiter.js' import RateLimiterMiddleware from '../Security/RateLimiterMiddleware.mjs' import LinkedFilesController from './LinkedFilesController.mjs' diff --git a/services/web/app/src/Features/LinkedFiles/ProjectFileAgent.mjs b/services/web/app/src/Features/LinkedFiles/ProjectFileAgent.mjs index bf0e8a788b..191c230d3a 100644 --- a/services/web/app/src/Features/LinkedFiles/ProjectFileAgent.mjs +++ b/services/web/app/src/Features/LinkedFiles/ProjectFileAgent.mjs @@ -10,15 +10,15 @@ * DS207: Consider shorter variations of null checks * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ -import AuthorizationManager from '../Authorization/AuthorizationManager.js' -import ProjectLocator from '../Project/ProjectLocator.js' +import AuthorizationManager from '../Authorization/AuthorizationManager.mjs' +import ProjectLocator from '../Project/ProjectLocator.mjs' import DocstoreManager from '../Docstore/DocstoreManager.js' -import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.js' +import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs' import _ from 'lodash' import LinkedFilesHandler from './LinkedFilesHandler.mjs' import LinkedFilesErrors from './LinkedFilesErrors.mjs' import { promisify } from '@overleaf/promise-utils' -import HistoryManager from '../History/HistoryManager.js' +import HistoryManager from '../History/HistoryManager.mjs' const { BadDataError, diff --git a/services/web/app/src/Features/LinkedFiles/ProjectOutputFileAgent.mjs b/services/web/app/src/Features/LinkedFiles/ProjectOutputFileAgent.mjs index 676d4f0031..72fde03c02 100644 --- a/services/web/app/src/Features/LinkedFiles/ProjectOutputFileAgent.mjs +++ b/services/web/app/src/Features/LinkedFiles/ProjectOutputFileAgent.mjs @@ -1,4 +1,4 @@ -import AuthorizationManager from '../Authorization/AuthorizationManager.js' +import AuthorizationManager from '../Authorization/AuthorizationManager.mjs' import CompileManager from '../Compile/CompileManager.mjs' import ClsiManager from '../Compile/ClsiManager.mjs' import ProjectFileAgent from './ProjectFileAgent.mjs' diff --git a/services/web/app/src/Features/Metadata/MetaHandler.mjs b/services/web/app/src/Features/Metadata/MetaHandler.mjs index ef5d11887e..491a5ca8b0 100644 --- a/services/web/app/src/Features/Metadata/MetaHandler.mjs +++ b/services/web/app/src/Features/Metadata/MetaHandler.mjs @@ -1,5 +1,5 @@ -import ProjectEntityHandler from '../Project/ProjectEntityHandler.js' -import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.js' +import ProjectEntityHandler from '../Project/ProjectEntityHandler.mjs' +import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs' import packageMapping from './packageMapping.mjs' import { callbackify } from '@overleaf/promise-utils' diff --git a/services/web/app/src/Features/PasswordReset/PasswordResetController.mjs b/services/web/app/src/Features/PasswordReset/PasswordResetController.mjs index 6a92e818c0..d4140ef90a 100644 --- a/services/web/app/src/Features/PasswordReset/PasswordResetController.mjs +++ b/services/web/app/src/Features/PasswordReset/PasswordResetController.mjs @@ -1,5 +1,5 @@ import PasswordResetHandler from './PasswordResetHandler.mjs' -import AuthenticationController from '../Authentication/AuthenticationController.js' +import AuthenticationController from '../Authentication/AuthenticationController.mjs' import AuthenticationManager from '../Authentication/AuthenticationManager.js' import SessionManager from '../Authentication/SessionManager.js' import UserGetter from '../User/UserGetter.js' diff --git a/services/web/app/src/Features/PasswordReset/PasswordResetRouter.mjs b/services/web/app/src/Features/PasswordReset/PasswordResetRouter.mjs index 36a729aef3..cfd8e2f871 100644 --- a/services/web/app/src/Features/PasswordReset/PasswordResetRouter.mjs +++ b/services/web/app/src/Features/PasswordReset/PasswordResetRouter.mjs @@ -1,5 +1,5 @@ import PasswordResetController from './PasswordResetController.mjs' -import AuthenticationController from '../Authentication/AuthenticationController.js' +import AuthenticationController from '../Authentication/AuthenticationController.mjs' import CaptchaMiddleware from '../../Features/Captcha/CaptchaMiddleware.mjs' import { RateLimiter } from '../../infrastructure/RateLimiter.js' import RateLimiterMiddleware from '../Security/RateLimiterMiddleware.mjs' diff --git a/services/web/app/src/Features/Project/ProjectApiController.mjs b/services/web/app/src/Features/Project/ProjectApiController.mjs index afdc0f3b3a..564eaa8a2e 100644 --- a/services/web/app/src/Features/Project/ProjectApiController.mjs +++ b/services/web/app/src/Features/Project/ProjectApiController.mjs @@ -10,7 +10,7 @@ * DS207: Consider shorter variations of null checks * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ -import ProjectDetailsHandler from './ProjectDetailsHandler.js' +import ProjectDetailsHandler from './ProjectDetailsHandler.mjs' import logger from '@overleaf/logger' diff --git a/services/web/app/src/Features/Project/ProjectController.mjs b/services/web/app/src/Features/Project/ProjectController.mjs index 9afd8fffb5..26bd249ff7 100644 --- a/services/web/app/src/Features/Project/ProjectController.mjs +++ b/services/web/app/src/Features/Project/ProjectController.mjs @@ -6,28 +6,28 @@ import pProps from 'p-props' import logger from '@overleaf/logger' import { expressify } from '@overleaf/promise-utils' import mongodb from 'mongodb-legacy' -import ProjectDeleter from './ProjectDeleter.js' +import ProjectDeleter from './ProjectDeleter.mjs' import ProjectDuplicator from './ProjectDuplicator.mjs' -import ProjectCreationHandler from './ProjectCreationHandler.js' -import EditorController from '../Editor/EditorController.js' +import ProjectCreationHandler from './ProjectCreationHandler.mjs' +import EditorController from '../Editor/EditorController.mjs' import ProjectHelper from './ProjectHelper.js' import metrics from '@overleaf/metrics' import { User } from '../../models/User.js' import SubscriptionLocator from '../Subscription/SubscriptionLocator.js' import { isPaidSubscription } from '../Subscription/SubscriptionHelper.js' -import LimitationsManager from '../Subscription/LimitationsManager.js' +import LimitationsManager from '../Subscription/LimitationsManager.mjs' import Settings from '@overleaf/settings' -import AuthorizationManager from '../Authorization/AuthorizationManager.js' +import AuthorizationManager from '../Authorization/AuthorizationManager.mjs' import InactiveProjectManager from '../InactiveData/InactiveProjectManager.mjs' import ProjectUpdateHandler from './ProjectUpdateHandler.js' -import ProjectGetter from './ProjectGetter.js' +import ProjectGetter from './ProjectGetter.mjs' import PrivilegeLevels from '../Authorization/PrivilegeLevels.js' import SessionManager from '../Authentication/SessionManager.js' import Sources from '../Authorization/Sources.js' import TokenAccessHandler from '../TokenAccess/TokenAccessHandler.js' -import CollaboratorsGetter from '../Collaborators/CollaboratorsGetter.js' -import ProjectEntityHandler from './ProjectEntityHandler.js' -import TpdsProjectFlusher from '../ThirdPartyDataStore/TpdsProjectFlusher.js' +import CollaboratorsGetter from '../Collaborators/CollaboratorsGetter.mjs' +import ProjectEntityHandler from './ProjectEntityHandler.mjs' +import TpdsProjectFlusher from '../ThirdPartyDataStore/TpdsProjectFlusher.mjs' import Features from '../../infrastructure/Features.js' import BrandVariationsHandler from '../BrandVariations/BrandVariationsHandler.mjs' import UserController from '../User/UserController.mjs' @@ -36,7 +36,7 @@ import SplitTestHandler from '../SplitTests/SplitTestHandler.js' import SplitTestSessionHandler from '../SplitTests/SplitTestSessionHandler.js' import FeaturesUpdater from '../Subscription/FeaturesUpdater.js' import SpellingHandler from '../Spelling/SpellingHandler.mjs' -import { hasAdminAccess } from '../Helpers/AdminAuthorizationHelper.js' +import AdminAuthorizationHelper from '../Helpers/AdminAuthorizationHelper.mjs' import InstitutionsFeatures from '../Institutions/InstitutionsFeatures.js' import InstitutionsGetter from '../Institutions/InstitutionsGetter.mjs' import ProjectAuditLogHandler from './ProjectAuditLogHandler.mjs' @@ -52,6 +52,7 @@ import SubscriptionController from '../Subscription/SubscriptionController.mjs' import { formatCurrency } from '../../util/currency.js' import UserSettingsHelper from './UserSettingsHelper.mjs' +const { hasAdminAccess } = AdminAuthorizationHelper const { ObjectId } = mongodb /** * @import { GetProjectsRequest, GetProjectsResponse, Project } from "./types" diff --git a/services/web/app/src/Features/Project/ProjectDuplicator.mjs b/services/web/app/src/Features/Project/ProjectDuplicator.mjs index f4788b1242..1f015a0522 100644 --- a/services/web/app/src/Features/Project/ProjectDuplicator.mjs +++ b/services/web/app/src/Features/Project/ProjectDuplicator.mjs @@ -6,20 +6,20 @@ import { promiseMapWithLimit } from '@overleaf/promise-utils' import { Doc } from '../../models/Doc.js' import { File } from '../../models/File.js' import DocstoreManager from '../Docstore/DocstoreManager.js' -import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.js' -import HistoryManager from '../History/HistoryManager.js' -import ProjectCreationHandler from './ProjectCreationHandler.js' -import ProjectDeleter from './ProjectDeleter.js' -import ProjectEntityMongoUpdateHandler from './ProjectEntityMongoUpdateHandler.js' -import ProjectEntityUpdateHandler from './ProjectEntityUpdateHandler.js' -import ProjectGetter from './ProjectGetter.js' -import ProjectLocator from './ProjectLocator.js' +import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs' +import HistoryManager from '../History/HistoryManager.mjs' +import ProjectCreationHandler from './ProjectCreationHandler.mjs' +import ProjectDeleter from './ProjectDeleter.mjs' +import ProjectEntityMongoUpdateHandler from './ProjectEntityMongoUpdateHandler.mjs' +import ProjectEntityUpdateHandler from './ProjectEntityUpdateHandler.mjs' +import ProjectGetter from './ProjectGetter.mjs' +import ProjectLocator from './ProjectLocator.mjs' import ProjectOptionsHandler from './ProjectOptionsHandler.js' import SafePath from './SafePath.js' -import TpdsProjectFlusher from '../ThirdPartyDataStore/TpdsProjectFlusher.js' +import TpdsProjectFlusher from '../ThirdPartyDataStore/TpdsProjectFlusher.mjs' import _ from 'lodash' import TagsHandler from '../Tags/TagsHandler.js' -import ClsiCacheManager from '../Compile/ClsiCacheManager.js' +import ClsiCacheManager from '../Compile/ClsiCacheManager.mjs' import Modules from '../../infrastructure/Modules.js' export default { diff --git a/services/web/app/src/Features/Project/ProjectEntityRestoreHandler.mjs b/services/web/app/src/Features/Project/ProjectEntityRestoreHandler.mjs index 9bb2202bc9..e2971b3aef 100644 --- a/services/web/app/src/Features/Project/ProjectEntityRestoreHandler.mjs +++ b/services/web/app/src/Features/Project/ProjectEntityRestoreHandler.mjs @@ -1,7 +1,7 @@ import { callbackify } from 'node:util' import Path from 'node:path' -import ProjectEntityHandler from './ProjectEntityHandler.js' -import EditorController from '../Editor/EditorController.js' +import ProjectEntityHandler from './ProjectEntityHandler.mjs' +import EditorController from '../Editor/EditorController.mjs' // generate a new name based on the original, with an optional label. // e.g. origname-20210101-122345.tex (default) diff --git a/services/web/app/src/Features/Project/ProjectHistoryHandler.mjs b/services/web/app/src/Features/Project/ProjectHistoryHandler.mjs index f9ef9ceb41..b08533522e 100644 --- a/services/web/app/src/Features/Project/ProjectHistoryHandler.mjs +++ b/services/web/app/src/Features/Project/ProjectHistoryHandler.mjs @@ -1,7 +1,7 @@ import { Project } from '../../models/Project.js' -import ProjectDetailsHandler from './ProjectDetailsHandler.js' -import HistoryManager from '../History/HistoryManager.js' -import ProjectEntityUpdateHandler from './ProjectEntityUpdateHandler.js' +import ProjectDetailsHandler from './ProjectDetailsHandler.mjs' +import HistoryManager from '../History/HistoryManager.mjs' +import ProjectEntityUpdateHandler from './ProjectEntityUpdateHandler.mjs' import { callbackify } from 'node:util' const ProjectHistoryHandler = { diff --git a/services/web/app/src/Features/Project/ProjectListController.mjs b/services/web/app/src/Features/Project/ProjectListController.mjs index 087f2b2340..592af6b5a6 100644 --- a/services/web/app/src/Features/Project/ProjectListController.mjs +++ b/services/web/app/src/Features/Project/ProjectListController.mjs @@ -5,7 +5,7 @@ import moment from 'moment' import Metrics from '@overleaf/metrics' import Settings from '@overleaf/settings' import ProjectHelper from './ProjectHelper.js' -import ProjectGetter from './ProjectGetter.js' +import ProjectGetter from './ProjectGetter.mjs' import PrivilegeLevels from '../Authorization/PrivilegeLevels.js' import SessionManager from '../Authentication/SessionManager.js' import Sources from '../Authorization/Sources.js' diff --git a/services/web/app/src/Features/References/ReferencesHandler.mjs b/services/web/app/src/Features/References/ReferencesHandler.mjs index 0c03206f5a..b550fa1d0d 100644 --- a/services/web/app/src/Features/References/ReferencesHandler.mjs +++ b/services/web/app/src/Features/References/ReferencesHandler.mjs @@ -17,9 +17,9 @@ import logger from '@overleaf/logger' import request from 'request' import settings from '@overleaf/settings' import Features from '../../infrastructure/Features.js' -import ProjectGetter from '../Project/ProjectGetter.js' +import ProjectGetter from '../Project/ProjectGetter.mjs' import UserGetter from '../User/UserGetter.js' -import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.js' +import DocumentUpdaterHandler from '../DocumentUpdater/DocumentUpdaterHandler.mjs' import _ from 'lodash' import Async from 'async' import Errors from '../Errors/Errors.js' diff --git a/services/web/app/src/Features/ServerAdmin/AdminController.mjs b/services/web/app/src/Features/ServerAdmin/AdminController.mjs index 0d028d734e..8fa0119a9a 100644 --- a/services/web/app/src/Features/ServerAdmin/AdminController.mjs +++ b/services/web/app/src/Features/ServerAdmin/AdminController.mjs @@ -2,8 +2,8 @@ import logger from '@overleaf/logger' import http from 'node:http' import https from 'node:https' import Settings from '@overleaf/settings' -import TpdsUpdateSender from '../ThirdPartyDataStore/TpdsUpdateSender.js' -import TpdsProjectFlusher from '../ThirdPartyDataStore/TpdsProjectFlusher.js' +import TpdsUpdateSender from '../ThirdPartyDataStore/TpdsUpdateSender.mjs' +import TpdsProjectFlusher from '../ThirdPartyDataStore/TpdsProjectFlusher.mjs' import EditorRealTimeController from '../Editor/EditorRealTimeController.js' import SystemMessageManager from '../SystemMessages/SystemMessageManager.mjs' diff --git a/services/web/app/src/Features/Subscription/SubscriptionController.mjs b/services/web/app/src/Features/Subscription/SubscriptionController.mjs index 2623a4b29f..1a04cc49d5 100644 --- a/services/web/app/src/Features/Subscription/SubscriptionController.mjs +++ b/services/web/app/src/Features/Subscription/SubscriptionController.mjs @@ -1,10 +1,10 @@ // @ts-check import SessionManager from '../Authentication/SessionManager.js' -import SubscriptionHandler from './SubscriptionHandler.js' +import SubscriptionHandler from './SubscriptionHandler.mjs' import SubscriptionHelper from './SubscriptionHelper.js' import SubscriptionViewModelBuilder from './SubscriptionViewModelBuilder.mjs' -import LimitationsManager from './LimitationsManager.js' +import LimitationsManager from './LimitationsManager.mjs' import RecurlyWrapper from './RecurlyWrapper.js' import Settings from '@overleaf/settings' import logger from '@overleaf/logger' @@ -18,7 +18,7 @@ import { expressify } from '@overleaf/promise-utils' import OError from '@overleaf/o-error' import Errors from './Errors.js' import SplitTestHandler from '../SplitTests/SplitTestHandler.js' -import AuthorizationManager from '../Authorization/AuthorizationManager.js' +import AuthorizationManager from '../Authorization/AuthorizationManager.mjs' import Modules from '../../infrastructure/Modules.js' import async from 'async' import HttpErrorHandler from '../Errors/HttpErrorHandler.js' diff --git a/services/web/app/src/Features/Subscription/SubscriptionGroupHandler.mjs b/services/web/app/src/Features/Subscription/SubscriptionGroupHandler.mjs index 392c568a6a..063299f46d 100644 --- a/services/web/app/src/Features/Subscription/SubscriptionGroupHandler.mjs +++ b/services/web/app/src/Features/Subscription/SubscriptionGroupHandler.mjs @@ -8,7 +8,7 @@ import SubscriptionHelper from './SubscriptionHelper.js' import { Subscription } from '../../models/Subscription.js' import { User } from '../../models/User.js' import PlansLocator from './PlansLocator.js' -import TeamInvitesHandler from './TeamInvitesHandler.js' +import TeamInvitesHandler from './TeamInvitesHandler.mjs' import GroupPlansData from './GroupPlansData.js' import Modules from '../../infrastructure/Modules.js' import PaymentProviderEntities from './PaymentProviderEntities.js' diff --git a/services/web/app/src/Features/Subscription/SubscriptionRouter.mjs b/services/web/app/src/Features/Subscription/SubscriptionRouter.mjs index 5a9a7fbb21..36e2d201b9 100644 --- a/services/web/app/src/Features/Subscription/SubscriptionRouter.mjs +++ b/services/web/app/src/Features/Subscription/SubscriptionRouter.mjs @@ -1,4 +1,4 @@ -import AuthenticationController from '../Authentication/AuthenticationController.js' +import AuthenticationController from '../Authentication/AuthenticationController.mjs' import PermissionsController from '../Authorization/PermissionsController.mjs' import SubscriptionController from './SubscriptionController.mjs' import SubscriptionGroupController from './SubscriptionGroupController.mjs' diff --git a/services/web/app/src/Features/Subscription/TeamInvitesController.mjs b/services/web/app/src/Features/Subscription/TeamInvitesController.mjs index 774425e377..25cf0f19dc 100644 --- a/services/web/app/src/Features/Subscription/TeamInvitesController.mjs +++ b/services/web/app/src/Features/Subscription/TeamInvitesController.mjs @@ -1,7 +1,7 @@ import settings from '@overleaf/settings' import logger from '@overleaf/logger' import OError from '@overleaf/o-error' -import TeamInvitesHandler from './TeamInvitesHandler.js' +import TeamInvitesHandler from './TeamInvitesHandler.mjs' import SessionManager from '../Authentication/SessionManager.js' import SubscriptionLocator from './SubscriptionLocator.js' import SubscriptionHelper from './SubscriptionHelper.js' diff --git a/services/web/app/src/Features/Templates/TemplatesController.mjs b/services/web/app/src/Features/Templates/TemplatesController.mjs index ecd53e4656..bee842e835 100644 --- a/services/web/app/src/Features/Templates/TemplatesController.mjs +++ b/services/web/app/src/Features/Templates/TemplatesController.mjs @@ -1,6 +1,6 @@ import path from 'node:path' import SessionManager from '../Authentication/SessionManager.js' -import TemplatesManager from './TemplatesManager.js' +import TemplatesManager from './TemplatesManager.mjs' import ProjectHelper from '../Project/ProjectHelper.js' import logger from '@overleaf/logger' import { expressify } from '@overleaf/promise-utils' diff --git a/services/web/app/src/Features/Templates/TemplatesRouter.mjs b/services/web/app/src/Features/Templates/TemplatesRouter.mjs index 437e8686eb..b44491dc00 100644 --- a/services/web/app/src/Features/Templates/TemplatesRouter.mjs +++ b/services/web/app/src/Features/Templates/TemplatesRouter.mjs @@ -1,4 +1,4 @@ -import AuthenticationController from '../Authentication/AuthenticationController.js' +import AuthenticationController from '../Authentication/AuthenticationController.mjs' import TemplatesController from './TemplatesController.mjs' import TemplatesMiddleware from './TemplatesMiddleware.mjs' import { RateLimiter } from '../../infrastructure/RateLimiter.js' diff --git a/services/web/app/src/Features/ThirdPartyDataStore/TpdsController.mjs b/services/web/app/src/Features/ThirdPartyDataStore/TpdsController.mjs index 96faac3842..ed0aaf53d3 100644 --- a/services/web/app/src/Features/ThirdPartyDataStore/TpdsController.mjs +++ b/services/web/app/src/Features/ThirdPartyDataStore/TpdsController.mjs @@ -7,8 +7,8 @@ import Path from 'node:path' import metrics from '@overleaf/metrics' import NotificationsBuilder from '../Notifications/NotificationsBuilder.js' import SessionManager from '../Authentication/SessionManager.js' -import ProjectCreationHandler from '../Project/ProjectCreationHandler.js' -import ProjectDetailsHandler from '../Project/ProjectDetailsHandler.js' +import ProjectCreationHandler from '../Project/ProjectCreationHandler.mjs' +import ProjectDetailsHandler from '../Project/ProjectDetailsHandler.mjs' import HttpErrorHandler from '../Errors/HttpErrorHandler.js' import TpdsQueueManager from './TpdsQueueManager.mjs' diff --git a/services/web/app/src/Features/ThirdPartyDataStore/TpdsUpdateHandler.mjs b/services/web/app/src/Features/ThirdPartyDataStore/TpdsUpdateHandler.mjs index 3463a3ad2e..bfdb3f2d70 100644 --- a/services/web/app/src/Features/ThirdPartyDataStore/TpdsUpdateHandler.mjs +++ b/services/web/app/src/Features/ThirdPartyDataStore/TpdsUpdateHandler.mjs @@ -2,11 +2,11 @@ import { callbackify } from 'node:util' import UpdateMerger from './UpdateMerger.mjs' import logger from '@overleaf/logger' import NotificationsBuilder from '../Notifications/NotificationsBuilder.js' -import ProjectCreationHandler from '../Project/ProjectCreationHandler.js' -import ProjectDeleter from '../Project/ProjectDeleter.js' -import ProjectGetter from '../Project/ProjectGetter.js' +import ProjectCreationHandler from '../Project/ProjectCreationHandler.mjs' +import ProjectDeleter from '../Project/ProjectDeleter.mjs' +import ProjectGetter from '../Project/ProjectGetter.mjs' import ProjectHelper from '../Project/ProjectHelper.js' -import ProjectRootDocManager from '../Project/ProjectRootDocManager.js' +import ProjectRootDocManager from '../Project/ProjectRootDocManager.mjs' import FileTypeManager from '../Uploads/FileTypeManager.js' import CooldownManager from '../Cooldown/CooldownManager.js' import Errors from '../Errors/Errors.js' diff --git a/services/web/app/src/Features/ThirdPartyDataStore/UpdateMerger.mjs b/services/web/app/src/Features/ThirdPartyDataStore/UpdateMerger.mjs index 88636f6f67..17e760c356 100644 --- a/services/web/app/src/Features/ThirdPartyDataStore/UpdateMerger.mjs +++ b/services/web/app/src/Features/ThirdPartyDataStore/UpdateMerger.mjs @@ -3,9 +3,9 @@ import _ from 'lodash' import fsPromises from 'node:fs/promises' import fs from 'node:fs' import logger from '@overleaf/logger' -import EditorController from '../Editor/EditorController.js' +import EditorController from '../Editor/EditorController.mjs' import FileTypeManager from '../Uploads/FileTypeManager.js' -import ProjectEntityHandler from '../Project/ProjectEntityHandler.js' +import ProjectEntityHandler from '../Project/ProjectEntityHandler.mjs' import crypto from 'node:crypto' import Settings from '@overleaf/settings' import { pipeline } from 'node:stream/promises' diff --git a/services/web/app/src/Features/TokenAccess/TokenAccessController.mjs b/services/web/app/src/Features/TokenAccess/TokenAccessController.mjs index 412678b574..3ecb0d960d 100644 --- a/services/web/app/src/Features/TokenAccess/TokenAccessController.mjs +++ b/services/web/app/src/Features/TokenAccess/TokenAccessController.mjs @@ -1,26 +1,27 @@ -import AuthenticationController from '../Authentication/AuthenticationController.js' +import AuthenticationController from '../Authentication/AuthenticationController.mjs' import SessionManager from '../Authentication/SessionManager.js' import TokenAccessHandler from './TokenAccessHandler.js' import Errors from '../Errors/Errors.js' import logger from '@overleaf/logger' import OError from '@overleaf/o-error' import { expressify } from '@overleaf/promise-utils' -import AuthorizationManager from '../Authorization/AuthorizationManager.js' +import AuthorizationManager from '../Authorization/AuthorizationManager.mjs' import PrivilegeLevels from '../Authorization/PrivilegeLevels.js' import ProjectAuditLogHandler from '../Project/ProjectAuditLogHandler.mjs' import CollaboratorsInviteHandler from '../Collaborators/CollaboratorsInviteHandler.mjs' -import CollaboratorsHandler from '../Collaborators/CollaboratorsHandler.js' +import CollaboratorsHandler from '../Collaborators/CollaboratorsHandler.mjs' import EditorRealTimeController from '../Editor/EditorRealTimeController.js' -import CollaboratorsGetter from '../Collaborators/CollaboratorsGetter.js' -import ProjectGetter from '../Project/ProjectGetter.js' +import CollaboratorsGetter from '../Collaborators/CollaboratorsGetter.mjs' +import ProjectGetter from '../Project/ProjectGetter.mjs' import AsyncFormHelper from '../Helpers/AsyncFormHelper.js' import AnalyticsManager from '../Analytics/AnalyticsManager.js' -import { canRedirectToAdminDomain } from '../Helpers/AdminAuthorizationHelper.js' +import AdminAuthorizationHelper from '../Helpers/AdminAuthorizationHelper.mjs' import { getSafeAdminDomainRedirect } from '../Helpers/UrlHelper.js' import UserGetter from '../User/UserGetter.js' import Settings from '@overleaf/settings' -import LimitationsManager from '../Subscription/LimitationsManager.js' +import LimitationsManager from '../Subscription/LimitationsManager.mjs' +const { canRedirectToAdminDomain } = AdminAuthorizationHelper const orderedPrivilegeLevels = [ PrivilegeLevels.NONE, PrivilegeLevels.READ_ONLY, diff --git a/services/web/app/src/Features/TokenAccess/TokenAccessRouter.mjs b/services/web/app/src/Features/TokenAccess/TokenAccessRouter.mjs index 4dfff3c49d..4c7161ced0 100644 --- a/services/web/app/src/Features/TokenAccess/TokenAccessRouter.mjs +++ b/services/web/app/src/Features/TokenAccess/TokenAccessRouter.mjs @@ -1,4 +1,4 @@ -import AuthenticationController from '../Authentication/AuthenticationController.js' +import AuthenticationController from '../Authentication/AuthenticationController.mjs' import AuthorizationMiddleware from '../Authorization/AuthorizationMiddleware.mjs' import TokenAccessController from './TokenAccessController.mjs' diff --git a/services/web/app/src/Features/Uploads/ProjectUploadController.mjs b/services/web/app/src/Features/Uploads/ProjectUploadController.mjs index 84b8738af3..c414a3f516 100644 --- a/services/web/app/src/Features/Uploads/ProjectUploadController.mjs +++ b/services/web/app/src/Features/Uploads/ProjectUploadController.mjs @@ -2,11 +2,11 @@ import logger from '@overleaf/logger' import metrics from '@overleaf/metrics' import fs from 'node:fs' import Path from 'node:path' -import FileSystemImportManager from './FileSystemImportManager.js' -import ProjectUploadManager from './ProjectUploadManager.js' +import FileSystemImportManager from './FileSystemImportManager.mjs' +import ProjectUploadManager from './ProjectUploadManager.mjs' import SessionManager from '../Authentication/SessionManager.js' -import EditorController from '../Editor/EditorController.js' -import ProjectLocator from '../Project/ProjectLocator.js' +import EditorController from '../Editor/EditorController.mjs' +import ProjectLocator from '../Project/ProjectLocator.mjs' import Settings from '@overleaf/settings' import { InvalidZipFileError } from './ArchiveErrors.js' import multer from 'multer' diff --git a/services/web/app/src/Features/Uploads/UploadsRouter.mjs b/services/web/app/src/Features/Uploads/UploadsRouter.mjs index 5e1382d866..4cd3e90778 100644 --- a/services/web/app/src/Features/Uploads/UploadsRouter.mjs +++ b/services/web/app/src/Features/Uploads/UploadsRouter.mjs @@ -1,5 +1,5 @@ import AuthorizationMiddleware from '../Authorization/AuthorizationMiddleware.mjs' -import AuthenticationController from '../Authentication/AuthenticationController.js' +import AuthenticationController from '../Authentication/AuthenticationController.mjs' import ProjectUploadController from './ProjectUploadController.mjs' import { RateLimiter } from '../../infrastructure/RateLimiter.js' import RateLimiterMiddleware from '../Security/RateLimiterMiddleware.mjs' diff --git a/services/web/app/src/Features/User/UserController.mjs b/services/web/app/src/Features/User/UserController.mjs index 2939b34992..46f187e4ed 100644 --- a/services/web/app/src/Features/User/UserController.mjs +++ b/services/web/app/src/Features/User/UserController.mjs @@ -1,5 +1,5 @@ -import UserHandler from './UserHandler.js' -import UserDeleter from './UserDeleter.js' +import UserHandler from './UserHandler.mjs' +import UserDeleter from './UserDeleter.mjs' import UserGetter from './UserGetter.js' import { User } from '../../models/User.js' import NewsletterManager from '../Newsletter/NewsletterManager.js' diff --git a/services/web/app/src/Features/User/UserCreator.mjs b/services/web/app/src/Features/User/UserCreator.mjs index bcb0885d9e..8734bf1321 100644 --- a/services/web/app/src/Features/User/UserCreator.mjs +++ b/services/web/app/src/Features/User/UserCreator.mjs @@ -3,7 +3,7 @@ import util from 'node:util' import { AffiliationError } from '../Errors/Errors.js' import Features from '../../infrastructure/Features.js' import { User } from '../../models/User.js' -import UserDeleter from './UserDeleter.js' +import UserDeleter from './UserDeleter.mjs' import UserGetter from './UserGetter.js' import UserUpdater from './UserUpdater.js' import Analytics from '../Analytics/AnalyticsManager.js' diff --git a/services/web/app/src/Features/User/UserEmailsController.mjs b/services/web/app/src/Features/User/UserEmailsController.mjs index 66d1c768e7..b0ee1d3e92 100644 --- a/services/web/app/src/Features/User/UserEmailsController.mjs +++ b/services/web/app/src/Features/User/UserEmailsController.mjs @@ -1,4 +1,4 @@ -import AuthenticationController from '../Authentication/AuthenticationController.js' +import AuthenticationController from '../Authentication/AuthenticationController.mjs' import Settings from '@overleaf/settings' import logger from '@overleaf/logger' import SessionManager from '../Authentication/SessionManager.js' diff --git a/services/web/app/src/Features/User/UserPagesController.mjs b/services/web/app/src/Features/User/UserPagesController.mjs index 67f407ed25..a85521fa10 100644 --- a/services/web/app/src/Features/User/UserPagesController.mjs +++ b/services/web/app/src/Features/User/UserPagesController.mjs @@ -3,7 +3,7 @@ import OError from '@overleaf/o-error' import UserSessionsManager from './UserSessionsManager.js' import logger from '@overleaf/logger' import Settings from '@overleaf/settings' -import AuthenticationController from '../Authentication/AuthenticationController.js' +import AuthenticationController from '../Authentication/AuthenticationController.mjs' import SessionManager from '../Authentication/SessionManager.js' import NewsletterManager from '../Newsletter/NewsletterManager.js' import SubscriptionLocator from '../Subscription/SubscriptionLocator.js' diff --git a/services/web/app/src/Features/UserMembership/UserMembershipAuthorization.mjs b/services/web/app/src/Features/UserMembership/UserMembershipAuthorization.mjs index abb37e37da..0b26c597ce 100644 --- a/services/web/app/src/Features/UserMembership/UserMembershipAuthorization.mjs +++ b/services/web/app/src/Features/UserMembership/UserMembershipAuthorization.mjs @@ -1,10 +1,9 @@ -import { - hasAdminCapability, - hasAdminAccess, -} from '../Helpers/AdminAuthorizationHelper.js' +import AdminAuthorizationHelper from '../Helpers/AdminAuthorizationHelper.mjs' import SessionManager from '../Authentication/SessionManager.js' import Settings from '@overleaf/settings' +const { hasAdminCapability, hasAdminAccess } = AdminAuthorizationHelper + const UserMembershipAuthorization = { hasStaffAccess(requiredStaffAccess) { return req => { diff --git a/services/web/app/src/infrastructure/ExpressLocals.mjs b/services/web/app/src/infrastructure/ExpressLocals.mjs index b5cec630cb..b601a6fc20 100644 --- a/services/web/app/src/infrastructure/ExpressLocals.mjs +++ b/services/web/app/src/infrastructure/ExpressLocals.mjs @@ -12,18 +12,17 @@ import SessionManager from '../Features/Authentication/SessionManager.js' import PackageVersions from './PackageVersions.js' import Modules from './Modules.js' import Errors from '../Features/Errors/Errors.js' - -import { - canRedirectToAdminDomain, - hasAdminAccess, - useAdminCapabilities, - useHasAdminCapability, -} from '../Features/Helpers/AdminAuthorizationHelper.js' - +import AdminAuthorizationHelper from '../Features/Helpers/AdminAuthorizationHelper.mjs' import { addOptionalCleanupHandlerAfterDrainingConnections } from './GracefulShutdown.js' import { sanitizeSessionUserForFrontEnd } from './FrontEndUser.mjs' import { expressify } from '@overleaf/promise-utils' +const { + canRedirectToAdminDomain, + hasAdminAccess, + useAdminCapabilities, + useHasAdminCapability, +} = AdminAuthorizationHelper const IEEE_BRAND_ID = Settings.ieeeBrandId let webpackManifest diff --git a/services/web/app/src/infrastructure/Server.mjs b/services/web/app/src/infrastructure/Server.mjs index af1ed0faa2..4e13a8e143 100644 --- a/services/web/app/src/infrastructure/Server.mjs +++ b/services/web/app/src/infrastructure/Server.mjs @@ -28,9 +28,9 @@ import Features from './Features.js' import ErrorController from '../Features/Errors/ErrorController.mjs' import HttpErrorHandler from '../Features/Errors/HttpErrorHandler.js' import UserSessionsManager from '../Features/User/UserSessionsManager.js' -import AuthenticationController from '../Features/Authentication/AuthenticationController.js' +import AuthenticationController from '../Features/Authentication/AuthenticationController.mjs' import SessionManager from '../Features/Authentication/SessionManager.js' -import { hasAdminAccess } from '../Features/Helpers/AdminAuthorizationHelper.js' +import AdminAuthorizationHelper from '../Features/Helpers/AdminAuthorizationHelper.mjs' import Modules from './Modules.js' import expressLocals from './ExpressLocals.mjs' import noCache from 'nocache' @@ -39,6 +39,7 @@ import http from 'node:http' import { fileURLToPath } from 'node:url' import serveStaticWrapper from './ServeStaticWrapper.mjs' +const { hasAdminAccess } = AdminAuthorizationHelper const sessionsRedisClient = UserSessionsRedis.client() const oneDayInMilliseconds = 86400000 diff --git a/services/web/app/src/infrastructure/SiteAdminHandler.mjs b/services/web/app/src/infrastructure/SiteAdminHandler.mjs index fca93a956b..27cc1d9e39 100644 --- a/services/web/app/src/infrastructure/SiteAdminHandler.mjs +++ b/services/web/app/src/infrastructure/SiteAdminHandler.mjs @@ -8,7 +8,7 @@ import { } from './GracefulShutdown.js' import Features from './Features.js' -import UserHandler from '../Features/User/UserHandler.js' +import UserHandler from '../Features/User/UserHandler.mjs' import metrics from '@overleaf/metrics' // Monitor a site maintenance file (e.g. /etc/site_status) periodically and diff --git a/services/web/app/src/router.mjs b/services/web/app/src/router.mjs index 359334e23e..27c25f3e65 100644 --- a/services/web/app/src/router.mjs +++ b/services/web/app/src/router.mjs @@ -12,7 +12,7 @@ import SubscriptionRouter from './Features/Subscription/SubscriptionRouter.mjs' import UploadsRouter from './Features/Uploads/UploadsRouter.mjs' import metrics from '@overleaf/metrics' import ReferalController from './Features/Referal/ReferalController.mjs' -import AuthenticationController from './Features/Authentication/AuthenticationController.js' +import AuthenticationController from './Features/Authentication/AuthenticationController.mjs' import PermissionsController from './Features/Authorization/PermissionsController.mjs' import SessionManager from './Features/Authentication/SessionManager.js' import TagsController from './Features/Tags/TagsController.mjs' diff --git a/services/web/modules/history-v1/test/acceptance/src/ProjectStructureTests.mjs b/services/web/modules/history-v1/test/acceptance/src/ProjectStructureTests.mjs index 4b621402b7..2d54bafad4 100644 --- a/services/web/modules/history-v1/test/acceptance/src/ProjectStructureTests.mjs +++ b/services/web/modules/history-v1/test/acceptance/src/ProjectStructureTests.mjs @@ -1,18 +1,19 @@ import { expect } from 'chai' import mongodb from 'mongodb-legacy' import Path from 'node:path' -import { fileURLToPath } from 'node:url' import fs from 'node:fs' import Settings from '@overleaf/settings' import _ from 'lodash' -import ProjectGetter from '../../../../../app/src/Features/Project/ProjectGetter.js' +import ProjectGetter from '../../../../../app/src/Features/Project/ProjectGetter.mjs' import User from '../../../../../test/acceptance/src/helpers/User.mjs' import MockDocUpdaterApiClass from '../../../../../test/acceptance/src/mocks/MockDocUpdaterApi.mjs' const { ObjectId } = mongodb -const __dirname = fileURLToPath(new URL('.', import.meta.url)) -const FILES_PATH = Path.join(__dirname, '../../../../../test/acceptance/files') +const FILES_PATH = Path.join( + import.meta.dirname, + '../../../../../test/acceptance/files' +) let MockDocUpdaterApi diff --git a/services/web/modules/launchpad/app/src/LaunchpadController.mjs b/services/web/modules/launchpad/app/src/LaunchpadController.mjs index b20f5bb796..aa2b11be04 100644 --- a/services/web/modules/launchpad/app/src/LaunchpadController.mjs +++ b/services/web/modules/launchpad/app/src/LaunchpadController.mjs @@ -2,18 +2,17 @@ import OError from '@overleaf/o-error' import { expressify } from '@overleaf/promise-utils' import Settings from '@overleaf/settings' import Path from 'node:path' -import { fileURLToPath } from 'node:url' import logger from '@overleaf/logger' import UserRegistrationHandler from '../../../../app/src/Features/User/UserRegistrationHandler.mjs' import EmailHandler from '../../../../app/src/Features/Email/EmailHandler.js' import UserGetter from '../../../../app/src/Features/User/UserGetter.js' import { User } from '../../../../app/src/models/User.js' import AuthenticationManager from '../../../../app/src/Features/Authentication/AuthenticationManager.js' -import AuthenticationController from '../../../../app/src/Features/Authentication/AuthenticationController.js' +import AuthenticationController from '../../../../app/src/Features/Authentication/AuthenticationController.mjs' import SessionManager from '../../../../app/src/Features/Authentication/SessionManager.js' -import { hasAdminAccess } from '../../../../app/src/Features/Helpers/AdminAuthorizationHelper.js' +import AdminAuthorizationHelper from '../../../../app/src/Features/Helpers/AdminAuthorizationHelper.mjs' -const __dirname = fileURLToPath(new URL('.', import.meta.url)) +const { hasAdminAccess } = AdminAuthorizationHelper /** * Container for functions that need to be mocked in tests @@ -53,7 +52,7 @@ async function launchpadPage(req, res) { if (!sessionUser) { if (!adminUserExists) { - res.render(Path.resolve(__dirname, '../views/launchpad'), { + res.render(Path.resolve(import.meta.dirname, '../views/launchpad'), { adminUserExists, authMethod, }) @@ -66,7 +65,7 @@ async function launchpadPage(req, res) { isAdmin: 1, }) if (hasAdminAccess(user)) { - res.render(Path.resolve(__dirname, '../views/launchpad'), { + res.render(Path.resolve(import.meta.dirname, '../views/launchpad'), { wsUrl: Settings.wsUrl, adminUserExists, authMethod, diff --git a/services/web/modules/launchpad/app/src/LaunchpadRouter.mjs b/services/web/modules/launchpad/app/src/LaunchpadRouter.mjs index b8adcfcbe7..869fb922b7 100644 --- a/services/web/modules/launchpad/app/src/LaunchpadRouter.mjs +++ b/services/web/modules/launchpad/app/src/LaunchpadRouter.mjs @@ -1,7 +1,7 @@ import logger from '@overleaf/logger' import LaunchpadController from './LaunchpadController.mjs' -import AuthenticationController from '../../../../app/src/Features/Authentication/AuthenticationController.js' +import AuthenticationController from '../../../../app/src/Features/Authentication/AuthenticationController.mjs' import AuthorizationMiddleware from '../../../../app/src/Features/Authorization/AuthorizationMiddleware.mjs' export default { diff --git a/services/web/modules/launchpad/test/unit/src/LaunchpadController.test.mjs b/services/web/modules/launchpad/test/unit/src/LaunchpadController.test.mjs index 0f1f395167..7c07334aee 100644 --- a/services/web/modules/launchpad/test/unit/src/LaunchpadController.test.mjs +++ b/services/web/modules/launchpad/test/unit/src/LaunchpadController.test.mjs @@ -57,7 +57,7 @@ describe('LaunchpadController', function () { })) vi.doMock( - '../../../../../app/src/Features/Authentication/AuthenticationController.js', + '../../../../../app/src/Features/Authentication/AuthenticationController.mjs', () => ({ default: (ctx.AuthenticationController = {}), }) diff --git a/services/web/modules/server-ce-scripts/scripts/delete-user.mjs b/services/web/modules/server-ce-scripts/scripts/delete-user.mjs index 1cb8aebdef..9ce845115e 100644 --- a/services/web/modules/server-ce-scripts/scripts/delete-user.mjs +++ b/services/web/modules/server-ce-scripts/scripts/delete-user.mjs @@ -1,5 +1,5 @@ import UserGetter from '../../../app/src/Features/User/UserGetter.js' -import UserDeleter from '../../../app/src/Features/User/UserDeleter.js' +import UserDeleter from '../../../app/src/Features/User/UserDeleter.mjs' import { fileURLToPath } from 'url' import minimist from 'minimist' diff --git a/services/web/modules/server-ce-scripts/scripts/export-user-projects.mjs b/services/web/modules/server-ce-scripts/scripts/export-user-projects.mjs index d0b5f489c5..c84e72037a 100644 --- a/services/web/modules/server-ce-scripts/scripts/export-user-projects.mjs +++ b/services/web/modules/server-ce-scripts/scripts/export-user-projects.mjs @@ -7,7 +7,7 @@ import { renameSync, } from 'fs' import { pipeline } from 'stream/promises' -import DocumentUpdaterHandler from '../../../app/src/Features/DocumentUpdater/DocumentUpdaterHandler.js' +import DocumentUpdaterHandler from '../../../app/src/Features/DocumentUpdater/DocumentUpdaterHandler.mjs' import ProjectZipStreamManager from '../../../app/src/Features/Downloads/ProjectZipStreamManager.mjs' import logger from '@overleaf/logger' import { promisify } from '@overleaf/promise-utils' diff --git a/services/web/modules/user-activate/app/src/UserActivateRouter.mjs b/services/web/modules/user-activate/app/src/UserActivateRouter.mjs index 4d4eedae9a..f185c37eab 100644 --- a/services/web/modules/user-activate/app/src/UserActivateRouter.mjs +++ b/services/web/modules/user-activate/app/src/UserActivateRouter.mjs @@ -1,6 +1,6 @@ import logger from '@overleaf/logger' import UserActivateController from './UserActivateController.mjs' -import AuthenticationController from '../../../../app/src/Features/Authentication/AuthenticationController.js' +import AuthenticationController from '../../../../app/src/Features/Authentication/AuthenticationController.mjs' import AuthorizationMiddleware from '../../../../app/src/Features/Authorization/AuthorizationMiddleware.mjs' export default { diff --git a/services/web/scripts/attach_dangling_comments_to_doc.mjs b/services/web/scripts/attach_dangling_comments_to_doc.mjs index e8b34fdc93..df9a7eae5a 100644 --- a/services/web/scripts/attach_dangling_comments_to_doc.mjs +++ b/services/web/scripts/attach_dangling_comments_to_doc.mjs @@ -3,9 +3,9 @@ import minimist from 'minimist' import process from 'node:process' import ChatApiHandler from '../app/src/Features/Chat/ChatApiHandler.js' -import DocumentUpdaterHandler from '../app/src/Features/DocumentUpdater/DocumentUpdaterHandler.js' +import DocumentUpdaterHandler from '../app/src/Features/DocumentUpdater/DocumentUpdaterHandler.mjs' import DocstoreManager from '../app/src/Features/Docstore/DocstoreManager.js' -import HistoryManager from '../app/src/Features/History/HistoryManager.js' +import HistoryManager from '../app/src/Features/History/HistoryManager.mjs' import { db, ObjectId } from '../app/src/infrastructure/mongodb.js' const OPTS = parseArgs() diff --git a/services/web/scripts/check_project_files.mjs b/services/web/scripts/check_project_files.mjs index e6ca2d1602..8e592ec2c5 100644 --- a/services/web/scripts/check_project_files.mjs +++ b/services/web/scripts/check_project_files.mjs @@ -1,11 +1,11 @@ import { scriptRunner } from './lib/ScriptRunner.mjs' import Path from 'node:path' import DocstoreManager from '../app/src/Features/Docstore/DocstoreManager.js' -import DocumentUpdaterHandler from '../app/src/Features/DocumentUpdater/DocumentUpdaterHandler.js' -import ProjectGetter from '../app/src/Features/Project/ProjectGetter.js' -import ProjectEntityMongoUpdateHandler from '../app/src/Features/Project/ProjectEntityMongoUpdateHandler.js' +import DocumentUpdaterHandler from '../app/src/Features/DocumentUpdater/DocumentUpdaterHandler.mjs' +import ProjectGetter from '../app/src/Features/Project/ProjectGetter.mjs' +import ProjectEntityMongoUpdateHandler from '../app/src/Features/Project/ProjectEntityMongoUpdateHandler.mjs' import { waitForDb, db, ObjectId } from '../app/src/infrastructure/mongodb.js' -import HistoryManager from '../app/src/Features/History/HistoryManager.js' +import HistoryManager from '../app/src/Features/History/HistoryManager.mjs' import logger from '@overleaf/logger' import minimist from 'minimist' diff --git a/services/web/scripts/clear_project_tokens.mjs b/services/web/scripts/clear_project_tokens.mjs index 798e67aded..636d7ffcac 100644 --- a/services/web/scripts/clear_project_tokens.mjs +++ b/services/web/scripts/clear_project_tokens.mjs @@ -1,4 +1,4 @@ -import ProjectDetailsHandler from '../app/src/Features/Project/ProjectDetailsHandler.js' +import ProjectDetailsHandler from '../app/src/Features/Project/ProjectDetailsHandler.mjs' import { scriptRunner } from './lib/ScriptRunner.mjs' const projectId = process.argv[2] diff --git a/services/web/scripts/convert_doc_to_file.mjs b/services/web/scripts/convert_doc_to_file.mjs index a1d401dc23..e8162d8045 100644 --- a/services/web/scripts/convert_doc_to_file.mjs +++ b/services/web/scripts/convert_doc_to_file.mjs @@ -1,6 +1,6 @@ import minimist from 'minimist' import { ObjectId } from '../app/src/infrastructure/mongodb.js' -import ProjectEntityUpdateHandler from '../app/src/Features/Project/ProjectEntityUpdateHandler.js' +import ProjectEntityUpdateHandler from '../app/src/Features/Project/ProjectEntityUpdateHandler.mjs' import Errors from '../app/src/Features/Errors/Errors.js' import { scriptRunner } from './lib/ScriptRunner.mjs' diff --git a/services/web/scripts/count_files_in_projects.mjs b/services/web/scripts/count_files_in_projects.mjs index 59b49bbdf3..9347d6a119 100644 --- a/services/web/scripts/count_files_in_projects.mjs +++ b/services/web/scripts/count_files_in_projects.mjs @@ -1,6 +1,6 @@ import readline from 'node:readline' -import ProjectEntityHandler from '../app/src/Features/Project/ProjectEntityHandler.js' -import ProjectGetter from '../app/src/Features/Project/ProjectGetter.js' +import ProjectEntityHandler from '../app/src/Features/Project/ProjectEntityHandler.mjs' +import ProjectGetter from '../app/src/Features/Project/ProjectGetter.mjs' import Errors from '../app/src/Features/Errors/Errors.js' async function countFiles() { diff --git a/services/web/scripts/count_project_size.mjs b/services/web/scripts/count_project_size.mjs index 9d159ad844..31c83a69c0 100644 --- a/services/web/scripts/count_project_size.mjs +++ b/services/web/scripts/count_project_size.mjs @@ -1,9 +1,9 @@ import readline from 'node:readline' import { ObjectId, db } from '../app/src/infrastructure/mongodb.js' -import ProjectEntityHandler from '../app/src/Features/Project/ProjectEntityHandler.js' -import ProjectGetter from '../app/src/Features/Project/ProjectGetter.js' +import ProjectEntityHandler from '../app/src/Features/Project/ProjectEntityHandler.mjs' +import ProjectGetter from '../app/src/Features/Project/ProjectGetter.mjs' import Errors from '../app/src/Features/Errors/Errors.js' -import HistoryManager from '../app/src/Features/History/HistoryManager.js' +import HistoryManager from '../app/src/Features/History/HistoryManager.mjs' // Handles a list of project IDs from stdin, one per line, and outputs the count of files and docs // in the project, along with the aggregated size in bytes for all files and docs. diff --git a/services/web/scripts/create_project.mjs b/services/web/scripts/create_project.mjs index 5fb1960d9a..70f6ae4706 100644 --- a/services/web/scripts/create_project.mjs +++ b/services/web/scripts/create_project.mjs @@ -9,10 +9,10 @@ import _ from 'lodash' import parseArgs from 'minimist' import OError from '@overleaf/o-error' import { User } from '../app/src/models/User.js' -import ProjectCreationHandler from '../app/src/Features/Project/ProjectCreationHandler.js' -import ProjectEntityUpdateHandler from '../app/src/Features/Project/ProjectEntityUpdateHandler.js' -import ProjectEntityHandler from '../app/src/Features/Project/ProjectEntityHandler.js' -import EditorController from '../app/src/Features/Editor/EditorController.js' +import ProjectCreationHandler from '../app/src/Features/Project/ProjectCreationHandler.mjs' +import ProjectEntityUpdateHandler from '../app/src/Features/Project/ProjectEntityUpdateHandler.mjs' +import ProjectEntityHandler from '../app/src/Features/Project/ProjectEntityHandler.mjs' +import EditorController from '../app/src/Features/Editor/EditorController.mjs' import { fileURLToPath } from 'node:url' const __dirname = path.dirname(fileURLToPath(import.meta.url)) diff --git a/services/web/scripts/delete_dangling_comments.mjs b/services/web/scripts/delete_dangling_comments.mjs index 71454cbd33..ba6802c9d1 100644 --- a/services/web/scripts/delete_dangling_comments.mjs +++ b/services/web/scripts/delete_dangling_comments.mjs @@ -2,9 +2,9 @@ import minimist from 'minimist' import ChatApiHandler from '../app/src/Features/Chat/ChatApiHandler.js' -import DocumentUpdaterHandler from '../app/src/Features/DocumentUpdater/DocumentUpdaterHandler.js' +import DocumentUpdaterHandler from '../app/src/Features/DocumentUpdater/DocumentUpdaterHandler.mjs' import DocstoreManager from '../app/src/Features/Docstore/DocstoreManager.js' -import HistoryManager from '../app/src/Features/History/HistoryManager.js' +import HistoryManager from '../app/src/Features/History/HistoryManager.mjs' import { db, ObjectId } from '../app/src/infrastructure/mongodb.js' const OPTS = parseArgs() diff --git a/services/web/scripts/delete_dangling_file_refs.mjs b/services/web/scripts/delete_dangling_file_refs.mjs index a8a882a84b..df2ae91e22 100644 --- a/services/web/scripts/delete_dangling_file_refs.mjs +++ b/services/web/scripts/delete_dangling_file_refs.mjs @@ -7,10 +7,10 @@ import minimist from 'minimist' import mongodb from 'mongodb-legacy' import { db } from '../app/src/infrastructure/mongodb.js' import Errors from '../app/src/Features/Errors/Errors.js' -import ProjectEntityMongoUpdateHandler from '../app/src/Features/Project/ProjectEntityMongoUpdateHandler.js' +import ProjectEntityMongoUpdateHandler from '../app/src/Features/Project/ProjectEntityMongoUpdateHandler.mjs' import { iterablePaths } from '../app/src/Features/Project/IterablePath.js' import { scriptRunner } from './lib/ScriptRunner.mjs' -import HistoryManager from '../app/src/Features/History/HistoryManager.js' +import HistoryManager from '../app/src/Features/History/HistoryManager.mjs' const { ObjectId } = mongodb diff --git a/services/web/scripts/delete_orphaned_doc_comment_ranges.mjs b/services/web/scripts/delete_orphaned_doc_comment_ranges.mjs index c99bfe5b9d..7337163b5c 100644 --- a/services/web/scripts/delete_orphaned_doc_comment_ranges.mjs +++ b/services/web/scripts/delete_orphaned_doc_comment_ranges.mjs @@ -1,7 +1,7 @@ import minimist from 'minimist' import ChatApiHandler from '../app/src/Features/Chat/ChatApiHandler.js' import DocstoreManager from '../app/src/Features/Docstore/DocstoreManager.js' -import DocumentUpdaterHandler from '../app/src/Features/DocumentUpdater/DocumentUpdaterHandler.js' +import DocumentUpdaterHandler from '../app/src/Features/DocumentUpdater/DocumentUpdaterHandler.mjs' import { promiseMapWithLimit } from '@overleaf/promise-utils' import { scriptRunner } from './lib/ScriptRunner.mjs' diff --git a/services/web/scripts/e2e_test_setup.mjs b/services/web/scripts/e2e_test_setup.mjs index dd1d720fad..f140d62c8d 100644 --- a/services/web/scripts/e2e_test_setup.mjs +++ b/services/web/scripts/e2e_test_setup.mjs @@ -5,9 +5,9 @@ import { promiseMapWithLimit } from '@overleaf/promise-utils' import Settings from '@overleaf/settings' import { db } from '../app/src/infrastructure/mongodb.js' import GracefulShutdown from '../app/src/infrastructure/GracefulShutdown.js' -import ProjectDeleter from '../app/src/Features/Project/ProjectDeleter.js' +import ProjectDeleter from '../app/src/Features/Project/ProjectDeleter.mjs' import SplitTestManager from '../app/src/Features/SplitTests/SplitTestManager.js' -import UserDeleter from '../app/src/Features/User/UserDeleter.js' +import UserDeleter from '../app/src/Features/User/UserDeleter.mjs' import UserRegistrationHandler from '../app/src/Features/User/UserRegistrationHandler.mjs' const MONOREPO = Path.dirname( diff --git a/services/web/scripts/fix_malformed_filetree.mjs b/services/web/scripts/fix_malformed_filetree.mjs index ff838d15c6..edaeeee612 100644 --- a/services/web/scripts/fix_malformed_filetree.mjs +++ b/services/web/scripts/fix_malformed_filetree.mjs @@ -8,9 +8,7 @@ */ import mongodb from 'mongodb-legacy' import { db } from '../app/src/infrastructure/mongodb.js' -import ProjectLocator, { - findDeep, -} from '../app/src/Features/Project/ProjectLocator.js' +import ProjectLocator from '../app/src/Features/Project/ProjectLocator.mjs' import minimist from 'minimist' import readline from 'node:readline' import fs from 'node:fs' @@ -18,6 +16,7 @@ import logger from '@overleaf/logger' import { scriptRunner } from './lib/ScriptRunner.mjs' const { ObjectId } = mongodb +const { findDeep } = ProjectLocator const lastUpdated = new Date() const argv = minimist(process.argv.slice(2), { diff --git a/services/web/scripts/fix_oversized_docs.mjs b/services/web/scripts/fix_oversized_docs.mjs index 1fe7b8337a..c30bd60744 100644 --- a/services/web/scripts/fix_oversized_docs.mjs +++ b/services/web/scripts/fix_oversized_docs.mjs @@ -2,10 +2,10 @@ import fs from 'node:fs' import minimist from 'minimist' import { ObjectId } from '../app/src/infrastructure/mongodb.js' import DocstoreManager from '../app/src/Features/Docstore/DocstoreManager.js' -import FileStoreHandler from '../app/src/Features/FileStore/FileStoreHandler.js' +import FileStoreHandler from '../app/src/Features/FileStore/FileStoreHandler.mjs' import FileWriter from '../app/src/infrastructure/FileWriter.js' -import ProjectEntityMongoUpdateHandler from '../app/src/Features/Project/ProjectEntityMongoUpdateHandler.js' -import ProjectLocator from '../app/src/Features/Project/ProjectLocator.js' +import ProjectEntityMongoUpdateHandler from '../app/src/Features/Project/ProjectEntityMongoUpdateHandler.mjs' +import ProjectLocator from '../app/src/Features/Project/ProjectLocator.mjs' import RedisWrapper from '@overleaf/redis-wrapper' import Settings from '@overleaf/settings' import { scriptRunner } from './lib/ScriptRunner.mjs' diff --git a/services/web/scripts/force_doc_flush.mjs b/services/web/scripts/force_doc_flush.mjs index b6791710b0..a4f69e47cf 100644 --- a/services/web/scripts/force_doc_flush.mjs +++ b/services/web/scripts/force_doc_flush.mjs @@ -1,6 +1,6 @@ import mongodb from 'mongodb-legacy' import { db } from '../app/src/infrastructure/mongodb.js' -import DocumentUpdaterHandler from '../app/src/Features/DocumentUpdater/DocumentUpdaterHandler.js' +import DocumentUpdaterHandler from '../app/src/Features/DocumentUpdater/DocumentUpdaterHandler.mjs' import { scriptRunner } from './lib/ScriptRunner.mjs' const { ObjectId } = mongodb diff --git a/services/web/scripts/recover_docs_from_redis.mjs b/services/web/scripts/recover_docs_from_redis.mjs index ac2cc1c029..4e5a4ae285 100644 --- a/services/web/scripts/recover_docs_from_redis.mjs +++ b/services/web/scripts/recover_docs_from_redis.mjs @@ -3,7 +3,7 @@ import minimist from 'minimist' import { db, ObjectId } from '../app/src/infrastructure/mongodb.js' -import ProjectEntityUpdateHandler from '../app/src/Features/Project/ProjectEntityUpdateHandler.js' +import ProjectEntityUpdateHandler from '../app/src/Features/Project/ProjectEntityUpdateHandler.mjs' import ProjectEntityRestoreHandler from '../app/src/Features/Project/ProjectEntityRestoreHandler.mjs' import RedisWrapper from '@overleaf/redis-wrapper' import Settings from '@overleaf/settings' diff --git a/services/web/scripts/restore_orphaned_docs.mjs b/services/web/scripts/restore_orphaned_docs.mjs index 3edbc5d15a..9c9f3aaaa9 100644 --- a/services/web/scripts/restore_orphaned_docs.mjs +++ b/services/web/scripts/restore_orphaned_docs.mjs @@ -1,5 +1,5 @@ import ProjectEntityRestoreHandler from '../app/src/Features/Project/ProjectEntityRestoreHandler.mjs' -import ProjectEntityHandler from '../app/src/Features/Project/ProjectEntityHandler.js' +import ProjectEntityHandler from '../app/src/Features/Project/ProjectEntityHandler.mjs' import DocstoreManager from '../app/src/Features/Docstore/DocstoreManager.js' import { scriptRunner } from './lib/ScriptRunner.mjs' diff --git a/services/web/scripts/soft_delete_project.mjs b/services/web/scripts/soft_delete_project.mjs index f530040980..517eb7c655 100644 --- a/services/web/scripts/soft_delete_project.mjs +++ b/services/web/scripts/soft_delete_project.mjs @@ -1,5 +1,5 @@ import minimist from 'minimist' -import ProjectDeleter from '../app/src/Features/Project/ProjectDeleter.js' +import ProjectDeleter from '../app/src/Features/Project/ProjectDeleter.mjs' import { scriptRunner } from './lib/ScriptRunner.mjs' async function main() { diff --git a/services/web/scripts/stress_test.mjs b/services/web/scripts/stress_test.mjs index 64bc9f0d05..47fa90c6eb 100644 --- a/services/web/scripts/stress_test.mjs +++ b/services/web/scripts/stress_test.mjs @@ -1,6 +1,6 @@ import minimist from 'minimist' import settings from '@overleaf/settings' -import ProjectDetailsHandler from '../app/src/Features/Project/ProjectDetailsHandler.js' +import ProjectDetailsHandler from '../app/src/Features/Project/ProjectDetailsHandler.mjs' import mongodb from '../app/src/infrastructure/mongodb.js' import mongoose from '../app/src/infrastructure/Mongoose.js' import fs from 'node:fs' diff --git a/services/web/scripts/undelete_project_to_user.mjs b/services/web/scripts/undelete_project_to_user.mjs index 0863ad5f23..5d881cd543 100644 --- a/services/web/scripts/undelete_project_to_user.mjs +++ b/services/web/scripts/undelete_project_to_user.mjs @@ -1,5 +1,5 @@ import minimist from 'minimist' -import ProjectDeleter from '../app/src/Features/Project/ProjectDeleter.js' +import ProjectDeleter from '../app/src/Features/Project/ProjectDeleter.mjs' import { scriptRunner } from './lib/ScriptRunner.mjs' async function main() { diff --git a/services/web/test/acceptance/src/HistoryTests.mjs b/services/web/test/acceptance/src/HistoryTests.mjs index 40f12b920a..e93803809d 100644 --- a/services/web/test/acceptance/src/HistoryTests.mjs +++ b/services/web/test/acceptance/src/HistoryTests.mjs @@ -3,7 +3,7 @@ import Path from 'node:path' import { expect } from 'chai' import UserHelper from './helpers/User.mjs' import MockV1HistoryApiClass from './mocks/MockV1HistoryApi.mjs' -import ProjectGetter from '../../../app/src/Features/Project/ProjectGetter.js' +import ProjectGetter from '../../../app/src/Features/Project/ProjectGetter.mjs' import { fileURLToPath } from 'node:url' import sinon from 'sinon' import logger from '@overleaf/logger' diff --git a/services/web/test/acceptance/src/ProjectStructureMongoLockTest.mjs b/services/web/test/acceptance/src/ProjectStructureMongoLockTest.mjs index bc01ffbe65..33d8610f49 100644 --- a/services/web/test/acceptance/src/ProjectStructureMongoLockTest.mjs +++ b/services/web/test/acceptance/src/ProjectStructureMongoLockTest.mjs @@ -14,9 +14,9 @@ import LockManager from '../../../app/src/infrastructure/LockManager.js' -import ProjectCreationHandler from '../../../app/src/Features/Project/ProjectCreationHandler.js' -import ProjectGetter from '../../../app/src/Features/Project/ProjectGetter.js' -import ProjectEntityMongoUpdateHandler from '../../../app/src/Features/Project/ProjectEntityMongoUpdateHandler.js' +import ProjectCreationHandler from '../../../app/src/Features/Project/ProjectCreationHandler.mjs' +import ProjectGetter from '../../../app/src/Features/Project/ProjectGetter.mjs' +import ProjectEntityMongoUpdateHandler from '../../../app/src/Features/Project/ProjectEntityMongoUpdateHandler.mjs' import UserCreator from '../../../app/src/Features/User/UserCreator.mjs' import { expect } from 'chai' import _ from 'lodash' diff --git a/services/web/test/acceptance/src/ProjectStructureTests.mjs b/services/web/test/acceptance/src/ProjectStructureTests.mjs index d87daba5f5..14edf58c4f 100644 --- a/services/web/test/acceptance/src/ProjectStructureTests.mjs +++ b/services/web/test/acceptance/src/ProjectStructureTests.mjs @@ -3,7 +3,7 @@ import mongodb from 'mongodb-legacy' import Path from 'node:path' import fs from 'node:fs' import { Project } from '../../../app/src/models/Project.js' -import ProjectGetter from '../../../app/src/Features/Project/ProjectGetter.js' +import ProjectGetter from '../../../app/src/Features/Project/ProjectGetter.mjs' import UserHelper from './helpers/User.mjs' import MockDocStoreApiClass from './mocks/MockDocstoreApi.mjs' import MockDocUpdaterApiClass from './mocks/MockDocUpdaterApi.mjs' diff --git a/services/web/test/acceptance/src/SecurityHeadersTests.mjs b/services/web/test/acceptance/src/SecurityHeadersTests.mjs index 6b11fee6e9..80c2bdf0bb 100644 --- a/services/web/test/acceptance/src/SecurityHeadersTests.mjs +++ b/services/web/test/acceptance/src/SecurityHeadersTests.mjs @@ -16,7 +16,7 @@ import { assert } from 'chai' import async from 'async' import User from './helpers/User.mjs' import request from './helpers/request.js' -import ProjectGetter from '../../../app/src/Features/Project/ProjectGetter.js' +import ProjectGetter from '../../../app/src/Features/Project/ProjectGetter.mjs' const assertHasCommonHeaders = function (response) { const { headers } = response diff --git a/services/web/test/acceptance/src/TpdsUpdateTests.mjs b/services/web/test/acceptance/src/TpdsUpdateTests.mjs index 3515e03823..ba7b5fa6f0 100644 --- a/services/web/test/acceptance/src/TpdsUpdateTests.mjs +++ b/services/web/test/acceptance/src/TpdsUpdateTests.mjs @@ -1,5 +1,5 @@ import { expect } from 'chai' -import ProjectGetter from '../../../app/src/Features/Project/ProjectGetter.js' +import ProjectGetter from '../../../app/src/Features/Project/ProjectGetter.mjs' import request from './helpers/request.js' import User from './helpers/User.mjs' diff --git a/services/web/test/unit/src/Collaborators/CollaboratorsController.test.mjs b/services/web/test/unit/src/Collaborators/CollaboratorsController.test.mjs index fb36926c7e..0d0b320154 100644 --- a/services/web/test/unit/src/Collaborators/CollaboratorsController.test.mjs +++ b/services/web/test/unit/src/Collaborators/CollaboratorsController.test.mjs @@ -88,14 +88,14 @@ describe('CollaboratorsController', function () { })) vi.doMock( - '../../../../app/src/Features/Collaborators/CollaboratorsHandler.js', + '../../../../app/src/Features/Collaborators/CollaboratorsHandler.mjs', () => ({ default: ctx.CollaboratorsHandler, }) ) vi.doMock( - '../../../../app/src/Features/Collaborators/CollaboratorsGetter.js', + '../../../../app/src/Features/Collaborators/CollaboratorsGetter.mjs', () => ({ default: ctx.CollaboratorsGetter, }) @@ -147,7 +147,7 @@ describe('CollaboratorsController', function () { }) ) - vi.doMock('../../../../app/src/Features/Project/ProjectGetter.js', () => ({ + vi.doMock('../../../../app/src/Features/Project/ProjectGetter.mjs', () => ({ default: ctx.ProjectGetter, })) @@ -159,7 +159,7 @@ describe('CollaboratorsController', function () { ) vi.doMock( - '../../../../app/src/Features/Subscription/LimitationsManager.js', + '../../../../app/src/Features/Subscription/LimitationsManager.mjs', () => ({ default: ctx.LimitationsManager, }) diff --git a/services/web/test/unit/src/Collaborators/CollaboratorsInviteController.test.mjs b/services/web/test/unit/src/Collaborators/CollaboratorsInviteController.test.mjs index 8cf4fc959a..6a04db90f5 100644 --- a/services/web/test/unit/src/Collaborators/CollaboratorsInviteController.test.mjs +++ b/services/web/test/unit/src/Collaborators/CollaboratorsInviteController.test.mjs @@ -125,7 +125,7 @@ describe('CollaboratorsInviteController', function () { }, } - vi.doMock('../../../../app/src/Features/Project/ProjectGetter.js', () => ({ + vi.doMock('../../../../app/src/Features/Project/ProjectGetter.mjs', () => ({ default: ctx.ProjectGetter, })) @@ -137,7 +137,7 @@ describe('CollaboratorsInviteController', function () { ) vi.doMock( - '../../../../app/src/Features/Subscription/LimitationsManager.js', + '../../../../app/src/Features/Subscription/LimitationsManager.mjs', () => ({ default: ctx.LimitationsManager, }) @@ -148,7 +148,7 @@ describe('CollaboratorsInviteController', function () { })) vi.doMock( - '../../../../app/src/Features/Collaborators/CollaboratorsGetter.js', + '../../../../app/src/Features/Collaborators/CollaboratorsGetter.mjs', () => ({ default: ctx.CollaboratorsGetter, }) diff --git a/services/web/test/unit/src/Collaborators/CollaboratorsInviteHandler.test.mjs b/services/web/test/unit/src/Collaborators/CollaboratorsInviteHandler.test.mjs index 00088197e2..fdd402d0f2 100644 --- a/services/web/test/unit/src/Collaborators/CollaboratorsInviteHandler.test.mjs +++ b/services/web/test/unit/src/Collaborators/CollaboratorsInviteHandler.test.mjs @@ -98,7 +98,7 @@ describe('CollaboratorsInviteHandler', function () { ) vi.doMock( - '../../../../app/src/Features/Collaborators/CollaboratorsHandler.js', + '../../../../app/src/Features/Collaborators/CollaboratorsHandler.mjs', () => ({ default: ctx.CollaboratorsHandler, }) @@ -108,7 +108,7 @@ describe('CollaboratorsInviteHandler', function () { default: ctx.UserGetter, })) - vi.doMock('../../../../app/src/Features/Project/ProjectGetter.js', () => ({ + vi.doMock('../../../../app/src/Features/Project/ProjectGetter.mjs', () => ({ default: ctx.ProjectGetter, })) @@ -141,7 +141,7 @@ describe('CollaboratorsInviteHandler', function () { ) vi.doMock( - '../../../../app/src/Features/Subscription/LimitationsManager.js', + '../../../../app/src/Features/Subscription/LimitationsManager.mjs', () => ({ default: ctx.LimitationsManager, }) diff --git a/services/web/test/unit/src/Collaborators/OwnershipTransferHandler.test.mjs b/services/web/test/unit/src/Collaborators/OwnershipTransferHandler.test.mjs index b1362901dd..1a2a554839 100644 --- a/services/web/test/unit/src/Collaborators/OwnershipTransferHandler.test.mjs +++ b/services/web/test/unit/src/Collaborators/OwnershipTransferHandler.test.mjs @@ -85,7 +85,7 @@ describe('OwnershipTransferHandler', function () { vi.importActual('../../../../app/src/Features/Errors/Errors.js') ) - vi.doMock('../../../../app/src/Features/Project/ProjectGetter.js', () => ({ + vi.doMock('../../../../app/src/Features/Project/ProjectGetter.mjs', () => ({ default: ctx.ProjectGetter, })) @@ -102,7 +102,7 @@ describe('OwnershipTransferHandler', function () { })) vi.doMock( - '../../../../app/src/Features/ThirdPartyDataStore/TpdsProjectFlusher.js', + '../../../../app/src/Features/ThirdPartyDataStore/TpdsProjectFlusher.mjs', () => ({ default: ctx.TpdsProjectFlusher, }) @@ -120,7 +120,7 @@ describe('OwnershipTransferHandler', function () { })) vi.doMock( - '../../../../app/src/Features/Collaborators/CollaboratorsHandler.js', + '../../../../app/src/Features/Collaborators/CollaboratorsHandler.mjs', () => ({ default: ctx.CollaboratorsHandler, }) diff --git a/services/web/test/unit/src/DocumentUpdater/DocumentUpdaterController.test.mjs b/services/web/test/unit/src/DocumentUpdater/DocumentUpdaterController.test.mjs index 5a60903552..1066a729bd 100644 --- a/services/web/test/unit/src/DocumentUpdater/DocumentUpdaterController.test.mjs +++ b/services/web/test/unit/src/DocumentUpdater/DocumentUpdaterController.test.mjs @@ -22,12 +22,12 @@ describe('DocumentUpdaterController', function () { default: ctx.settings, })) - vi.doMock('../../../../app/src/Features/Project/ProjectLocator.js', () => ({ + vi.doMock('../../../../app/src/Features/Project/ProjectLocator.mjs', () => ({ default: ctx.ProjectLocator, })) vi.doMock( - '../../../../app/src/Features/DocumentUpdater/DocumentUpdaterHandler.js', + '../../../../app/src/Features/DocumentUpdater/DocumentUpdaterHandler.mjs', () => ({ default: ctx.DocumentUpdaterHandler, }) diff --git a/services/web/test/unit/src/Downloads/ProjectDownloadsController.test.mjs b/services/web/test/unit/src/Downloads/ProjectDownloadsController.test.mjs index f3737df0ab..d202d56896 100644 --- a/services/web/test/unit/src/Downloads/ProjectDownloadsController.test.mjs +++ b/services/web/test/unit/src/Downloads/ProjectDownloadsController.test.mjs @@ -27,7 +27,7 @@ describe('ProjectDownloadsController', function () { }) ) - vi.doMock('../../../../app/src/Features/Project/ProjectGetter.js', () => ({ + vi.doMock('../../../../app/src/Features/Project/ProjectGetter.mjs', () => ({ default: (ctx.ProjectGetter = {}), })) @@ -36,7 +36,7 @@ describe('ProjectDownloadsController', function () { })) vi.doMock( - '../../../../app/src/Features/DocumentUpdater/DocumentUpdaterHandler.js', + '../../../../app/src/Features/DocumentUpdater/DocumentUpdaterHandler.mjs', () => ({ default: ctx.DocumentUpdaterHandler, }) diff --git a/services/web/test/unit/src/Downloads/ProjectZipStreamManager.test.mjs b/services/web/test/unit/src/Downloads/ProjectZipStreamManager.test.mjs index ec3bcfd568..e958abb915 100644 --- a/services/web/test/unit/src/Downloads/ProjectZipStreamManager.test.mjs +++ b/services/web/test/unit/src/Downloads/ProjectZipStreamManager.test.mjs @@ -43,7 +43,7 @@ describe('ProjectZipStreamManager', function () { }) ) - vi.doMock('../../../../app/src/Features/History/HistoryManager.js', () => ({ + vi.doMock('../../../../app/src/Features/History/HistoryManager.mjs', () => ({ default: (ctx.HistoryManager = {}), })) diff --git a/services/web/test/unit/src/Editor/EditorHttpController.test.mjs b/services/web/test/unit/src/Editor/EditorHttpController.test.mjs index 017fb6e432..3bea466169 100644 --- a/services/web/test/unit/src/Editor/EditorHttpController.test.mjs +++ b/services/web/test/unit/src/Editor/EditorHttpController.test.mjs @@ -168,14 +168,14 @@ describe('EditorHttpController', function () { vi.mock('../../../../app/src/Features/Errors/Errors.js', () => vi.importActual('../../../../app/src/Features/Errors/Errors.js') ) - vi.doMock('../../../../app/src/Features/Project/ProjectDeleter.js', () => ({ + vi.doMock('../../../../app/src/Features/Project/ProjectDeleter.mjs', () => ({ default: ctx.ProjectDeleter, })) - vi.doMock('../../../../app/src/Features/Project/ProjectGetter.js', () => ({ + vi.doMock('../../../../app/src/Features/Project/ProjectGetter.mjs', () => ({ default: ctx.ProjectGetter, })) vi.doMock( - '../../../../app/src/Features/Authorization/AuthorizationManager.js', + '../../../../app/src/Features/Authorization/AuthorizationManager.mjs', () => ({ default: ctx.AuthorizationManager, }) @@ -187,7 +187,7 @@ describe('EditorHttpController', function () { }) ) vi.doMock( - '../../../../app/src/Features/Editor/EditorController.js', + '../../../../app/src/Features/Editor/EditorController.mjs', () => ({ default: ctx.EditorController, }) @@ -196,13 +196,13 @@ describe('EditorHttpController', function () { default: ctx.Metrics, })) vi.doMock( - '../../../../app/src/Features/Collaborators/CollaboratorsGetter.js', + '../../../../app/src/Features/Collaborators/CollaboratorsGetter.mjs', () => ({ default: ctx.CollaboratorsGetter, }) ) vi.doMock( - '../../../../app/src/Features/Collaborators/CollaboratorsHandler.js', + '../../../../app/src/Features/Collaborators/CollaboratorsHandler.mjs', () => ({ default: ctx.CollaboratorsHandler, }) @@ -229,7 +229,7 @@ describe('EditorHttpController', function () { default: ctx.FileWriter, })) vi.doMock( - '../../../../app/src/Features/Project/ProjectEntityUpdateHandler.js', + '../../../../app/src/Features/Project/ProjectEntityUpdateHandler.mjs', () => ({ default: ctx.ProjectEntityUpdateHandler, }) diff --git a/services/web/test/unit/src/Exports/ExportsController.test.mjs b/services/web/test/unit/src/Exports/ExportsController.test.mjs index 9e92a8c6d5..ce2a1a168d 100644 --- a/services/web/test/unit/src/Exports/ExportsController.test.mjs +++ b/services/web/test/unit/src/Exports/ExportsController.test.mjs @@ -55,7 +55,7 @@ describe('ExportsController', function () { ) vi.doMock( - '../../../../app/src/Features/Authentication/AuthenticationController.js', + '../../../../app/src/Features/Authentication/AuthenticationController.mjs', () => ({ default: ctx.AuthenticationController, }) diff --git a/services/web/test/unit/src/History/HistoryController.test.mjs b/services/web/test/unit/src/History/HistoryController.test.mjs index 576e4ba000..f7e033f6d4 100644 --- a/services/web/test/unit/src/History/HistoryController.test.mjs +++ b/services/web/test/unit/src/History/HistoryController.test.mjs @@ -82,19 +82,19 @@ describe('HistoryController', function () { }) ) - vi.doMock('../../../../app/src/Features/History/HistoryManager.js', () => ({ + vi.doMock('../../../../app/src/Features/History/HistoryManager.mjs', () => ({ default: ctx.HistoryManager, })) vi.doMock( - '../../../../app/src/Features/Project/ProjectDetailsHandler.js', + '../../../../app/src/Features/Project/ProjectDetailsHandler.mjs', () => ({ default: (ctx.ProjectDetailsHandler = {}), }) ) vi.doMock( - '../../../../app/src/Features/Project/ProjectEntityUpdateHandler.js', + '../../../../app/src/Features/Project/ProjectEntityUpdateHandler.mjs', () => ({ default: ctx.ProjectEntityUpdateHandler, }) @@ -104,7 +104,7 @@ describe('HistoryController', function () { default: (ctx.UserGetter = {}), })) - vi.doMock('../../../../app/src/Features/Project/ProjectGetter.js', () => ({ + vi.doMock('../../../../app/src/Features/Project/ProjectGetter.mjs', () => ({ default: (ctx.ProjectGetter = {}), })) diff --git a/services/web/test/unit/src/History/RestoreManager.test.mjs b/services/web/test/unit/src/History/RestoreManager.test.mjs index 4aeb1baf0a..eb1f54bd40 100644 --- a/services/web/test/unit/src/History/RestoreManager.test.mjs +++ b/services/web/test/unit/src/History/RestoreManager.test.mjs @@ -23,7 +23,7 @@ describe('RestoreManager', function () { default: Errors, })) - vi.doMock('../../../../app/src/Features/History/HistoryManager.js', () => ({ + vi.doMock('../../../../app/src/Features/History/HistoryManager.mjs', () => ({ default: (ctx.HistoryManager = { promises: { getContentAtVersion: sinon.stub().resolves({ diff --git a/services/web/test/unit/src/Project/ProjectEntityRestoreHandler.test.mjs b/services/web/test/unit/src/Project/ProjectEntityRestoreHandler.test.mjs index 80d30ceacc..d541e29b16 100644 --- a/services/web/test/unit/src/Project/ProjectEntityRestoreHandler.test.mjs +++ b/services/web/test/unit/src/Project/ProjectEntityRestoreHandler.test.mjs @@ -40,14 +40,14 @@ describe('ProjectEntityRestoreHandler', function () { } vi.doMock( - '../../../../app/src/Features/Project/ProjectEntityHandler.js', + '../../../../app/src/Features/Project/ProjectEntityHandler.mjs', () => ({ default: ctx.ProjectEntityHandler, }) ) vi.doMock( - '../../../../app/src/Features/Editor/EditorController.js', + '../../../../app/src/Features/Editor/EditorController.mjs', () => ({ default: ctx.EditorController, }) diff --git a/services/web/test/unit/src/Project/ProjectHistoryHandler.test.mjs b/services/web/test/unit/src/Project/ProjectHistoryHandler.test.mjs index 8604fcd053..00b6ccf38b 100644 --- a/services/web/test/unit/src/Project/ProjectHistoryHandler.test.mjs +++ b/services/web/test/unit/src/Project/ProjectHistoryHandler.test.mjs @@ -38,7 +38,7 @@ describe('ProjectHistoryHandler', function () { })) vi.doMock( - '../../../../app/src/Features/Project/ProjectDetailsHandler.js', + '../../../../app/src/Features/Project/ProjectDetailsHandler.mjs', () => ({ default: (ctx.ProjectDetailsHandler = { promises: {}, @@ -46,7 +46,7 @@ describe('ProjectHistoryHandler', function () { }) ) - vi.doMock('../../../../app/src/Features/History/HistoryManager.js', () => ({ + vi.doMock('../../../../app/src/Features/History/HistoryManager.mjs', () => ({ default: (ctx.HistoryManager = { promises: {}, }),