From fdc59a8e02ea6888ec410580d0b2f1a862e6badb Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Fri, 1 Oct 2021 18:19:56 +0200 Subject: [PATCH] split up project in 4 sub packages in a monorepo --- old.package.json | 72 +++++++++ package.json | 76 +--------- packages/common/package.json | 10 ++ packages/common/src/lib.ts | 22 +++ .../common/src}/logging/BaseLogger.js | 0 .../common/src}/logging/ConsoleLogger.js | 0 .../common/src}/logging/IDBLogger.js | 0 .../common/src}/logging/LogFilter.js | 0 .../common/src}/logging/LogItem.js | 0 .../common/src}/logging/NullLogger.js | 0 {src => packages/common/src}/logging/utils.js | 0 .../common/src}/observable/BaseObservable.ts | 0 .../common/src}/observable/ObservableValue.ts | 0 .../common/src}/observable/index.js | 1 + .../src}/observable/list/AsyncMappedList.js | 0 .../src}/observable/list/BaseMappedList.ts | 0 .../observable/list/BaseObservableList.ts | 0 .../common/src}/observable/list/ConcatList.js | 0 .../common/src}/observable/list/MappedList.js | 0 .../src}/observable/list/ObservableArray.js | 0 .../src}/observable/list/SortedArray.js | 0 .../src}/observable/list/SortedMapList.js | 0 .../common/src}/observable/list/common.ts | 0 .../common/src}/observable/map/ApplyMap.js | 0 .../src}/observable/map/BaseObservableMap.js | 0 .../common/src}/observable/map/FilteredMap.js | 0 .../common/src}/observable/map/JoinedMap.js | 0 .../common/src}/observable/map/MappedMap.js | 0 .../src}/observable/map/ObservableMap.js | 0 .../common/src}/utils/AbortableOperation.ts | 0 .../common/src}/utils/Disposables.js | 0 .../common/src}/utils/EventEmitter.ts | 0 .../common/src}/utils/LRUCache.js | 0 {src => packages/common/src}/utils/Lock.js | 0 {src => packages/common/src}/utils/LockMap.js | 0 .../common/src}/utils/RetainedValue.js | 0 .../common/src}/utils/crypto/hkdf.js | 0 .../common/src}/utils/crypto/pbkdf2.js | 0 {src => packages/common/src}/utils/enum.js | 0 {src => packages/common/src}/utils/error.js | 0 .../common/src}/utils/formatSize.js | 0 {src => packages/common/src}/utils/groupBy.js | 0 packages/common/src/utils/index.ts | 31 ++++ .../common/src}/utils/mergeMap.js | 0 .../common/src}/utils/sortedIndex.js | 0 {src => packages/common/src}/utils/timeout.js | 0 .../common/src}/utils/typedJSON.ts | 14 +- packages/common/vite.config.js | 13 ++ packages/domain/package.json | 14 ++ .../domain/src}/RootViewModel.js | 0 .../domain/src}/SessionLoadViewModel.js | 0 .../domain/src}/SessionPickerViewModel.js | 0 .../domain/src}/ViewModel.js | 3 +- {src/domain => packages/domain/src}/avatar.js | 0 packages/domain/src/lib.ts | 22 +++ .../src}/login/CompleteSSOLoginViewModel.js | 0 .../domain/src}/login/LoginViewModel.js | 0 .../src}/login/PasswordLoginViewModel.js | 0 .../src}/login/StartSSOLoginViewModel.js | 0 .../domain/src}/navigation/Navigation.js | 0 .../domain/src}/navigation/URLRouter.js | 0 .../domain/src}/navigation/index.js | 0 .../domain/src}/session/RoomGridViewModel.js | 0 .../src}/session/RoomViewModelObservable.js | 0 .../src}/session/SessionStatusViewModel.js | 0 .../domain/src}/session/SessionViewModel.js | 0 .../session/leftpanel/BaseTileViewModel.js | 0 .../session/leftpanel/InviteTileViewModel.js | 0 .../session/leftpanel/LeftPanelViewModel.js | 0 .../src}/session/leftpanel/RoomFilter.js | 0 .../session/leftpanel/RoomTileViewModel.js | 0 .../rightpanel/MemberDetailsViewModel.js | 0 .../session/rightpanel/MemberListViewModel.js | 0 .../session/rightpanel/MemberTileViewModel.js | 0 .../session/rightpanel/RightPanelViewModel.js | 0 .../rightpanel/RoomDetailsViewModel.js | 0 .../session/rightpanel/members/comparator.js | 0 .../rightpanel/members/disambiguator.js | 0 .../src}/session/room/ComposerViewModel.js | 0 .../src}/session/room/InviteViewModel.js | 0 .../src}/session/room/LightboxViewModel.js | 0 .../domain/src}/session/room/README.md | 0 .../domain/src}/session/room/RoomViewModel.js | 0 .../src}/session/room/UnknownRoomViewModel.js | 0 .../src}/session/room/timeline/FORMATTED.md | 0 .../src}/session/room/timeline/MessageBody.js | 0 .../room/timeline/ReactionsViewModel.js | 0 .../session/room/timeline/TilesCollection.js | 0 .../room/timeline/TimelineViewModel.js | 0 .../session/room/timeline/UpdateAction.js | 0 .../src}/session/room/timeline/deserialize.js | 0 .../session/room/timeline/linkify/linkify.js | 0 .../session/room/timeline/linkify/regex.js | 0 .../room/timeline/tiles/BaseMediaTile.js | 0 .../room/timeline/tiles/BaseMessageTile.js | 0 .../room/timeline/tiles/BaseTextTile.js | 0 .../room/timeline/tiles/EncryptedEventTile.js | 0 .../timeline/tiles/EncryptionEnabledTile.js | 0 .../session/room/timeline/tiles/FileTile.js | 0 .../session/room/timeline/tiles/GapTile.js | 0 .../session/room/timeline/tiles/ImageTile.js | 0 .../room/timeline/tiles/LocationTile.js | 0 .../timeline/tiles/MissingAttachmentTile.js | 0 .../room/timeline/tiles/RedactedTile.js | 0 .../room/timeline/tiles/RoomMemberTile.js | 0 .../room/timeline/tiles/RoomNameTile.js | 0 .../session/room/timeline/tiles/SimpleTile.js | 0 .../session/room/timeline/tiles/TextTile.js | 0 .../session/room/timeline/tiles/VideoTile.js | 0 .../session/room/timeline/tilesCreator.js | 0 .../settings/SessionBackupViewModel.js | 0 .../session/settings/SettingsViewModel.js | 0 packages/domain/vite.config.js | 13 ++ packages/matrix/package.json | 13 ++ .../matrix/src}/DeviceMessageHandler.js | 0 .../matrix/src}/ServerFeatures.js | 0 .../matrix => packages/matrix/src}/Session.js | 0 .../matrix/src}/SessionContainer.js | 0 {src/matrix => packages/matrix/src}/Sync.js | 0 {src/matrix => packages/matrix/src}/User.js | 0 {src/matrix => packages/matrix/src}/common.js | 0 .../matrix/src}/e2ee/Account.js | 2 +- .../matrix/src}/e2ee/DecryptionResult.js | 0 .../matrix/src}/e2ee/DeviceTracker.js | 0 .../matrix/src}/e2ee/OlmWorker.js | 0 .../matrix/src}/e2ee/README.md | 0 .../matrix/src}/e2ee/RoomEncryption.js | 0 .../matrix/src}/e2ee/attachment.js | 0 .../matrix/src}/e2ee/common.js | 4 +- .../matrix/src}/e2ee/megolm/Decryption.js | 0 .../matrix/src}/e2ee/megolm/Encryption.js | 0 .../matrix/src}/e2ee/megolm/SessionBackup.js | 0 .../megolm/decryption/DecryptionChanges.js | 0 .../decryption/DecryptionPreparation.js | 0 .../src}/e2ee/megolm/decryption/README.md | 0 .../megolm/decryption/ReplayDetectionEntry.js | 0 .../src}/e2ee/megolm/decryption/RoomKey.js | 0 .../e2ee/megolm/decryption/SessionCache.js | 0 .../megolm/decryption/SessionDecryption.js | 0 .../e2ee/megolm/decryption/SessionInfo.js | 0 .../src}/e2ee/megolm/decryption/utils.js | 0 .../matrix/src}/e2ee/olm/Decryption.js | 0 .../matrix/src}/e2ee/olm/Encryption.js | 0 .../matrix/src}/e2ee/olm/Session.js | 0 {src/matrix => packages/matrix/src}/error.js | 0 packages/matrix/src/lib.ts | 20 +++ .../matrix/src}/login/LoginMethod.js | 0 .../matrix/src}/login/PasswordLoginMethod.js | 0 .../matrix/src}/login/SSOLoginHelper.js | 0 .../matrix/src}/login/TokenLoginMethod.js | 0 .../matrix/src}/net/ExponentialRetryDelay.js | 0 .../matrix/src}/net/HomeServerApi.js | 0 .../matrix/src}/net/HomeServerRequest.js | 0 .../matrix/src}/net/MediaRepository.js | 0 .../matrix/src}/net/Reconnector.js | 0 .../matrix/src}/net/RequestScheduler.js | 0 .../matrix/src}/net/common.js | 0 .../matrix/src}/net/request/replay.js | 0 .../matrix/src}/push/Pusher.js | 0 .../matrix/src}/room/ArchivedRoom.js | 0 .../matrix/src}/room/AttachmentUpload.js | 0 .../matrix/src}/room/BaseRoom.js | 0 .../matrix/src}/room/Invite.js | 0 .../matrix/src}/room/ObservedEventMap.js | 0 .../matrix/src}/room/PowerLevels.js | 0 .../matrix/src}/room/Room.js | 0 .../matrix/src}/room/RoomStatus.js | 0 .../matrix/src}/room/RoomSummary.js | 0 .../matrix/src}/room/common.js | 0 .../matrix/src}/room/members/Heroes.js | 0 .../matrix/src}/room/members/MemberList.js | 0 .../matrix/src}/room/members/RoomMember.js | 0 .../matrix/src}/room/members/load.js | 0 .../matrix/src}/room/sending/PendingEvent.js | 0 .../matrix/src}/room/sending/SendQueue.js | 0 .../matrix/src}/room/timeline/Direction.ts | 0 .../matrix/src}/room/timeline/EventKey.ts | 0 .../src}/room/timeline/FragmentIdComparer.js | 0 .../src}/room/timeline/PendingAnnotation.js | 0 .../matrix/src}/room/timeline/Timeline.js | 4 +- .../matrix/src}/room/timeline/common.js | 0 .../src}/room/timeline/entries/BaseEntry.ts | 0 .../room/timeline/entries/BaseEventEntry.js | 0 .../src}/room/timeline/entries/EventEntry.js | 0 .../timeline/entries/FragmentBoundaryEntry.js | 0 .../timeline/entries/PendingEventEntry.js | 0 .../src}/room/timeline/entries/reply.js | 0 .../room/timeline/persistence/GapWriter.js | 0 .../room/timeline/persistence/MemberWriter.js | 0 .../timeline/persistence/RelationWriter.js | 0 .../room/timeline/persistence/SyncWriter.js | 0 .../timeline/persistence/TimelineReader.js | 0 .../src}/room/timeline/persistence/common.js | 0 .../matrix/src}/room/timeline/relations.js | 0 .../localstorage/SessionInfoStorage.js | 0 .../matrix/src}/ssss/SecretStorage.js | 0 .../matrix/src}/ssss/common.js | 0 .../matrix/src}/ssss/index.js | 0 .../matrix/src}/ssss/passphrase.js | 0 .../matrix/src}/ssss/recoveryKey.js | 0 .../matrix/src}/storage/common.ts | 0 .../matrix/src}/storage/idb/QueryTarget.ts | 0 .../matrix/src}/storage/idb/Storage.ts | 0 .../matrix/src}/storage/idb/StorageFactory.ts | 0 .../matrix/src}/storage/idb/Store.ts | 0 .../matrix/src}/storage/idb/Transaction.ts | 0 .../matrix/src}/storage/idb/error.ts | 0 .../matrix/src}/storage/idb/export.ts | 0 .../matrix/src}/storage/idb/quirks.ts | 0 .../matrix/src}/storage/idb/schema.ts | 0 .../storage/idb/stores/AccountDataStore.ts | 0 .../storage/idb/stores/DeviceIdentityStore.ts | 0 .../idb/stores/GroupSessionDecryptionStore.ts | 0 .../idb/stores/InboundGroupSessionStore.ts | 0 .../src}/storage/idb/stores/InviteStore.ts | 0 .../storage/idb/stores/OlmSessionStore.ts | 0 .../src}/storage/idb/stores/OperationStore.ts | 0 .../idb/stores/OutboundGroupSessionStore.ts | 0 .../storage/idb/stores/PendingEventStore.ts | 0 .../storage/idb/stores/RoomMemberStore.ts | 0 .../src}/storage/idb/stores/RoomStateStore.ts | 0 .../storage/idb/stores/RoomSummaryStore.ts | 0 .../src}/storage/idb/stores/SessionStore.ts | 0 .../storage/idb/stores/TimelineEventStore.ts | 0 .../idb/stores/TimelineFragmentStore.ts | 0 .../idb/stores/TimelineRelationStore.ts | 0 .../storage/idb/stores/UserIdentityStore.ts | 0 .../matrix/src}/storage/idb/stores/common.ts | 0 .../matrix/src}/storage/idb/types.ts | 0 .../matrix/src}/storage/idb/utils.ts | 0 .../matrix/src}/storage/types.ts | 0 .../matrix/src}/well-known.js | 0 packages/matrix/vite.config.js | 13 ++ .../src}/fixtures/matrix/invites/dm.js | 0 .../src}/fixtures/matrix/invites/room.js | 0 .../test-utils/src}/mocks/Clock.js | 0 .../test-utils/src}/mocks/HomeServer.js | 0 .../test-utils/src}/mocks/ListObserver.js | 0 .../test-utils/src}/mocks/Request.js | 0 .../test-utils/src}/mocks/Storage.ts | 0 .../test-utils/src}/mocks/TimelineMock.ts | 0 .../test-utils/src}/mocks/event.js | 0 .../test-utils/src}/mocks/poll.js | 0 {assets => packages/web/assets}/config.json | 0 .../web/assets}/download-sandbox.html | 0 .../web/assets}/icon-maskable.png | Bin .../web/assets}/icon-maskable.svg | 0 {assets => packages/web/assets}/icon.png | Bin {assets => packages/web/assets}/icon.svg | 0 {assets => packages/web/assets}/manifest.json | 0 .../web/docroot => packages/web}/index.html | 16 +- packages/web/package.json | 72 +++++++++ .../web/src}/LegacyPlatform.js | 2 +- .../web => packages/web/src}/Platform.js | 10 +- .../web/src}/dom/BlobHandle.js | 0 .../web => packages/web/src}/dom/Clock.js | 0 .../web => packages/web/src}/dom/Crypto.js | 2 +- .../web => packages/web/src}/dom/History.js | 0 .../web/src}/dom/ImageHandle.js | 0 .../web/src}/dom/NotificationService.js | 0 .../web/src}/dom/OnlineStatus.js | 0 .../web/src}/dom/ServiceWorkerHandler.js | 0 .../web/src}/dom/SettingsStorage.js | 0 .../web/src}/dom/StorageEstimate.js | 0 .../web => packages/web/src}/dom/UTF8.js | 0 .../web/src}/dom/WorkerPool.js | 0 .../web => packages/web/src}/dom/download.js | 0 .../web/src}/dom/request/common.js | 0 .../web/src}/dom/request/fetch.js | 0 .../web/src}/dom/request/xhr.js | 0 .../web => packages/web/src}/dom/utils.js | 0 .../web/src}/legacy-polyfill.js | 0 packages/web/src/lib.ts | 21 +++ {src => packages/web/src}/main.js | 4 +- .../web => packages/web/src}/parsehtml.js | 0 packages/web/src/paths/vite.ts | 12 ++ .../web => packages/web/src}/ui/AvatarView.js | 0 .../web => packages/web/src}/ui/RootView.js | 0 .../web => packages/web/src}/ui/avatar.js | 0 .../web => packages/web/src}/ui/common.js | 0 .../web/src}/ui/css/avatar.css | 0 .../web => packages/web/src}/ui/css/font.css | 0 .../web => packages/web/src}/ui/css/form.css | 0 .../web/src}/ui/css/layout.css | 0 .../web/src}/ui/css/left-panel.css | 0 .../web => packages/web/src}/ui/css/login.css | 0 .../web => packages/web/src}/ui/css/main.css | 0 .../web => packages/web/src}/ui/css/popup.css | 0 .../web/src}/ui/css/right-panel.css | 0 .../web => packages/web/src}/ui/css/room.css | 0 .../web/src}/ui/css/spinner.css | 0 .../web/src}/ui/css/status.css | 0 .../web/src}/ui/css/themes/README.md | 0 .../web/src}/ui/css/themes/bubbles/theme.css | 0 .../ui/css/themes/element/element-logo.svg | 0 .../css/themes/element/icons/chevron-down.svg | 0 .../css/themes/element/icons/chevron-left.svg | 0 .../themes/element/icons/chevron-right.svg | 0 .../themes/element/icons/chevron-small.svg | 0 .../element/icons/chevron-thin-left.svg | 0 .../ui/css/themes/element/icons/clear.svg | 0 .../css/themes/element/icons/disable-grid.svg | 0 .../ui/css/themes/element/icons/dismiss.svg | 0 .../themes/element/icons/e2ee-disabled.svg | 0 .../css/themes/element/icons/e2ee-normal.svg | 0 .../css/themes/element/icons/enable-grid.svg | 0 .../element/icons/encryption-status.svg | 0 .../src}/ui/css/themes/element/icons/info.svg | 0 .../ui/css/themes/element/icons/paperclip.svg | 0 .../css/themes/element/icons/room-members.svg | 0 .../ui/css/themes/element/icons/search.svg | 0 .../src}/ui/css/themes/element/icons/send.svg | 0 .../ui/css/themes/element/icons/settings.svg | 0 .../element/icons/vertical-ellipsis.svg | 0 .../web/src}/ui/css/themes/element/inter.css | 0 .../css/themes/element/inter/Inter-Black.woff | Bin .../themes/element/inter/Inter-Black.woff2 | Bin .../element/inter/Inter-BlackItalic.woff | Bin .../element/inter/Inter-BlackItalic.woff2 | Bin .../css/themes/element/inter/Inter-Bold.woff | Bin .../css/themes/element/inter/Inter-Bold.woff2 | Bin .../element/inter/Inter-BoldItalic.woff | Bin .../element/inter/Inter-BoldItalic.woff2 | Bin .../themes/element/inter/Inter-ExtraBold.woff | Bin .../element/inter/Inter-ExtraBold.woff2 | Bin .../element/inter/Inter-ExtraBoldItalic.woff | Bin .../element/inter/Inter-ExtraBoldItalic.woff2 | Bin .../element/inter/Inter-ExtraLight.woff | Bin .../element/inter/Inter-ExtraLight.woff2 | Bin .../element/inter/Inter-ExtraLightItalic.woff | Bin .../inter/Inter-ExtraLightItalic.woff2 | Bin .../themes/element/inter/Inter-Italic.woff | Bin .../themes/element/inter/Inter-Italic.woff2 | Bin .../css/themes/element/inter/Inter-Light.woff | Bin .../themes/element/inter/Inter-Light.woff2 | Bin .../element/inter/Inter-LightItalic.woff | Bin .../element/inter/Inter-LightItalic.woff2 | Bin .../themes/element/inter/Inter-Medium.woff | Bin .../themes/element/inter/Inter-Medium.woff2 | Bin .../element/inter/Inter-MediumItalic.woff | Bin .../element/inter/Inter-MediumItalic.woff2 | Bin .../themes/element/inter/Inter-Regular.woff | Bin .../themes/element/inter/Inter-Regular.woff2 | Bin .../themes/element/inter/Inter-SemiBold.woff | Bin .../themes/element/inter/Inter-SemiBold.woff2 | Bin .../element/inter/Inter-SemiBoldItalic.woff | Bin .../element/inter/Inter-SemiBoldItalic.woff2 | Bin .../css/themes/element/inter/Inter-Thin.woff | Bin .../css/themes/element/inter/Inter-Thin.woff2 | Bin .../element/inter/Inter-ThinItalic.woff | Bin .../element/inter/Inter-ThinItalic.woff2 | Bin .../web/src}/ui/css/themes/element/theme.css | 0 .../src}/ui/css/themes/element/timeline.css | 0 .../web/src}/ui/css/timeline.css | 0 .../web/src}/ui/general/BaseUpdateView.ts | 0 .../web/src}/ui/general/LazyListView.js | 0 .../web/src}/ui/general/ListView.ts | 0 .../web/src}/ui/general/LoadingView.js | 0 .../web/src}/ui/general/Menu.js | 0 .../web/src}/ui/general/Popup.js | 0 .../web/src}/ui/general/StaticView.js | 0 .../web/src}/ui/general/TemplateView.ts | 0 .../web/src}/ui/general/html.ts | 0 .../web/src}/ui/general/types.ts | 0 .../web/src}/ui/general/utils.ts | 0 .../web/src}/ui/login/CompleteSSOView.js | 0 .../web/src}/ui/login/LoginView.js | 0 .../web/src}/ui/login/PasswordLoginView.js | 0 .../src}/ui/login/SessionLoadStatusView.js | 0 .../web/src}/ui/login/SessionLoadView.js | 0 .../web/src}/ui/login/SessionPickerView.js | 0 .../web/src}/ui/login/common.js | 0 .../web/src}/ui/session/RoomGridView.js | 0 .../web/src}/ui/session/SessionStatusView.js | 0 .../web/src}/ui/session/SessionView.js | 0 .../ui/session/leftpanel/InviteTileView.js | 0 .../ui/session/leftpanel/LeftPanelView.js | 0 .../src}/ui/session/leftpanel/RoomTileView.js | 0 .../session/rightpanel/MemberDetailsView.js | 0 .../ui/session/rightpanel/MemberListView.js | 0 .../ui/session/rightpanel/MemberTileView.js | 0 .../ui/session/rightpanel/RightPanelView.js | 0 .../ui/session/rightpanel/RoomDetailsView.js | 0 .../web/src}/ui/session/room/InviteView.js | 0 .../web/src}/ui/session/room/LightboxView.js | 0 .../src}/ui/session/room/MessageComposer.js | 0 .../src}/ui/session/room/RoomArchivedView.js | 0 .../web/src}/ui/session/room/RoomView.js | 0 .../ui/session/room/TimelineLoadingView.js | 0 .../web/src}/ui/session/room/TimelineView.ts | 0 .../src}/ui/session/room/UnknownRoomView.js | 0 .../session/room/timeline/AnnouncementView.js | 0 .../ui/session/room/timeline/BaseMediaView.js | 0 .../session/room/timeline/BaseMessageView.js | 0 .../src}/ui/session/room/timeline/FileView.js | 0 .../src}/ui/session/room/timeline/GapView.js | 0 .../ui/session/room/timeline/ImageView.js | 0 .../room/timeline/MissingAttachmentView.js | 0 .../ui/session/room/timeline/ReactionsView.js | 0 .../ui/session/room/timeline/RedactedView.js | 0 .../session/room/timeline/TextMessageView.js | 0 .../ui/session/room/timeline/VideoView.js | 0 .../settings/SessionBackupSettingsView.js | 0 .../src}/ui/session/settings/SettingsView.js | 0 .../web/src}/ui/view-gallery.html | 0 .../web => packages/web/src}/utils/Base58.js | 2 +- .../web => packages/web/src}/utils/Base64.js | 2 +- .../web/src}/utils/Encoding.js | 0 .../web => packages/web/src}/worker/main.js | 0 .../web/src}/worker/polyfill.js | 0 .../web/docroot => packages/web}/sw.js | 0 packages/web/vite.config.js | 6 + src/lib.ts | 33 ----- src/sdk/paths/vite.ts | 12 -- yarn.lock | 140 ++++++++++++++++++ 415 files changed, 532 insertions(+), 149 deletions(-) create mode 100644 old.package.json create mode 100644 packages/common/package.json create mode 100644 packages/common/src/lib.ts rename {src => packages/common/src}/logging/BaseLogger.js (100%) rename {src => packages/common/src}/logging/ConsoleLogger.js (100%) rename {src => packages/common/src}/logging/IDBLogger.js (100%) rename {src => packages/common/src}/logging/LogFilter.js (100%) rename {src => packages/common/src}/logging/LogItem.js (100%) rename {src => packages/common/src}/logging/NullLogger.js (100%) rename {src => packages/common/src}/logging/utils.js (100%) rename {src => packages/common/src}/observable/BaseObservable.ts (100%) rename {src => packages/common/src}/observable/ObservableValue.ts (100%) rename {src => packages/common/src}/observable/index.js (97%) rename {src => packages/common/src}/observable/list/AsyncMappedList.js (100%) rename {src => packages/common/src}/observable/list/BaseMappedList.ts (100%) rename {src => packages/common/src}/observable/list/BaseObservableList.ts (100%) rename {src => packages/common/src}/observable/list/ConcatList.js (100%) rename {src => packages/common/src}/observable/list/MappedList.js (100%) rename {src => packages/common/src}/observable/list/ObservableArray.js (100%) rename {src => packages/common/src}/observable/list/SortedArray.js (100%) rename {src => packages/common/src}/observable/list/SortedMapList.js (100%) rename {src => packages/common/src}/observable/list/common.ts (100%) rename {src => packages/common/src}/observable/map/ApplyMap.js (100%) rename {src => packages/common/src}/observable/map/BaseObservableMap.js (100%) rename {src => packages/common/src}/observable/map/FilteredMap.js (100%) rename {src => packages/common/src}/observable/map/JoinedMap.js (100%) rename {src => packages/common/src}/observable/map/MappedMap.js (100%) rename {src => packages/common/src}/observable/map/ObservableMap.js (100%) rename {src => packages/common/src}/utils/AbortableOperation.ts (100%) rename {src => packages/common/src}/utils/Disposables.js (100%) rename {src => packages/common/src}/utils/EventEmitter.ts (100%) rename {src => packages/common/src}/utils/LRUCache.js (100%) rename {src => packages/common/src}/utils/Lock.js (100%) rename {src => packages/common/src}/utils/LockMap.js (100%) rename {src => packages/common/src}/utils/RetainedValue.js (100%) rename {src => packages/common/src}/utils/crypto/hkdf.js (100%) rename {src => packages/common/src}/utils/crypto/pbkdf2.js (100%) rename {src => packages/common/src}/utils/enum.js (100%) rename {src => packages/common/src}/utils/error.js (100%) rename {src => packages/common/src}/utils/formatSize.js (100%) rename {src => packages/common/src}/utils/groupBy.js (100%) create mode 100644 packages/common/src/utils/index.ts rename {src => packages/common/src}/utils/mergeMap.js (100%) rename {src => packages/common/src}/utils/sortedIndex.js (100%) rename {src => packages/common/src}/utils/timeout.js (100%) rename {src => packages/common/src}/utils/typedJSON.ts (94%) create mode 100644 packages/common/vite.config.js create mode 100644 packages/domain/package.json rename {src/domain => packages/domain/src}/RootViewModel.js (100%) rename {src/domain => packages/domain/src}/SessionLoadViewModel.js (100%) rename {src/domain => packages/domain/src}/SessionPickerViewModel.js (100%) rename {src/domain => packages/domain/src}/ViewModel.js (97%) rename {src/domain => packages/domain/src}/avatar.js (100%) create mode 100644 packages/domain/src/lib.ts rename {src/domain => packages/domain/src}/login/CompleteSSOLoginViewModel.js (100%) rename {src/domain => packages/domain/src}/login/LoginViewModel.js (100%) rename {src/domain => packages/domain/src}/login/PasswordLoginViewModel.js (100%) rename {src/domain => packages/domain/src}/login/StartSSOLoginViewModel.js (100%) rename {src/domain => packages/domain/src}/navigation/Navigation.js (100%) rename {src/domain => packages/domain/src}/navigation/URLRouter.js (100%) rename {src/domain => packages/domain/src}/navigation/index.js (100%) rename {src/domain => packages/domain/src}/session/RoomGridViewModel.js (100%) rename {src/domain => packages/domain/src}/session/RoomViewModelObservable.js (100%) rename {src/domain => packages/domain/src}/session/SessionStatusViewModel.js (100%) rename {src/domain => packages/domain/src}/session/SessionViewModel.js (100%) rename {src/domain => packages/domain/src}/session/leftpanel/BaseTileViewModel.js (100%) rename {src/domain => packages/domain/src}/session/leftpanel/InviteTileViewModel.js (100%) rename {src/domain => packages/domain/src}/session/leftpanel/LeftPanelViewModel.js (100%) rename {src/domain => packages/domain/src}/session/leftpanel/RoomFilter.js (100%) rename {src/domain => packages/domain/src}/session/leftpanel/RoomTileViewModel.js (100%) rename {src/domain => packages/domain/src}/session/rightpanel/MemberDetailsViewModel.js (100%) rename {src/domain => packages/domain/src}/session/rightpanel/MemberListViewModel.js (100%) rename {src/domain => packages/domain/src}/session/rightpanel/MemberTileViewModel.js (100%) rename {src/domain => packages/domain/src}/session/rightpanel/RightPanelViewModel.js (100%) rename {src/domain => packages/domain/src}/session/rightpanel/RoomDetailsViewModel.js (100%) rename {src/domain => packages/domain/src}/session/rightpanel/members/comparator.js (100%) rename {src/domain => packages/domain/src}/session/rightpanel/members/disambiguator.js (100%) rename {src/domain => packages/domain/src}/session/room/ComposerViewModel.js (100%) rename {src/domain => packages/domain/src}/session/room/InviteViewModel.js (100%) rename {src/domain => packages/domain/src}/session/room/LightboxViewModel.js (100%) rename {src/domain => packages/domain/src}/session/room/README.md (100%) rename {src/domain => packages/domain/src}/session/room/RoomViewModel.js (100%) rename {src/domain => packages/domain/src}/session/room/UnknownRoomViewModel.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/FORMATTED.md (100%) rename {src/domain => packages/domain/src}/session/room/timeline/MessageBody.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/ReactionsViewModel.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/TilesCollection.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/TimelineViewModel.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/UpdateAction.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/deserialize.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/linkify/linkify.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/linkify/regex.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/tiles/BaseMediaTile.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/tiles/BaseMessageTile.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/tiles/BaseTextTile.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/tiles/EncryptedEventTile.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/tiles/EncryptionEnabledTile.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/tiles/FileTile.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/tiles/GapTile.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/tiles/ImageTile.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/tiles/LocationTile.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/tiles/MissingAttachmentTile.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/tiles/RedactedTile.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/tiles/RoomMemberTile.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/tiles/RoomNameTile.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/tiles/SimpleTile.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/tiles/TextTile.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/tiles/VideoTile.js (100%) rename {src/domain => packages/domain/src}/session/room/timeline/tilesCreator.js (100%) rename {src/domain => packages/domain/src}/session/settings/SessionBackupViewModel.js (100%) rename {src/domain => packages/domain/src}/session/settings/SettingsViewModel.js (100%) create mode 100644 packages/domain/vite.config.js create mode 100644 packages/matrix/package.json rename {src/matrix => packages/matrix/src}/DeviceMessageHandler.js (100%) rename {src/matrix => packages/matrix/src}/ServerFeatures.js (100%) rename {src/matrix => packages/matrix/src}/Session.js (100%) rename {src/matrix => packages/matrix/src}/SessionContainer.js (100%) rename {src/matrix => packages/matrix/src}/Sync.js (100%) rename {src/matrix => packages/matrix/src}/User.js (100%) rename {src/matrix => packages/matrix/src}/common.js (100%) rename {src/matrix => packages/matrix/src}/e2ee/Account.js (99%) rename {src/matrix => packages/matrix/src}/e2ee/DecryptionResult.js (100%) rename {src/matrix => packages/matrix/src}/e2ee/DeviceTracker.js (100%) rename {src/matrix => packages/matrix/src}/e2ee/OlmWorker.js (100%) rename {src/matrix => packages/matrix/src}/e2ee/README.md (100%) rename {src/matrix => packages/matrix/src}/e2ee/RoomEncryption.js (100%) rename {src/matrix => packages/matrix/src}/e2ee/attachment.js (100%) rename {src/matrix => packages/matrix/src}/e2ee/common.js (94%) rename {src/matrix => packages/matrix/src}/e2ee/megolm/Decryption.js (100%) rename {src/matrix => packages/matrix/src}/e2ee/megolm/Encryption.js (100%) rename {src/matrix => packages/matrix/src}/e2ee/megolm/SessionBackup.js (100%) rename {src/matrix => packages/matrix/src}/e2ee/megolm/decryption/DecryptionChanges.js (100%) rename {src/matrix => packages/matrix/src}/e2ee/megolm/decryption/DecryptionPreparation.js (100%) rename {src/matrix => packages/matrix/src}/e2ee/megolm/decryption/README.md (100%) rename {src/matrix => packages/matrix/src}/e2ee/megolm/decryption/ReplayDetectionEntry.js (100%) rename {src/matrix => packages/matrix/src}/e2ee/megolm/decryption/RoomKey.js (100%) rename {src/matrix => packages/matrix/src}/e2ee/megolm/decryption/SessionCache.js (100%) rename {src/matrix => packages/matrix/src}/e2ee/megolm/decryption/SessionDecryption.js (100%) rename {src/matrix => packages/matrix/src}/e2ee/megolm/decryption/SessionInfo.js (100%) rename {src/matrix => packages/matrix/src}/e2ee/megolm/decryption/utils.js (100%) rename {src/matrix => packages/matrix/src}/e2ee/olm/Decryption.js (100%) rename {src/matrix => packages/matrix/src}/e2ee/olm/Encryption.js (100%) rename {src/matrix => packages/matrix/src}/e2ee/olm/Session.js (100%) rename {src/matrix => packages/matrix/src}/error.js (100%) create mode 100644 packages/matrix/src/lib.ts rename {src/matrix => packages/matrix/src}/login/LoginMethod.js (100%) rename {src/matrix => packages/matrix/src}/login/PasswordLoginMethod.js (100%) rename {src/matrix => packages/matrix/src}/login/SSOLoginHelper.js (100%) rename {src/matrix => packages/matrix/src}/login/TokenLoginMethod.js (100%) rename {src/matrix => packages/matrix/src}/net/ExponentialRetryDelay.js (100%) rename {src/matrix => packages/matrix/src}/net/HomeServerApi.js (100%) rename {src/matrix => packages/matrix/src}/net/HomeServerRequest.js (100%) rename {src/matrix => packages/matrix/src}/net/MediaRepository.js (100%) rename {src/matrix => packages/matrix/src}/net/Reconnector.js (100%) rename {src/matrix => packages/matrix/src}/net/RequestScheduler.js (100%) rename {src/matrix => packages/matrix/src}/net/common.js (100%) rename {src/matrix => packages/matrix/src}/net/request/replay.js (100%) rename {src/matrix => packages/matrix/src}/push/Pusher.js (100%) rename {src/matrix => packages/matrix/src}/room/ArchivedRoom.js (100%) rename {src/matrix => packages/matrix/src}/room/AttachmentUpload.js (100%) rename {src/matrix => packages/matrix/src}/room/BaseRoom.js (100%) rename {src/matrix => packages/matrix/src}/room/Invite.js (100%) rename {src/matrix => packages/matrix/src}/room/ObservedEventMap.js (100%) rename {src/matrix => packages/matrix/src}/room/PowerLevels.js (100%) rename {src/matrix => packages/matrix/src}/room/Room.js (100%) rename {src/matrix => packages/matrix/src}/room/RoomStatus.js (100%) rename {src/matrix => packages/matrix/src}/room/RoomSummary.js (100%) rename {src/matrix => packages/matrix/src}/room/common.js (100%) rename {src/matrix => packages/matrix/src}/room/members/Heroes.js (100%) rename {src/matrix => packages/matrix/src}/room/members/MemberList.js (100%) rename {src/matrix => packages/matrix/src}/room/members/RoomMember.js (100%) rename {src/matrix => packages/matrix/src}/room/members/load.js (100%) rename {src/matrix => packages/matrix/src}/room/sending/PendingEvent.js (100%) rename {src/matrix => packages/matrix/src}/room/sending/SendQueue.js (100%) rename {src/matrix => packages/matrix/src}/room/timeline/Direction.ts (100%) rename {src/matrix => packages/matrix/src}/room/timeline/EventKey.ts (100%) rename {src/matrix => packages/matrix/src}/room/timeline/FragmentIdComparer.js (100%) rename {src/matrix => packages/matrix/src}/room/timeline/PendingAnnotation.js (100%) rename {src/matrix => packages/matrix/src}/room/timeline/Timeline.js (99%) rename {src/matrix => packages/matrix/src}/room/timeline/common.js (100%) rename {src/matrix => packages/matrix/src}/room/timeline/entries/BaseEntry.ts (100%) rename {src/matrix => packages/matrix/src}/room/timeline/entries/BaseEventEntry.js (100%) rename {src/matrix => packages/matrix/src}/room/timeline/entries/EventEntry.js (100%) rename {src/matrix => packages/matrix/src}/room/timeline/entries/FragmentBoundaryEntry.js (100%) rename {src/matrix => packages/matrix/src}/room/timeline/entries/PendingEventEntry.js (100%) rename {src/matrix => packages/matrix/src}/room/timeline/entries/reply.js (100%) rename {src/matrix => packages/matrix/src}/room/timeline/persistence/GapWriter.js (100%) rename {src/matrix => packages/matrix/src}/room/timeline/persistence/MemberWriter.js (100%) rename {src/matrix => packages/matrix/src}/room/timeline/persistence/RelationWriter.js (100%) rename {src/matrix => packages/matrix/src}/room/timeline/persistence/SyncWriter.js (100%) rename {src/matrix => packages/matrix/src}/room/timeline/persistence/TimelineReader.js (100%) rename {src/matrix => packages/matrix/src}/room/timeline/persistence/common.js (100%) rename {src/matrix => packages/matrix/src}/room/timeline/relations.js (100%) rename {src/matrix => packages/matrix/src}/sessioninfo/localstorage/SessionInfoStorage.js (100%) rename {src/matrix => packages/matrix/src}/ssss/SecretStorage.js (100%) rename {src/matrix => packages/matrix/src}/ssss/common.js (100%) rename {src/matrix => packages/matrix/src}/ssss/index.js (100%) rename {src/matrix => packages/matrix/src}/ssss/passphrase.js (100%) rename {src/matrix => packages/matrix/src}/ssss/recoveryKey.js (100%) rename {src/matrix => packages/matrix/src}/storage/common.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/QueryTarget.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/Storage.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/StorageFactory.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/Store.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/Transaction.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/error.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/export.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/quirks.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/schema.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/stores/AccountDataStore.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/stores/DeviceIdentityStore.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/stores/GroupSessionDecryptionStore.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/stores/InboundGroupSessionStore.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/stores/InviteStore.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/stores/OlmSessionStore.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/stores/OperationStore.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/stores/OutboundGroupSessionStore.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/stores/PendingEventStore.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/stores/RoomMemberStore.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/stores/RoomStateStore.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/stores/RoomSummaryStore.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/stores/SessionStore.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/stores/TimelineEventStore.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/stores/TimelineFragmentStore.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/stores/TimelineRelationStore.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/stores/UserIdentityStore.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/stores/common.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/types.ts (100%) rename {src/matrix => packages/matrix/src}/storage/idb/utils.ts (100%) rename {src/matrix => packages/matrix/src}/storage/types.ts (100%) rename {src/matrix => packages/matrix/src}/well-known.js (100%) create mode 100644 packages/matrix/vite.config.js rename {src => packages/test-utils/src}/fixtures/matrix/invites/dm.js (100%) rename {src => packages/test-utils/src}/fixtures/matrix/invites/room.js (100%) rename {src => packages/test-utils/src}/mocks/Clock.js (100%) rename {src => packages/test-utils/src}/mocks/HomeServer.js (100%) rename {src => packages/test-utils/src}/mocks/ListObserver.js (100%) rename {src => packages/test-utils/src}/mocks/Request.js (100%) rename {src => packages/test-utils/src}/mocks/Storage.ts (100%) rename {src => packages/test-utils/src}/mocks/TimelineMock.ts (100%) rename {src => packages/test-utils/src}/mocks/event.js (100%) rename {src => packages/test-utils/src}/mocks/poll.js (100%) rename {assets => packages/web/assets}/config.json (100%) rename {assets => packages/web/assets}/download-sandbox.html (100%) rename {assets => packages/web/assets}/icon-maskable.png (100%) rename {assets => packages/web/assets}/icon-maskable.svg (100%) rename {assets => packages/web/assets}/icon.png (100%) rename {assets => packages/web/assets}/icon.svg (100%) rename {assets => packages/web/assets}/manifest.json (100%) rename {src/platform/web/docroot => packages/web}/index.html (67%) create mode 100644 packages/web/package.json rename {src/platform/web => packages/web/src}/LegacyPlatform.js (94%) rename {src/platform/web => packages/web/src}/Platform.js (95%) rename {src/platform/web => packages/web/src}/dom/BlobHandle.js (100%) rename {src/platform/web => packages/web/src}/dom/Clock.js (100%) rename {src/platform/web => packages/web/src}/dom/Crypto.js (99%) rename {src/platform/web => packages/web/src}/dom/History.js (100%) rename {src/platform/web => packages/web/src}/dom/ImageHandle.js (100%) rename {src/platform/web => packages/web/src}/dom/NotificationService.js (100%) rename {src/platform/web => packages/web/src}/dom/OnlineStatus.js (100%) rename {src/platform/web => packages/web/src}/dom/ServiceWorkerHandler.js (100%) rename {src/platform/web => packages/web/src}/dom/SettingsStorage.js (100%) rename {src/platform/web => packages/web/src}/dom/StorageEstimate.js (100%) rename {src/platform/web => packages/web/src}/dom/UTF8.js (100%) rename {src/platform/web => packages/web/src}/dom/WorkerPool.js (100%) rename {src/platform/web => packages/web/src}/dom/download.js (100%) rename {src/platform/web => packages/web/src}/dom/request/common.js (100%) rename {src/platform/web => packages/web/src}/dom/request/fetch.js (100%) rename {src/platform/web => packages/web/src}/dom/request/xhr.js (100%) rename {src/platform/web => packages/web/src}/dom/utils.js (100%) rename {src/platform/web => packages/web/src}/legacy-polyfill.js (100%) create mode 100644 packages/web/src/lib.ts rename {src => packages/web/src}/main.js (94%) rename {src/platform/web => packages/web/src}/parsehtml.js (100%) create mode 100644 packages/web/src/paths/vite.ts rename {src/platform/web => packages/web/src}/ui/AvatarView.js (100%) rename {src/platform/web => packages/web/src}/ui/RootView.js (100%) rename {src/platform/web => packages/web/src}/ui/avatar.js (100%) rename {src/platform/web => packages/web/src}/ui/common.js (100%) rename {src/platform/web => packages/web/src}/ui/css/avatar.css (100%) rename {src/platform/web => packages/web/src}/ui/css/font.css (100%) rename {src/platform/web => packages/web/src}/ui/css/form.css (100%) rename {src/platform/web => packages/web/src}/ui/css/layout.css (100%) rename {src/platform/web => packages/web/src}/ui/css/left-panel.css (100%) rename {src/platform/web => packages/web/src}/ui/css/login.css (100%) rename {src/platform/web => packages/web/src}/ui/css/main.css (100%) rename {src/platform/web => packages/web/src}/ui/css/popup.css (100%) rename {src/platform/web => packages/web/src}/ui/css/right-panel.css (100%) rename {src/platform/web => packages/web/src}/ui/css/room.css (100%) rename {src/platform/web => packages/web/src}/ui/css/spinner.css (100%) rename {src/platform/web => packages/web/src}/ui/css/status.css (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/README.md (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/bubbles/theme.css (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/element-logo.svg (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/icons/chevron-down.svg (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/icons/chevron-left.svg (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/icons/chevron-right.svg (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/icons/chevron-small.svg (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/icons/chevron-thin-left.svg (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/icons/clear.svg (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/icons/disable-grid.svg (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/icons/dismiss.svg (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/icons/e2ee-disabled.svg (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/icons/e2ee-normal.svg (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/icons/enable-grid.svg (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/icons/encryption-status.svg (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/icons/info.svg (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/icons/paperclip.svg (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/icons/room-members.svg (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/icons/search.svg (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/icons/send.svg (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/icons/settings.svg (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/icons/vertical-ellipsis.svg (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter.css (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-Black.woff (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-Black.woff2 (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-BlackItalic.woff (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-BlackItalic.woff2 (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-Bold.woff (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-Bold.woff2 (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-BoldItalic.woff (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-BoldItalic.woff2 (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-ExtraBold.woff (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-ExtraBold.woff2 (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-ExtraBoldItalic.woff (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-ExtraBoldItalic.woff2 (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-ExtraLight.woff (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-ExtraLight.woff2 (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-ExtraLightItalic.woff (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-ExtraLightItalic.woff2 (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-Italic.woff (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-Italic.woff2 (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-Light.woff (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-Light.woff2 (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-LightItalic.woff (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-LightItalic.woff2 (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-Medium.woff (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-Medium.woff2 (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-MediumItalic.woff (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-MediumItalic.woff2 (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-Regular.woff (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-Regular.woff2 (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-SemiBold.woff (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-SemiBold.woff2 (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-SemiBoldItalic.woff (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-SemiBoldItalic.woff2 (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-Thin.woff (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-Thin.woff2 (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-ThinItalic.woff (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/inter/Inter-ThinItalic.woff2 (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/theme.css (100%) rename {src/platform/web => packages/web/src}/ui/css/themes/element/timeline.css (100%) rename {src/platform/web => packages/web/src}/ui/css/timeline.css (100%) rename {src/platform/web => packages/web/src}/ui/general/BaseUpdateView.ts (100%) rename {src/platform/web => packages/web/src}/ui/general/LazyListView.js (100%) rename {src/platform/web => packages/web/src}/ui/general/ListView.ts (100%) rename {src/platform/web => packages/web/src}/ui/general/LoadingView.js (100%) rename {src/platform/web => packages/web/src}/ui/general/Menu.js (100%) rename {src/platform/web => packages/web/src}/ui/general/Popup.js (100%) rename {src/platform/web => packages/web/src}/ui/general/StaticView.js (100%) rename {src/platform/web => packages/web/src}/ui/general/TemplateView.ts (100%) rename {src/platform/web => packages/web/src}/ui/general/html.ts (100%) rename {src/platform/web => packages/web/src}/ui/general/types.ts (100%) rename {src/platform/web => packages/web/src}/ui/general/utils.ts (100%) rename {src/platform/web => packages/web/src}/ui/login/CompleteSSOView.js (100%) rename {src/platform/web => packages/web/src}/ui/login/LoginView.js (100%) rename {src/platform/web => packages/web/src}/ui/login/PasswordLoginView.js (100%) rename {src/platform/web => packages/web/src}/ui/login/SessionLoadStatusView.js (100%) rename {src/platform/web => packages/web/src}/ui/login/SessionLoadView.js (100%) rename {src/platform/web => packages/web/src}/ui/login/SessionPickerView.js (100%) rename {src/platform/web => packages/web/src}/ui/login/common.js (100%) rename {src/platform/web => packages/web/src}/ui/session/RoomGridView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/SessionStatusView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/SessionView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/leftpanel/InviteTileView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/leftpanel/LeftPanelView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/leftpanel/RoomTileView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/rightpanel/MemberDetailsView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/rightpanel/MemberListView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/rightpanel/MemberTileView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/rightpanel/RightPanelView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/rightpanel/RoomDetailsView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/room/InviteView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/room/LightboxView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/room/MessageComposer.js (100%) rename {src/platform/web => packages/web/src}/ui/session/room/RoomArchivedView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/room/RoomView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/room/TimelineLoadingView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/room/TimelineView.ts (100%) rename {src/platform/web => packages/web/src}/ui/session/room/UnknownRoomView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/room/timeline/AnnouncementView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/room/timeline/BaseMediaView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/room/timeline/BaseMessageView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/room/timeline/FileView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/room/timeline/GapView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/room/timeline/ImageView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/room/timeline/MissingAttachmentView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/room/timeline/ReactionsView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/room/timeline/RedactedView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/room/timeline/TextMessageView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/room/timeline/VideoView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/settings/SessionBackupSettingsView.js (100%) rename {src/platform/web => packages/web/src}/ui/session/settings/SettingsView.js (100%) rename {src/platform/web => packages/web/src}/ui/view-gallery.html (100%) rename {src/platform/web => packages/web/src}/utils/Base58.js (93%) rename {src/platform/web => packages/web/src}/utils/Base64.js (93%) rename {src/platform/web => packages/web/src}/utils/Encoding.js (100%) rename {src/platform/web => packages/web/src}/worker/main.js (100%) rename {src/platform/web => packages/web/src}/worker/polyfill.js (100%) rename {src/platform/web/docroot => packages/web}/sw.js (100%) create mode 100644 packages/web/vite.config.js delete mode 100644 src/lib.ts delete mode 100644 src/sdk/paths/vite.ts diff --git a/old.package.json b/old.package.json new file mode 100644 index 00000000..bdf6799d --- /dev/null +++ b/old.package.json @@ -0,0 +1,72 @@ +{ + "name": "hydrogen-web", + "version": "0.2.16", + "description": "A javascript matrix client prototype, trying to minize RAM usage by offloading as much as possible to IndexedDB", + "main": "src/lib.ts", + "directories": { + "doc": "doc" + }, + "scripts": { + "lint": "eslint --cache src/", + "lint-ts": "eslint src/ -c .ts-eslintrc.js --ext .ts", + "lint-ci": "eslint src/", + "test": "impunity --entry-point src/main.js --force-esm-dirs lib/ src/", + "start": "snowpack dev --port 3000", + "build": "node --experimental-modules scripts/build.mjs", + "postinstall": "node ./scripts/post-install.js" + }, + "repository": { + "type": "git", + "url": "git@github.com:vector-im/hydrogen-web.git" + }, + "author": "matrix.org", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/vector-im/hydrogen-web/issues" + }, + "homepage": "https://github.com/vector-im/hydrogen-web/#readme", + "devDependencies": { + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@rollup/plugin-babel": "^5.1.0", + "@rollup/plugin-multi-entry": "^4.0.0", + "@typescript-eslint/eslint-plugin": "^4.29.2", + "@typescript-eslint/parser": "^4.29.2", + "autoprefixer": "^10.2.6", + "cheerio": "^1.0.0-rc.3", + "commander": "^6.0.0", + "core-js": "^3.6.5", + "eslint": "^7.32.0", + "fake-indexeddb": "^3.1.2", + "finalhandler": "^1.1.1", + "impunity": "^1.0.1", + "mdn-polyfills": "^5.20.0", + "node-html-parser": "^4.0.0", + "postcss": "^8.1.1", + "postcss-css-variables": "^0.17.0", + "postcss-flexbugs-fixes": "^4.2.1", + "postcss-import": "^12.0.1", + "postcss-url": "^8.0.0", + "regenerator-runtime": "^0.13.7", + "rollup-plugin-cleanup": "^3.1.1", + "serve-static": "^1.13.2", + "snowpack": "^3.8.3", + "typescript": "^4.3.5", + "xxhashjs": "^0.2.2" + }, + "dependencies": { + "@matrix-org/olm": "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.3.tgz", + "@rollup/plugin-commonjs": "^15.0.0", + "@rollup/plugin-json": "^4.1.0", + "@rollup/plugin-node-resolve": "^9.0.0", + "aes-js": "^3.1.2", + "another-json": "^0.2.0", + "base64-arraybuffer": "^0.2.0", + "bs58": "^4.0.1", + "dompurify": "^2.3.0", + "es6-promise": "https://github.com/bwindels/es6-promise.git#bwindels/expose-flush", + "rollup": "^2.26.4", + "text-encoding": "^0.7.0", + "vite": "^2.6.2" + } +} diff --git a/package.json b/package.json index 65e72801..d6056779 100644 --- a/package.json +++ b/package.json @@ -1,71 +1,9 @@ { - "name": "hydrogen-web", - "version": "0.2.16", - "description": "A javascript matrix client prototype, trying to minize RAM usage by offloading as much as possible to IndexedDB", - "main": "src/lib.ts", - "directories": { - "doc": "doc" - }, - "scripts": { - "lint": "eslint --cache src/", - "lint-ts": "eslint src/ -c .ts-eslintrc.js --ext .ts", - "lint-ci": "eslint src/", - "test": "impunity --entry-point src/main.js --force-esm-dirs lib/ src/", - "start": "snowpack dev --port 3000", - "build": "node --experimental-modules scripts/build.mjs", - "postinstall": "node ./scripts/post-install.js" - }, - "repository": { - "type": "git", - "url": "git@github.com:vector-im/hydrogen-web.git" - }, - "author": "matrix.org", - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/vector-im/hydrogen-web/issues" - }, - "homepage": "https://github.com/vector-im/hydrogen-web/#readme", - "devDependencies": { - "@babel/core": "^7.11.1", - "@babel/preset-env": "^7.11.0", - "@rollup/plugin-babel": "^5.1.0", - "@rollup/plugin-multi-entry": "^4.0.0", - "@typescript-eslint/eslint-plugin": "^4.29.2", - "@typescript-eslint/parser": "^4.29.2", - "autoprefixer": "^10.2.6", - "cheerio": "^1.0.0-rc.3", - "commander": "^6.0.0", - "core-js": "^3.6.5", - "eslint": "^7.32.0", - "fake-indexeddb": "^3.1.2", - "finalhandler": "^1.1.1", - "impunity": "^1.0.1", - "mdn-polyfills": "^5.20.0", - "node-html-parser": "^4.0.0", - "postcss": "^8.1.1", - "postcss-css-variables": "^0.17.0", - "postcss-flexbugs-fixes": "^4.2.1", - "postcss-import": "^12.0.1", - "postcss-url": "^8.0.0", - "regenerator-runtime": "^0.13.7", - "rollup-plugin-cleanup": "^3.1.1", - "serve-static": "^1.13.2", - "snowpack": "^3.8.3", - "typescript": "^4.3.5", - "xxhashjs": "^0.2.2" - }, - "dependencies": { - "@matrix-org/olm": "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.3.tgz", - "aes-js": "^3.1.2", - "another-json": "^0.2.0", - "base64-arraybuffer": "^0.2.0", - "bs58": "^4.0.1", - "dompurify": "^2.3.0", - "es6-promise": "https://github.com/bwindels/es6-promise.git#bwindels/expose-flush", - "text-encoding": "^0.7.0", - "@rollup/plugin-commonjs": "^15.0.0", - "@rollup/plugin-json": "^4.1.0", - "@rollup/plugin-node-resolve": "^9.0.0", - "rollup": "^2.26.4" - } + "private": true, + "workspaces": [ + "packages/common", + "packages/matrix", + "packages/domain", + "packages/web" + ] } diff --git a/packages/common/package.json b/packages/common/package.json new file mode 100644 index 00000000..106b4aed --- /dev/null +++ b/packages/common/package.json @@ -0,0 +1,10 @@ +{ + "name": "hydrogen-common", + "version": "0.0.1", + "main": "src/lib.ts", + "homepage": "https://github.com/vector-im/hydrogen-web/#readme", + "devDependencies": { + "vite": "^2.6.2", + "typescript": "^4.3.5" + } +} diff --git a/packages/common/src/lib.ts b/packages/common/src/lib.ts new file mode 100644 index 00000000..b30ed9a2 --- /dev/null +++ b/packages/common/src/lib.ts @@ -0,0 +1,22 @@ +/* +Copyright 2021 The Matrix.org Foundation C.I.C. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +export * from "./utils/index"; +export * from "./observable/index"; +export {IDBLogger} from "./logging/IDBLogger.js"; +export {NullLogger} from "./logging/NullLogger.js"; +export {ConsoleLogger} from "./logging/ConsoleLogger.js"; +export type {LogItem} from "./logging/LogItem.js"; diff --git a/src/logging/BaseLogger.js b/packages/common/src/logging/BaseLogger.js similarity index 100% rename from src/logging/BaseLogger.js rename to packages/common/src/logging/BaseLogger.js diff --git a/src/logging/ConsoleLogger.js b/packages/common/src/logging/ConsoleLogger.js similarity index 100% rename from src/logging/ConsoleLogger.js rename to packages/common/src/logging/ConsoleLogger.js diff --git a/src/logging/IDBLogger.js b/packages/common/src/logging/IDBLogger.js similarity index 100% rename from src/logging/IDBLogger.js rename to packages/common/src/logging/IDBLogger.js diff --git a/src/logging/LogFilter.js b/packages/common/src/logging/LogFilter.js similarity index 100% rename from src/logging/LogFilter.js rename to packages/common/src/logging/LogFilter.js diff --git a/src/logging/LogItem.js b/packages/common/src/logging/LogItem.js similarity index 100% rename from src/logging/LogItem.js rename to packages/common/src/logging/LogItem.js diff --git a/src/logging/NullLogger.js b/packages/common/src/logging/NullLogger.js similarity index 100% rename from src/logging/NullLogger.js rename to packages/common/src/logging/NullLogger.js diff --git a/src/logging/utils.js b/packages/common/src/logging/utils.js similarity index 100% rename from src/logging/utils.js rename to packages/common/src/logging/utils.js diff --git a/src/observable/BaseObservable.ts b/packages/common/src/observable/BaseObservable.ts similarity index 100% rename from src/observable/BaseObservable.ts rename to packages/common/src/observable/BaseObservable.ts diff --git a/src/observable/ObservableValue.ts b/packages/common/src/observable/ObservableValue.ts similarity index 100% rename from src/observable/ObservableValue.ts rename to packages/common/src/observable/ObservableValue.ts diff --git a/src/observable/index.js b/packages/common/src/observable/index.js similarity index 97% rename from src/observable/index.js rename to packages/common/src/observable/index.js index 47b68e91..d0191340 100644 --- a/src/observable/index.js +++ b/packages/common/src/observable/index.js @@ -26,6 +26,7 @@ export { MappedList } from "./list/MappedList.js"; export { AsyncMappedList } from "./list/AsyncMappedList.js"; export { ConcatList } from "./list/ConcatList.js"; export { ObservableMap } from "./map/ObservableMap.js"; +export { ObservableValue } from "./ObservableValue"; // avoid circular dependency between these classes // and BaseObservableMap (as they extend it) diff --git a/src/observable/list/AsyncMappedList.js b/packages/common/src/observable/list/AsyncMappedList.js similarity index 100% rename from src/observable/list/AsyncMappedList.js rename to packages/common/src/observable/list/AsyncMappedList.js diff --git a/src/observable/list/BaseMappedList.ts b/packages/common/src/observable/list/BaseMappedList.ts similarity index 100% rename from src/observable/list/BaseMappedList.ts rename to packages/common/src/observable/list/BaseMappedList.ts diff --git a/src/observable/list/BaseObservableList.ts b/packages/common/src/observable/list/BaseObservableList.ts similarity index 100% rename from src/observable/list/BaseObservableList.ts rename to packages/common/src/observable/list/BaseObservableList.ts diff --git a/src/observable/list/ConcatList.js b/packages/common/src/observable/list/ConcatList.js similarity index 100% rename from src/observable/list/ConcatList.js rename to packages/common/src/observable/list/ConcatList.js diff --git a/src/observable/list/MappedList.js b/packages/common/src/observable/list/MappedList.js similarity index 100% rename from src/observable/list/MappedList.js rename to packages/common/src/observable/list/MappedList.js diff --git a/src/observable/list/ObservableArray.js b/packages/common/src/observable/list/ObservableArray.js similarity index 100% rename from src/observable/list/ObservableArray.js rename to packages/common/src/observable/list/ObservableArray.js diff --git a/src/observable/list/SortedArray.js b/packages/common/src/observable/list/SortedArray.js similarity index 100% rename from src/observable/list/SortedArray.js rename to packages/common/src/observable/list/SortedArray.js diff --git a/src/observable/list/SortedMapList.js b/packages/common/src/observable/list/SortedMapList.js similarity index 100% rename from src/observable/list/SortedMapList.js rename to packages/common/src/observable/list/SortedMapList.js diff --git a/src/observable/list/common.ts b/packages/common/src/observable/list/common.ts similarity index 100% rename from src/observable/list/common.ts rename to packages/common/src/observable/list/common.ts diff --git a/src/observable/map/ApplyMap.js b/packages/common/src/observable/map/ApplyMap.js similarity index 100% rename from src/observable/map/ApplyMap.js rename to packages/common/src/observable/map/ApplyMap.js diff --git a/src/observable/map/BaseObservableMap.js b/packages/common/src/observable/map/BaseObservableMap.js similarity index 100% rename from src/observable/map/BaseObservableMap.js rename to packages/common/src/observable/map/BaseObservableMap.js diff --git a/src/observable/map/FilteredMap.js b/packages/common/src/observable/map/FilteredMap.js similarity index 100% rename from src/observable/map/FilteredMap.js rename to packages/common/src/observable/map/FilteredMap.js diff --git a/src/observable/map/JoinedMap.js b/packages/common/src/observable/map/JoinedMap.js similarity index 100% rename from src/observable/map/JoinedMap.js rename to packages/common/src/observable/map/JoinedMap.js diff --git a/src/observable/map/MappedMap.js b/packages/common/src/observable/map/MappedMap.js similarity index 100% rename from src/observable/map/MappedMap.js rename to packages/common/src/observable/map/MappedMap.js diff --git a/src/observable/map/ObservableMap.js b/packages/common/src/observable/map/ObservableMap.js similarity index 100% rename from src/observable/map/ObservableMap.js rename to packages/common/src/observable/map/ObservableMap.js diff --git a/src/utils/AbortableOperation.ts b/packages/common/src/utils/AbortableOperation.ts similarity index 100% rename from src/utils/AbortableOperation.ts rename to packages/common/src/utils/AbortableOperation.ts diff --git a/src/utils/Disposables.js b/packages/common/src/utils/Disposables.js similarity index 100% rename from src/utils/Disposables.js rename to packages/common/src/utils/Disposables.js diff --git a/src/utils/EventEmitter.ts b/packages/common/src/utils/EventEmitter.ts similarity index 100% rename from src/utils/EventEmitter.ts rename to packages/common/src/utils/EventEmitter.ts diff --git a/src/utils/LRUCache.js b/packages/common/src/utils/LRUCache.js similarity index 100% rename from src/utils/LRUCache.js rename to packages/common/src/utils/LRUCache.js diff --git a/src/utils/Lock.js b/packages/common/src/utils/Lock.js similarity index 100% rename from src/utils/Lock.js rename to packages/common/src/utils/Lock.js diff --git a/src/utils/LockMap.js b/packages/common/src/utils/LockMap.js similarity index 100% rename from src/utils/LockMap.js rename to packages/common/src/utils/LockMap.js diff --git a/src/utils/RetainedValue.js b/packages/common/src/utils/RetainedValue.js similarity index 100% rename from src/utils/RetainedValue.js rename to packages/common/src/utils/RetainedValue.js diff --git a/src/utils/crypto/hkdf.js b/packages/common/src/utils/crypto/hkdf.js similarity index 100% rename from src/utils/crypto/hkdf.js rename to packages/common/src/utils/crypto/hkdf.js diff --git a/src/utils/crypto/pbkdf2.js b/packages/common/src/utils/crypto/pbkdf2.js similarity index 100% rename from src/utils/crypto/pbkdf2.js rename to packages/common/src/utils/crypto/pbkdf2.js diff --git a/src/utils/enum.js b/packages/common/src/utils/enum.js similarity index 100% rename from src/utils/enum.js rename to packages/common/src/utils/enum.js diff --git a/src/utils/error.js b/packages/common/src/utils/error.js similarity index 100% rename from src/utils/error.js rename to packages/common/src/utils/error.js diff --git a/src/utils/formatSize.js b/packages/common/src/utils/formatSize.js similarity index 100% rename from src/utils/formatSize.js rename to packages/common/src/utils/formatSize.js diff --git a/src/utils/groupBy.js b/packages/common/src/utils/groupBy.js similarity index 100% rename from src/utils/groupBy.js rename to packages/common/src/utils/groupBy.js diff --git a/packages/common/src/utils/index.ts b/packages/common/src/utils/index.ts new file mode 100644 index 00000000..89f7002c --- /dev/null +++ b/packages/common/src/utils/index.ts @@ -0,0 +1,31 @@ +/* +Copyright 2021 The Matrix.org Foundation C.I.C. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +export {AbortableOperation} from "./AbortableOperation"; +export {Disposables} from "./Disposables.js"; +export {createEnum} from "./enum.js"; +export {AbortError} from "./error.js"; +export {EventEmitter} from "./EventEmitter.js"; +export {formatSize} from "./formatSize.js"; +export {groupBy} from "./groupBy.js"; +export {Lock} from "./Lock.js"; +export {LockMap} from "./LockMap.js"; +export {LRUCache} from "./LRUCache.js"; +export {mergeMap} from "./mergeMap.js"; +export {RetainedValue} from "./RetainedValue.js"; +export {sortedIndex} from "./sortedIndex.js"; +export {abortOnTimeout} from "./timeout.js"; +export {typedJSON} from "./typedJSON.js"; diff --git a/src/utils/mergeMap.js b/packages/common/src/utils/mergeMap.js similarity index 100% rename from src/utils/mergeMap.js rename to packages/common/src/utils/mergeMap.js diff --git a/src/utils/sortedIndex.js b/packages/common/src/utils/sortedIndex.js similarity index 100% rename from src/utils/sortedIndex.js rename to packages/common/src/utils/sortedIndex.js diff --git a/src/utils/timeout.js b/packages/common/src/utils/timeout.js similarity index 100% rename from src/utils/timeout.js rename to packages/common/src/utils/timeout.js diff --git a/src/utils/typedJSON.ts b/packages/common/src/utils/typedJSON.ts similarity index 94% rename from src/utils/typedJSON.ts rename to packages/common/src/utils/typedJSON.ts index 928df32e..6ed4616c 100644 --- a/src/utils/typedJSON.ts +++ b/packages/common/src/utils/typedJSON.ts @@ -14,13 +14,15 @@ See the License for the specific language governing permissions and limitations under the License. */ -export function stringify(value: any): string { - return JSON.stringify(encodeValue(value)); -} +export const typedJSON = { + stringify(value: any): string { + return JSON.stringify(encodeValue(value)); + }, + parse(value: string): any { + return decodeValue(JSON.parse(value)); + } +}; -export function parse(value: string): any { - return decodeValue(JSON.parse(value)); -} function encodeValue(value: any): any { if (typeof value === "object" && value !== null && !Array.isArray(value)) { diff --git a/packages/common/vite.config.js b/packages/common/vite.config.js new file mode 100644 index 00000000..6f69598d --- /dev/null +++ b/packages/common/vite.config.js @@ -0,0 +1,13 @@ +export default { + build: { + lib: { + entry: "src/lib.ts", + formats: ["es", "iife"], + name: "hydrogenCommon", + } + }, + public: false, + server: { + hmr: false + } +}; diff --git a/packages/domain/package.json b/packages/domain/package.json new file mode 100644 index 00000000..4005209b --- /dev/null +++ b/packages/domain/package.json @@ -0,0 +1,14 @@ +{ + "name": "hydrogen-domain", + "version": "0.0.1", + "main": "src/lib.ts", + "homepage": "https://github.com/vector-im/hydrogen-web/#readme", + "devDependencies": { + "vite": "^2.6.2", + "typescript": "^4.3.5" + }, + "dependencies": { + "hydrogen-common": "0.0.1", + "hydrogen-matrix": "0.0.1" + } +} diff --git a/src/domain/RootViewModel.js b/packages/domain/src/RootViewModel.js similarity index 100% rename from src/domain/RootViewModel.js rename to packages/domain/src/RootViewModel.js diff --git a/src/domain/SessionLoadViewModel.js b/packages/domain/src/SessionLoadViewModel.js similarity index 100% rename from src/domain/SessionLoadViewModel.js rename to packages/domain/src/SessionLoadViewModel.js diff --git a/src/domain/SessionPickerViewModel.js b/packages/domain/src/SessionPickerViewModel.js similarity index 100% rename from src/domain/SessionPickerViewModel.js rename to packages/domain/src/SessionPickerViewModel.js diff --git a/src/domain/ViewModel.js b/packages/domain/src/ViewModel.js similarity index 97% rename from src/domain/ViewModel.js rename to packages/domain/src/ViewModel.js index f0e109f8..6139f574 100644 --- a/src/domain/ViewModel.js +++ b/packages/domain/src/ViewModel.js @@ -18,8 +18,7 @@ limitations under the License. // as in some cases it would really be more convenient to have multiple events (like telling the timeline to scroll down) // we do need to return a disposable from EventEmitter.on, or at least have a method here to easily track a subscription to an EventEmitter -import {EventEmitter} from "../utils/EventEmitter"; -import {Disposables} from "../utils/Disposables.js"; +import {Disposables, EventEmitter} from "hydrogen-common"; export class ViewModel extends EventEmitter { constructor(options = {}) { diff --git a/src/domain/avatar.js b/packages/domain/src/avatar.js similarity index 100% rename from src/domain/avatar.js rename to packages/domain/src/avatar.js diff --git a/packages/domain/src/lib.ts b/packages/domain/src/lib.ts new file mode 100644 index 00000000..ee005569 --- /dev/null +++ b/packages/domain/src/lib.ts @@ -0,0 +1,22 @@ +/* +Copyright 2021 The Matrix.org Foundation C.I.C. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +export {createNavigation, createRouter} from "./navigation/index.js"; +// export main view & view models +export {RootViewModel} from "./RootViewModel.js"; +export {SessionViewModel} from "./session/SessionViewModel.js"; +export {RoomViewModel} from "./session/room/RoomViewModel.js"; +export {TimelineViewModel} from "./session/room/timeline/TimelineViewModel.js"; diff --git a/src/domain/login/CompleteSSOLoginViewModel.js b/packages/domain/src/login/CompleteSSOLoginViewModel.js similarity index 100% rename from src/domain/login/CompleteSSOLoginViewModel.js rename to packages/domain/src/login/CompleteSSOLoginViewModel.js diff --git a/src/domain/login/LoginViewModel.js b/packages/domain/src/login/LoginViewModel.js similarity index 100% rename from src/domain/login/LoginViewModel.js rename to packages/domain/src/login/LoginViewModel.js diff --git a/src/domain/login/PasswordLoginViewModel.js b/packages/domain/src/login/PasswordLoginViewModel.js similarity index 100% rename from src/domain/login/PasswordLoginViewModel.js rename to packages/domain/src/login/PasswordLoginViewModel.js diff --git a/src/domain/login/StartSSOLoginViewModel.js b/packages/domain/src/login/StartSSOLoginViewModel.js similarity index 100% rename from src/domain/login/StartSSOLoginViewModel.js rename to packages/domain/src/login/StartSSOLoginViewModel.js diff --git a/src/domain/navigation/Navigation.js b/packages/domain/src/navigation/Navigation.js similarity index 100% rename from src/domain/navigation/Navigation.js rename to packages/domain/src/navigation/Navigation.js diff --git a/src/domain/navigation/URLRouter.js b/packages/domain/src/navigation/URLRouter.js similarity index 100% rename from src/domain/navigation/URLRouter.js rename to packages/domain/src/navigation/URLRouter.js diff --git a/src/domain/navigation/index.js b/packages/domain/src/navigation/index.js similarity index 100% rename from src/domain/navigation/index.js rename to packages/domain/src/navigation/index.js diff --git a/src/domain/session/RoomGridViewModel.js b/packages/domain/src/session/RoomGridViewModel.js similarity index 100% rename from src/domain/session/RoomGridViewModel.js rename to packages/domain/src/session/RoomGridViewModel.js diff --git a/src/domain/session/RoomViewModelObservable.js b/packages/domain/src/session/RoomViewModelObservable.js similarity index 100% rename from src/domain/session/RoomViewModelObservable.js rename to packages/domain/src/session/RoomViewModelObservable.js diff --git a/src/domain/session/SessionStatusViewModel.js b/packages/domain/src/session/SessionStatusViewModel.js similarity index 100% rename from src/domain/session/SessionStatusViewModel.js rename to packages/domain/src/session/SessionStatusViewModel.js diff --git a/src/domain/session/SessionViewModel.js b/packages/domain/src/session/SessionViewModel.js similarity index 100% rename from src/domain/session/SessionViewModel.js rename to packages/domain/src/session/SessionViewModel.js diff --git a/src/domain/session/leftpanel/BaseTileViewModel.js b/packages/domain/src/session/leftpanel/BaseTileViewModel.js similarity index 100% rename from src/domain/session/leftpanel/BaseTileViewModel.js rename to packages/domain/src/session/leftpanel/BaseTileViewModel.js diff --git a/src/domain/session/leftpanel/InviteTileViewModel.js b/packages/domain/src/session/leftpanel/InviteTileViewModel.js similarity index 100% rename from src/domain/session/leftpanel/InviteTileViewModel.js rename to packages/domain/src/session/leftpanel/InviteTileViewModel.js diff --git a/src/domain/session/leftpanel/LeftPanelViewModel.js b/packages/domain/src/session/leftpanel/LeftPanelViewModel.js similarity index 100% rename from src/domain/session/leftpanel/LeftPanelViewModel.js rename to packages/domain/src/session/leftpanel/LeftPanelViewModel.js diff --git a/src/domain/session/leftpanel/RoomFilter.js b/packages/domain/src/session/leftpanel/RoomFilter.js similarity index 100% rename from src/domain/session/leftpanel/RoomFilter.js rename to packages/domain/src/session/leftpanel/RoomFilter.js diff --git a/src/domain/session/leftpanel/RoomTileViewModel.js b/packages/domain/src/session/leftpanel/RoomTileViewModel.js similarity index 100% rename from src/domain/session/leftpanel/RoomTileViewModel.js rename to packages/domain/src/session/leftpanel/RoomTileViewModel.js diff --git a/src/domain/session/rightpanel/MemberDetailsViewModel.js b/packages/domain/src/session/rightpanel/MemberDetailsViewModel.js similarity index 100% rename from src/domain/session/rightpanel/MemberDetailsViewModel.js rename to packages/domain/src/session/rightpanel/MemberDetailsViewModel.js diff --git a/src/domain/session/rightpanel/MemberListViewModel.js b/packages/domain/src/session/rightpanel/MemberListViewModel.js similarity index 100% rename from src/domain/session/rightpanel/MemberListViewModel.js rename to packages/domain/src/session/rightpanel/MemberListViewModel.js diff --git a/src/domain/session/rightpanel/MemberTileViewModel.js b/packages/domain/src/session/rightpanel/MemberTileViewModel.js similarity index 100% rename from src/domain/session/rightpanel/MemberTileViewModel.js rename to packages/domain/src/session/rightpanel/MemberTileViewModel.js diff --git a/src/domain/session/rightpanel/RightPanelViewModel.js b/packages/domain/src/session/rightpanel/RightPanelViewModel.js similarity index 100% rename from src/domain/session/rightpanel/RightPanelViewModel.js rename to packages/domain/src/session/rightpanel/RightPanelViewModel.js diff --git a/src/domain/session/rightpanel/RoomDetailsViewModel.js b/packages/domain/src/session/rightpanel/RoomDetailsViewModel.js similarity index 100% rename from src/domain/session/rightpanel/RoomDetailsViewModel.js rename to packages/domain/src/session/rightpanel/RoomDetailsViewModel.js diff --git a/src/domain/session/rightpanel/members/comparator.js b/packages/domain/src/session/rightpanel/members/comparator.js similarity index 100% rename from src/domain/session/rightpanel/members/comparator.js rename to packages/domain/src/session/rightpanel/members/comparator.js diff --git a/src/domain/session/rightpanel/members/disambiguator.js b/packages/domain/src/session/rightpanel/members/disambiguator.js similarity index 100% rename from src/domain/session/rightpanel/members/disambiguator.js rename to packages/domain/src/session/rightpanel/members/disambiguator.js diff --git a/src/domain/session/room/ComposerViewModel.js b/packages/domain/src/session/room/ComposerViewModel.js similarity index 100% rename from src/domain/session/room/ComposerViewModel.js rename to packages/domain/src/session/room/ComposerViewModel.js diff --git a/src/domain/session/room/InviteViewModel.js b/packages/domain/src/session/room/InviteViewModel.js similarity index 100% rename from src/domain/session/room/InviteViewModel.js rename to packages/domain/src/session/room/InviteViewModel.js diff --git a/src/domain/session/room/LightboxViewModel.js b/packages/domain/src/session/room/LightboxViewModel.js similarity index 100% rename from src/domain/session/room/LightboxViewModel.js rename to packages/domain/src/session/room/LightboxViewModel.js diff --git a/src/domain/session/room/README.md b/packages/domain/src/session/room/README.md similarity index 100% rename from src/domain/session/room/README.md rename to packages/domain/src/session/room/README.md diff --git a/src/domain/session/room/RoomViewModel.js b/packages/domain/src/session/room/RoomViewModel.js similarity index 100% rename from src/domain/session/room/RoomViewModel.js rename to packages/domain/src/session/room/RoomViewModel.js diff --git a/src/domain/session/room/UnknownRoomViewModel.js b/packages/domain/src/session/room/UnknownRoomViewModel.js similarity index 100% rename from src/domain/session/room/UnknownRoomViewModel.js rename to packages/domain/src/session/room/UnknownRoomViewModel.js diff --git a/src/domain/session/room/timeline/FORMATTED.md b/packages/domain/src/session/room/timeline/FORMATTED.md similarity index 100% rename from src/domain/session/room/timeline/FORMATTED.md rename to packages/domain/src/session/room/timeline/FORMATTED.md diff --git a/src/domain/session/room/timeline/MessageBody.js b/packages/domain/src/session/room/timeline/MessageBody.js similarity index 100% rename from src/domain/session/room/timeline/MessageBody.js rename to packages/domain/src/session/room/timeline/MessageBody.js diff --git a/src/domain/session/room/timeline/ReactionsViewModel.js b/packages/domain/src/session/room/timeline/ReactionsViewModel.js similarity index 100% rename from src/domain/session/room/timeline/ReactionsViewModel.js rename to packages/domain/src/session/room/timeline/ReactionsViewModel.js diff --git a/src/domain/session/room/timeline/TilesCollection.js b/packages/domain/src/session/room/timeline/TilesCollection.js similarity index 100% rename from src/domain/session/room/timeline/TilesCollection.js rename to packages/domain/src/session/room/timeline/TilesCollection.js diff --git a/src/domain/session/room/timeline/TimelineViewModel.js b/packages/domain/src/session/room/timeline/TimelineViewModel.js similarity index 100% rename from src/domain/session/room/timeline/TimelineViewModel.js rename to packages/domain/src/session/room/timeline/TimelineViewModel.js diff --git a/src/domain/session/room/timeline/UpdateAction.js b/packages/domain/src/session/room/timeline/UpdateAction.js similarity index 100% rename from src/domain/session/room/timeline/UpdateAction.js rename to packages/domain/src/session/room/timeline/UpdateAction.js diff --git a/src/domain/session/room/timeline/deserialize.js b/packages/domain/src/session/room/timeline/deserialize.js similarity index 100% rename from src/domain/session/room/timeline/deserialize.js rename to packages/domain/src/session/room/timeline/deserialize.js diff --git a/src/domain/session/room/timeline/linkify/linkify.js b/packages/domain/src/session/room/timeline/linkify/linkify.js similarity index 100% rename from src/domain/session/room/timeline/linkify/linkify.js rename to packages/domain/src/session/room/timeline/linkify/linkify.js diff --git a/src/domain/session/room/timeline/linkify/regex.js b/packages/domain/src/session/room/timeline/linkify/regex.js similarity index 100% rename from src/domain/session/room/timeline/linkify/regex.js rename to packages/domain/src/session/room/timeline/linkify/regex.js diff --git a/src/domain/session/room/timeline/tiles/BaseMediaTile.js b/packages/domain/src/session/room/timeline/tiles/BaseMediaTile.js similarity index 100% rename from src/domain/session/room/timeline/tiles/BaseMediaTile.js rename to packages/domain/src/session/room/timeline/tiles/BaseMediaTile.js diff --git a/src/domain/session/room/timeline/tiles/BaseMessageTile.js b/packages/domain/src/session/room/timeline/tiles/BaseMessageTile.js similarity index 100% rename from src/domain/session/room/timeline/tiles/BaseMessageTile.js rename to packages/domain/src/session/room/timeline/tiles/BaseMessageTile.js diff --git a/src/domain/session/room/timeline/tiles/BaseTextTile.js b/packages/domain/src/session/room/timeline/tiles/BaseTextTile.js similarity index 100% rename from src/domain/session/room/timeline/tiles/BaseTextTile.js rename to packages/domain/src/session/room/timeline/tiles/BaseTextTile.js diff --git a/src/domain/session/room/timeline/tiles/EncryptedEventTile.js b/packages/domain/src/session/room/timeline/tiles/EncryptedEventTile.js similarity index 100% rename from src/domain/session/room/timeline/tiles/EncryptedEventTile.js rename to packages/domain/src/session/room/timeline/tiles/EncryptedEventTile.js diff --git a/src/domain/session/room/timeline/tiles/EncryptionEnabledTile.js b/packages/domain/src/session/room/timeline/tiles/EncryptionEnabledTile.js similarity index 100% rename from src/domain/session/room/timeline/tiles/EncryptionEnabledTile.js rename to packages/domain/src/session/room/timeline/tiles/EncryptionEnabledTile.js diff --git a/src/domain/session/room/timeline/tiles/FileTile.js b/packages/domain/src/session/room/timeline/tiles/FileTile.js similarity index 100% rename from src/domain/session/room/timeline/tiles/FileTile.js rename to packages/domain/src/session/room/timeline/tiles/FileTile.js diff --git a/src/domain/session/room/timeline/tiles/GapTile.js b/packages/domain/src/session/room/timeline/tiles/GapTile.js similarity index 100% rename from src/domain/session/room/timeline/tiles/GapTile.js rename to packages/domain/src/session/room/timeline/tiles/GapTile.js diff --git a/src/domain/session/room/timeline/tiles/ImageTile.js b/packages/domain/src/session/room/timeline/tiles/ImageTile.js similarity index 100% rename from src/domain/session/room/timeline/tiles/ImageTile.js rename to packages/domain/src/session/room/timeline/tiles/ImageTile.js diff --git a/src/domain/session/room/timeline/tiles/LocationTile.js b/packages/domain/src/session/room/timeline/tiles/LocationTile.js similarity index 100% rename from src/domain/session/room/timeline/tiles/LocationTile.js rename to packages/domain/src/session/room/timeline/tiles/LocationTile.js diff --git a/src/domain/session/room/timeline/tiles/MissingAttachmentTile.js b/packages/domain/src/session/room/timeline/tiles/MissingAttachmentTile.js similarity index 100% rename from src/domain/session/room/timeline/tiles/MissingAttachmentTile.js rename to packages/domain/src/session/room/timeline/tiles/MissingAttachmentTile.js diff --git a/src/domain/session/room/timeline/tiles/RedactedTile.js b/packages/domain/src/session/room/timeline/tiles/RedactedTile.js similarity index 100% rename from src/domain/session/room/timeline/tiles/RedactedTile.js rename to packages/domain/src/session/room/timeline/tiles/RedactedTile.js diff --git a/src/domain/session/room/timeline/tiles/RoomMemberTile.js b/packages/domain/src/session/room/timeline/tiles/RoomMemberTile.js similarity index 100% rename from src/domain/session/room/timeline/tiles/RoomMemberTile.js rename to packages/domain/src/session/room/timeline/tiles/RoomMemberTile.js diff --git a/src/domain/session/room/timeline/tiles/RoomNameTile.js b/packages/domain/src/session/room/timeline/tiles/RoomNameTile.js similarity index 100% rename from src/domain/session/room/timeline/tiles/RoomNameTile.js rename to packages/domain/src/session/room/timeline/tiles/RoomNameTile.js diff --git a/src/domain/session/room/timeline/tiles/SimpleTile.js b/packages/domain/src/session/room/timeline/tiles/SimpleTile.js similarity index 100% rename from src/domain/session/room/timeline/tiles/SimpleTile.js rename to packages/domain/src/session/room/timeline/tiles/SimpleTile.js diff --git a/src/domain/session/room/timeline/tiles/TextTile.js b/packages/domain/src/session/room/timeline/tiles/TextTile.js similarity index 100% rename from src/domain/session/room/timeline/tiles/TextTile.js rename to packages/domain/src/session/room/timeline/tiles/TextTile.js diff --git a/src/domain/session/room/timeline/tiles/VideoTile.js b/packages/domain/src/session/room/timeline/tiles/VideoTile.js similarity index 100% rename from src/domain/session/room/timeline/tiles/VideoTile.js rename to packages/domain/src/session/room/timeline/tiles/VideoTile.js diff --git a/src/domain/session/room/timeline/tilesCreator.js b/packages/domain/src/session/room/timeline/tilesCreator.js similarity index 100% rename from src/domain/session/room/timeline/tilesCreator.js rename to packages/domain/src/session/room/timeline/tilesCreator.js diff --git a/src/domain/session/settings/SessionBackupViewModel.js b/packages/domain/src/session/settings/SessionBackupViewModel.js similarity index 100% rename from src/domain/session/settings/SessionBackupViewModel.js rename to packages/domain/src/session/settings/SessionBackupViewModel.js diff --git a/src/domain/session/settings/SettingsViewModel.js b/packages/domain/src/session/settings/SettingsViewModel.js similarity index 100% rename from src/domain/session/settings/SettingsViewModel.js rename to packages/domain/src/session/settings/SettingsViewModel.js diff --git a/packages/domain/vite.config.js b/packages/domain/vite.config.js new file mode 100644 index 00000000..dd86c866 --- /dev/null +++ b/packages/domain/vite.config.js @@ -0,0 +1,13 @@ +export default { + build: { + lib: { + entry: "src/lib.ts", + formats: ["es", "iife"], + name: "hydrogenDomain", + } + }, + public: false, + server: { + hmr: false + } +}; diff --git a/packages/matrix/package.json b/packages/matrix/package.json new file mode 100644 index 00000000..ffbbcee0 --- /dev/null +++ b/packages/matrix/package.json @@ -0,0 +1,13 @@ +{ + "name": "hydrogen-matrix", + "version": "0.0.1", + "main": "src/lib.ts", + "homepage": "https://github.com/vector-im/hydrogen-web/#readme", + "devDependencies": { + "vite": "^2.6.2", + "typescript": "^4.3.5" + }, + "dependencies": { + "hydrogen-common": "0.0.1" + } +} diff --git a/src/matrix/DeviceMessageHandler.js b/packages/matrix/src/DeviceMessageHandler.js similarity index 100% rename from src/matrix/DeviceMessageHandler.js rename to packages/matrix/src/DeviceMessageHandler.js diff --git a/src/matrix/ServerFeatures.js b/packages/matrix/src/ServerFeatures.js similarity index 100% rename from src/matrix/ServerFeatures.js rename to packages/matrix/src/ServerFeatures.js diff --git a/src/matrix/Session.js b/packages/matrix/src/Session.js similarity index 100% rename from src/matrix/Session.js rename to packages/matrix/src/Session.js diff --git a/src/matrix/SessionContainer.js b/packages/matrix/src/SessionContainer.js similarity index 100% rename from src/matrix/SessionContainer.js rename to packages/matrix/src/SessionContainer.js diff --git a/src/matrix/Sync.js b/packages/matrix/src/Sync.js similarity index 100% rename from src/matrix/Sync.js rename to packages/matrix/src/Sync.js diff --git a/src/matrix/User.js b/packages/matrix/src/User.js similarity index 100% rename from src/matrix/User.js rename to packages/matrix/src/User.js diff --git a/src/matrix/common.js b/packages/matrix/src/common.js similarity index 100% rename from src/matrix/common.js rename to packages/matrix/src/common.js diff --git a/src/matrix/e2ee/Account.js b/packages/matrix/src/e2ee/Account.js similarity index 99% rename from src/matrix/e2ee/Account.js rename to packages/matrix/src/e2ee/Account.js index 1de43ccd..9e9a93b1 100644 --- a/src/matrix/e2ee/Account.js +++ b/packages/matrix/src/e2ee/Account.js @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -import anotherjson from "../../../lib/another-json/index.js"; +import anotherjson from "another-json"; import {SESSION_E2EE_KEY_PREFIX, OLM_ALGORITHM, MEGOLM_ALGORITHM} from "./common.js"; // use common prefix so it's easy to clear properties that are not e2ee related during session clear diff --git a/src/matrix/e2ee/DecryptionResult.js b/packages/matrix/src/e2ee/DecryptionResult.js similarity index 100% rename from src/matrix/e2ee/DecryptionResult.js rename to packages/matrix/src/e2ee/DecryptionResult.js diff --git a/src/matrix/e2ee/DeviceTracker.js b/packages/matrix/src/e2ee/DeviceTracker.js similarity index 100% rename from src/matrix/e2ee/DeviceTracker.js rename to packages/matrix/src/e2ee/DeviceTracker.js diff --git a/src/matrix/e2ee/OlmWorker.js b/packages/matrix/src/e2ee/OlmWorker.js similarity index 100% rename from src/matrix/e2ee/OlmWorker.js rename to packages/matrix/src/e2ee/OlmWorker.js diff --git a/src/matrix/e2ee/README.md b/packages/matrix/src/e2ee/README.md similarity index 100% rename from src/matrix/e2ee/README.md rename to packages/matrix/src/e2ee/README.md diff --git a/src/matrix/e2ee/RoomEncryption.js b/packages/matrix/src/e2ee/RoomEncryption.js similarity index 100% rename from src/matrix/e2ee/RoomEncryption.js rename to packages/matrix/src/e2ee/RoomEncryption.js diff --git a/src/matrix/e2ee/attachment.js b/packages/matrix/src/e2ee/attachment.js similarity index 100% rename from src/matrix/e2ee/attachment.js rename to packages/matrix/src/e2ee/attachment.js diff --git a/src/matrix/e2ee/common.js b/packages/matrix/src/e2ee/common.js similarity index 94% rename from src/matrix/e2ee/common.js rename to packages/matrix/src/e2ee/common.js index fa970236..4d0d8e24 100644 --- a/src/matrix/e2ee/common.js +++ b/packages/matrix/src/e2ee/common.js @@ -14,8 +14,8 @@ See the License for the specific language governing permissions and limitations under the License. */ -import anotherjson from "../../../lib/another-json/index.js"; -import {createEnum} from "../../utils/enum.js"; +import anotherjson from "another-json"; +import {createEnum} from "hydrogen-common"; export const DecryptionSource = createEnum("Sync", "Timeline", "Retry"); diff --git a/src/matrix/e2ee/megolm/Decryption.js b/packages/matrix/src/e2ee/megolm/Decryption.js similarity index 100% rename from src/matrix/e2ee/megolm/Decryption.js rename to packages/matrix/src/e2ee/megolm/Decryption.js diff --git a/src/matrix/e2ee/megolm/Encryption.js b/packages/matrix/src/e2ee/megolm/Encryption.js similarity index 100% rename from src/matrix/e2ee/megolm/Encryption.js rename to packages/matrix/src/e2ee/megolm/Encryption.js diff --git a/src/matrix/e2ee/megolm/SessionBackup.js b/packages/matrix/src/e2ee/megolm/SessionBackup.js similarity index 100% rename from src/matrix/e2ee/megolm/SessionBackup.js rename to packages/matrix/src/e2ee/megolm/SessionBackup.js diff --git a/src/matrix/e2ee/megolm/decryption/DecryptionChanges.js b/packages/matrix/src/e2ee/megolm/decryption/DecryptionChanges.js similarity index 100% rename from src/matrix/e2ee/megolm/decryption/DecryptionChanges.js rename to packages/matrix/src/e2ee/megolm/decryption/DecryptionChanges.js diff --git a/src/matrix/e2ee/megolm/decryption/DecryptionPreparation.js b/packages/matrix/src/e2ee/megolm/decryption/DecryptionPreparation.js similarity index 100% rename from src/matrix/e2ee/megolm/decryption/DecryptionPreparation.js rename to packages/matrix/src/e2ee/megolm/decryption/DecryptionPreparation.js diff --git a/src/matrix/e2ee/megolm/decryption/README.md b/packages/matrix/src/e2ee/megolm/decryption/README.md similarity index 100% rename from src/matrix/e2ee/megolm/decryption/README.md rename to packages/matrix/src/e2ee/megolm/decryption/README.md diff --git a/src/matrix/e2ee/megolm/decryption/ReplayDetectionEntry.js b/packages/matrix/src/e2ee/megolm/decryption/ReplayDetectionEntry.js similarity index 100% rename from src/matrix/e2ee/megolm/decryption/ReplayDetectionEntry.js rename to packages/matrix/src/e2ee/megolm/decryption/ReplayDetectionEntry.js diff --git a/src/matrix/e2ee/megolm/decryption/RoomKey.js b/packages/matrix/src/e2ee/megolm/decryption/RoomKey.js similarity index 100% rename from src/matrix/e2ee/megolm/decryption/RoomKey.js rename to packages/matrix/src/e2ee/megolm/decryption/RoomKey.js diff --git a/src/matrix/e2ee/megolm/decryption/SessionCache.js b/packages/matrix/src/e2ee/megolm/decryption/SessionCache.js similarity index 100% rename from src/matrix/e2ee/megolm/decryption/SessionCache.js rename to packages/matrix/src/e2ee/megolm/decryption/SessionCache.js diff --git a/src/matrix/e2ee/megolm/decryption/SessionDecryption.js b/packages/matrix/src/e2ee/megolm/decryption/SessionDecryption.js similarity index 100% rename from src/matrix/e2ee/megolm/decryption/SessionDecryption.js rename to packages/matrix/src/e2ee/megolm/decryption/SessionDecryption.js diff --git a/src/matrix/e2ee/megolm/decryption/SessionInfo.js b/packages/matrix/src/e2ee/megolm/decryption/SessionInfo.js similarity index 100% rename from src/matrix/e2ee/megolm/decryption/SessionInfo.js rename to packages/matrix/src/e2ee/megolm/decryption/SessionInfo.js diff --git a/src/matrix/e2ee/megolm/decryption/utils.js b/packages/matrix/src/e2ee/megolm/decryption/utils.js similarity index 100% rename from src/matrix/e2ee/megolm/decryption/utils.js rename to packages/matrix/src/e2ee/megolm/decryption/utils.js diff --git a/src/matrix/e2ee/olm/Decryption.js b/packages/matrix/src/e2ee/olm/Decryption.js similarity index 100% rename from src/matrix/e2ee/olm/Decryption.js rename to packages/matrix/src/e2ee/olm/Decryption.js diff --git a/src/matrix/e2ee/olm/Encryption.js b/packages/matrix/src/e2ee/olm/Encryption.js similarity index 100% rename from src/matrix/e2ee/olm/Encryption.js rename to packages/matrix/src/e2ee/olm/Encryption.js diff --git a/src/matrix/e2ee/olm/Session.js b/packages/matrix/src/e2ee/olm/Session.js similarity index 100% rename from src/matrix/e2ee/olm/Session.js rename to packages/matrix/src/e2ee/olm/Session.js diff --git a/src/matrix/error.js b/packages/matrix/src/error.js similarity index 100% rename from src/matrix/error.js rename to packages/matrix/src/error.js diff --git a/packages/matrix/src/lib.ts b/packages/matrix/src/lib.ts new file mode 100644 index 00000000..2ce8fea5 --- /dev/null +++ b/packages/matrix/src/lib.ts @@ -0,0 +1,20 @@ +/* +Copyright 2021 The Matrix.org Foundation C.I.C. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +export {SessionContainer} from "./SessionContainer"; +export {StorageFactory as IDBStorageFactory} from "./storage/idb/StorageFactory"; +export {SessionInfoStorage} from "./sessioninfo/localstorage/SessionInfoStorage.js"; +export {OlmWorker} from "./e2ee/OlmWorker.js"; diff --git a/src/matrix/login/LoginMethod.js b/packages/matrix/src/login/LoginMethod.js similarity index 100% rename from src/matrix/login/LoginMethod.js rename to packages/matrix/src/login/LoginMethod.js diff --git a/src/matrix/login/PasswordLoginMethod.js b/packages/matrix/src/login/PasswordLoginMethod.js similarity index 100% rename from src/matrix/login/PasswordLoginMethod.js rename to packages/matrix/src/login/PasswordLoginMethod.js diff --git a/src/matrix/login/SSOLoginHelper.js b/packages/matrix/src/login/SSOLoginHelper.js similarity index 100% rename from src/matrix/login/SSOLoginHelper.js rename to packages/matrix/src/login/SSOLoginHelper.js diff --git a/src/matrix/login/TokenLoginMethod.js b/packages/matrix/src/login/TokenLoginMethod.js similarity index 100% rename from src/matrix/login/TokenLoginMethod.js rename to packages/matrix/src/login/TokenLoginMethod.js diff --git a/src/matrix/net/ExponentialRetryDelay.js b/packages/matrix/src/net/ExponentialRetryDelay.js similarity index 100% rename from src/matrix/net/ExponentialRetryDelay.js rename to packages/matrix/src/net/ExponentialRetryDelay.js diff --git a/src/matrix/net/HomeServerApi.js b/packages/matrix/src/net/HomeServerApi.js similarity index 100% rename from src/matrix/net/HomeServerApi.js rename to packages/matrix/src/net/HomeServerApi.js diff --git a/src/matrix/net/HomeServerRequest.js b/packages/matrix/src/net/HomeServerRequest.js similarity index 100% rename from src/matrix/net/HomeServerRequest.js rename to packages/matrix/src/net/HomeServerRequest.js diff --git a/src/matrix/net/MediaRepository.js b/packages/matrix/src/net/MediaRepository.js similarity index 100% rename from src/matrix/net/MediaRepository.js rename to packages/matrix/src/net/MediaRepository.js diff --git a/src/matrix/net/Reconnector.js b/packages/matrix/src/net/Reconnector.js similarity index 100% rename from src/matrix/net/Reconnector.js rename to packages/matrix/src/net/Reconnector.js diff --git a/src/matrix/net/RequestScheduler.js b/packages/matrix/src/net/RequestScheduler.js similarity index 100% rename from src/matrix/net/RequestScheduler.js rename to packages/matrix/src/net/RequestScheduler.js diff --git a/src/matrix/net/common.js b/packages/matrix/src/net/common.js similarity index 100% rename from src/matrix/net/common.js rename to packages/matrix/src/net/common.js diff --git a/src/matrix/net/request/replay.js b/packages/matrix/src/net/request/replay.js similarity index 100% rename from src/matrix/net/request/replay.js rename to packages/matrix/src/net/request/replay.js diff --git a/src/matrix/push/Pusher.js b/packages/matrix/src/push/Pusher.js similarity index 100% rename from src/matrix/push/Pusher.js rename to packages/matrix/src/push/Pusher.js diff --git a/src/matrix/room/ArchivedRoom.js b/packages/matrix/src/room/ArchivedRoom.js similarity index 100% rename from src/matrix/room/ArchivedRoom.js rename to packages/matrix/src/room/ArchivedRoom.js diff --git a/src/matrix/room/AttachmentUpload.js b/packages/matrix/src/room/AttachmentUpload.js similarity index 100% rename from src/matrix/room/AttachmentUpload.js rename to packages/matrix/src/room/AttachmentUpload.js diff --git a/src/matrix/room/BaseRoom.js b/packages/matrix/src/room/BaseRoom.js similarity index 100% rename from src/matrix/room/BaseRoom.js rename to packages/matrix/src/room/BaseRoom.js diff --git a/src/matrix/room/Invite.js b/packages/matrix/src/room/Invite.js similarity index 100% rename from src/matrix/room/Invite.js rename to packages/matrix/src/room/Invite.js diff --git a/src/matrix/room/ObservedEventMap.js b/packages/matrix/src/room/ObservedEventMap.js similarity index 100% rename from src/matrix/room/ObservedEventMap.js rename to packages/matrix/src/room/ObservedEventMap.js diff --git a/src/matrix/room/PowerLevels.js b/packages/matrix/src/room/PowerLevels.js similarity index 100% rename from src/matrix/room/PowerLevels.js rename to packages/matrix/src/room/PowerLevels.js diff --git a/src/matrix/room/Room.js b/packages/matrix/src/room/Room.js similarity index 100% rename from src/matrix/room/Room.js rename to packages/matrix/src/room/Room.js diff --git a/src/matrix/room/RoomStatus.js b/packages/matrix/src/room/RoomStatus.js similarity index 100% rename from src/matrix/room/RoomStatus.js rename to packages/matrix/src/room/RoomStatus.js diff --git a/src/matrix/room/RoomSummary.js b/packages/matrix/src/room/RoomSummary.js similarity index 100% rename from src/matrix/room/RoomSummary.js rename to packages/matrix/src/room/RoomSummary.js diff --git a/src/matrix/room/common.js b/packages/matrix/src/room/common.js similarity index 100% rename from src/matrix/room/common.js rename to packages/matrix/src/room/common.js diff --git a/src/matrix/room/members/Heroes.js b/packages/matrix/src/room/members/Heroes.js similarity index 100% rename from src/matrix/room/members/Heroes.js rename to packages/matrix/src/room/members/Heroes.js diff --git a/src/matrix/room/members/MemberList.js b/packages/matrix/src/room/members/MemberList.js similarity index 100% rename from src/matrix/room/members/MemberList.js rename to packages/matrix/src/room/members/MemberList.js diff --git a/src/matrix/room/members/RoomMember.js b/packages/matrix/src/room/members/RoomMember.js similarity index 100% rename from src/matrix/room/members/RoomMember.js rename to packages/matrix/src/room/members/RoomMember.js diff --git a/src/matrix/room/members/load.js b/packages/matrix/src/room/members/load.js similarity index 100% rename from src/matrix/room/members/load.js rename to packages/matrix/src/room/members/load.js diff --git a/src/matrix/room/sending/PendingEvent.js b/packages/matrix/src/room/sending/PendingEvent.js similarity index 100% rename from src/matrix/room/sending/PendingEvent.js rename to packages/matrix/src/room/sending/PendingEvent.js diff --git a/src/matrix/room/sending/SendQueue.js b/packages/matrix/src/room/sending/SendQueue.js similarity index 100% rename from src/matrix/room/sending/SendQueue.js rename to packages/matrix/src/room/sending/SendQueue.js diff --git a/src/matrix/room/timeline/Direction.ts b/packages/matrix/src/room/timeline/Direction.ts similarity index 100% rename from src/matrix/room/timeline/Direction.ts rename to packages/matrix/src/room/timeline/Direction.ts diff --git a/src/matrix/room/timeline/EventKey.ts b/packages/matrix/src/room/timeline/EventKey.ts similarity index 100% rename from src/matrix/room/timeline/EventKey.ts rename to packages/matrix/src/room/timeline/EventKey.ts diff --git a/src/matrix/room/timeline/FragmentIdComparer.js b/packages/matrix/src/room/timeline/FragmentIdComparer.js similarity index 100% rename from src/matrix/room/timeline/FragmentIdComparer.js rename to packages/matrix/src/room/timeline/FragmentIdComparer.js diff --git a/src/matrix/room/timeline/PendingAnnotation.js b/packages/matrix/src/room/timeline/PendingAnnotation.js similarity index 100% rename from src/matrix/room/timeline/PendingAnnotation.js rename to packages/matrix/src/room/timeline/PendingAnnotation.js diff --git a/src/matrix/room/timeline/Timeline.js b/packages/matrix/src/room/timeline/Timeline.js similarity index 99% rename from src/matrix/room/timeline/Timeline.js rename to packages/matrix/src/room/timeline/Timeline.js index 4e6fe40c..c2562a6b 100644 --- a/src/matrix/room/timeline/Timeline.js +++ b/packages/matrix/src/room/timeline/Timeline.js @@ -15,8 +15,8 @@ See the License for the specific language governing permissions and limitations under the License. */ -import {SortedArray, AsyncMappedList, ConcatList, ObservableArray} from "../../../observable/index.js"; -import {Disposables} from "../../../utils/Disposables.js"; +import {SortedArray, AsyncMappedList, ConcatList, ObservableArray} from "hydrogen-common"; +import {Disposables} from "hydrogen-common"; import {Direction} from "./Direction"; import {TimelineReader} from "./persistence/TimelineReader.js"; import {PendingEventEntry} from "./entries/PendingEventEntry.js"; diff --git a/src/matrix/room/timeline/common.js b/packages/matrix/src/room/timeline/common.js similarity index 100% rename from src/matrix/room/timeline/common.js rename to packages/matrix/src/room/timeline/common.js diff --git a/src/matrix/room/timeline/entries/BaseEntry.ts b/packages/matrix/src/room/timeline/entries/BaseEntry.ts similarity index 100% rename from src/matrix/room/timeline/entries/BaseEntry.ts rename to packages/matrix/src/room/timeline/entries/BaseEntry.ts diff --git a/src/matrix/room/timeline/entries/BaseEventEntry.js b/packages/matrix/src/room/timeline/entries/BaseEventEntry.js similarity index 100% rename from src/matrix/room/timeline/entries/BaseEventEntry.js rename to packages/matrix/src/room/timeline/entries/BaseEventEntry.js diff --git a/src/matrix/room/timeline/entries/EventEntry.js b/packages/matrix/src/room/timeline/entries/EventEntry.js similarity index 100% rename from src/matrix/room/timeline/entries/EventEntry.js rename to packages/matrix/src/room/timeline/entries/EventEntry.js diff --git a/src/matrix/room/timeline/entries/FragmentBoundaryEntry.js b/packages/matrix/src/room/timeline/entries/FragmentBoundaryEntry.js similarity index 100% rename from src/matrix/room/timeline/entries/FragmentBoundaryEntry.js rename to packages/matrix/src/room/timeline/entries/FragmentBoundaryEntry.js diff --git a/src/matrix/room/timeline/entries/PendingEventEntry.js b/packages/matrix/src/room/timeline/entries/PendingEventEntry.js similarity index 100% rename from src/matrix/room/timeline/entries/PendingEventEntry.js rename to packages/matrix/src/room/timeline/entries/PendingEventEntry.js diff --git a/src/matrix/room/timeline/entries/reply.js b/packages/matrix/src/room/timeline/entries/reply.js similarity index 100% rename from src/matrix/room/timeline/entries/reply.js rename to packages/matrix/src/room/timeline/entries/reply.js diff --git a/src/matrix/room/timeline/persistence/GapWriter.js b/packages/matrix/src/room/timeline/persistence/GapWriter.js similarity index 100% rename from src/matrix/room/timeline/persistence/GapWriter.js rename to packages/matrix/src/room/timeline/persistence/GapWriter.js diff --git a/src/matrix/room/timeline/persistence/MemberWriter.js b/packages/matrix/src/room/timeline/persistence/MemberWriter.js similarity index 100% rename from src/matrix/room/timeline/persistence/MemberWriter.js rename to packages/matrix/src/room/timeline/persistence/MemberWriter.js diff --git a/src/matrix/room/timeline/persistence/RelationWriter.js b/packages/matrix/src/room/timeline/persistence/RelationWriter.js similarity index 100% rename from src/matrix/room/timeline/persistence/RelationWriter.js rename to packages/matrix/src/room/timeline/persistence/RelationWriter.js diff --git a/src/matrix/room/timeline/persistence/SyncWriter.js b/packages/matrix/src/room/timeline/persistence/SyncWriter.js similarity index 100% rename from src/matrix/room/timeline/persistence/SyncWriter.js rename to packages/matrix/src/room/timeline/persistence/SyncWriter.js diff --git a/src/matrix/room/timeline/persistence/TimelineReader.js b/packages/matrix/src/room/timeline/persistence/TimelineReader.js similarity index 100% rename from src/matrix/room/timeline/persistence/TimelineReader.js rename to packages/matrix/src/room/timeline/persistence/TimelineReader.js diff --git a/src/matrix/room/timeline/persistence/common.js b/packages/matrix/src/room/timeline/persistence/common.js similarity index 100% rename from src/matrix/room/timeline/persistence/common.js rename to packages/matrix/src/room/timeline/persistence/common.js diff --git a/src/matrix/room/timeline/relations.js b/packages/matrix/src/room/timeline/relations.js similarity index 100% rename from src/matrix/room/timeline/relations.js rename to packages/matrix/src/room/timeline/relations.js diff --git a/src/matrix/sessioninfo/localstorage/SessionInfoStorage.js b/packages/matrix/src/sessioninfo/localstorage/SessionInfoStorage.js similarity index 100% rename from src/matrix/sessioninfo/localstorage/SessionInfoStorage.js rename to packages/matrix/src/sessioninfo/localstorage/SessionInfoStorage.js diff --git a/src/matrix/ssss/SecretStorage.js b/packages/matrix/src/ssss/SecretStorage.js similarity index 100% rename from src/matrix/ssss/SecretStorage.js rename to packages/matrix/src/ssss/SecretStorage.js diff --git a/src/matrix/ssss/common.js b/packages/matrix/src/ssss/common.js similarity index 100% rename from src/matrix/ssss/common.js rename to packages/matrix/src/ssss/common.js diff --git a/src/matrix/ssss/index.js b/packages/matrix/src/ssss/index.js similarity index 100% rename from src/matrix/ssss/index.js rename to packages/matrix/src/ssss/index.js diff --git a/src/matrix/ssss/passphrase.js b/packages/matrix/src/ssss/passphrase.js similarity index 100% rename from src/matrix/ssss/passphrase.js rename to packages/matrix/src/ssss/passphrase.js diff --git a/src/matrix/ssss/recoveryKey.js b/packages/matrix/src/ssss/recoveryKey.js similarity index 100% rename from src/matrix/ssss/recoveryKey.js rename to packages/matrix/src/ssss/recoveryKey.js diff --git a/src/matrix/storage/common.ts b/packages/matrix/src/storage/common.ts similarity index 100% rename from src/matrix/storage/common.ts rename to packages/matrix/src/storage/common.ts diff --git a/src/matrix/storage/idb/QueryTarget.ts b/packages/matrix/src/storage/idb/QueryTarget.ts similarity index 100% rename from src/matrix/storage/idb/QueryTarget.ts rename to packages/matrix/src/storage/idb/QueryTarget.ts diff --git a/src/matrix/storage/idb/Storage.ts b/packages/matrix/src/storage/idb/Storage.ts similarity index 100% rename from src/matrix/storage/idb/Storage.ts rename to packages/matrix/src/storage/idb/Storage.ts diff --git a/src/matrix/storage/idb/StorageFactory.ts b/packages/matrix/src/storage/idb/StorageFactory.ts similarity index 100% rename from src/matrix/storage/idb/StorageFactory.ts rename to packages/matrix/src/storage/idb/StorageFactory.ts diff --git a/src/matrix/storage/idb/Store.ts b/packages/matrix/src/storage/idb/Store.ts similarity index 100% rename from src/matrix/storage/idb/Store.ts rename to packages/matrix/src/storage/idb/Store.ts diff --git a/src/matrix/storage/idb/Transaction.ts b/packages/matrix/src/storage/idb/Transaction.ts similarity index 100% rename from src/matrix/storage/idb/Transaction.ts rename to packages/matrix/src/storage/idb/Transaction.ts diff --git a/src/matrix/storage/idb/error.ts b/packages/matrix/src/storage/idb/error.ts similarity index 100% rename from src/matrix/storage/idb/error.ts rename to packages/matrix/src/storage/idb/error.ts diff --git a/src/matrix/storage/idb/export.ts b/packages/matrix/src/storage/idb/export.ts similarity index 100% rename from src/matrix/storage/idb/export.ts rename to packages/matrix/src/storage/idb/export.ts diff --git a/src/matrix/storage/idb/quirks.ts b/packages/matrix/src/storage/idb/quirks.ts similarity index 100% rename from src/matrix/storage/idb/quirks.ts rename to packages/matrix/src/storage/idb/quirks.ts diff --git a/src/matrix/storage/idb/schema.ts b/packages/matrix/src/storage/idb/schema.ts similarity index 100% rename from src/matrix/storage/idb/schema.ts rename to packages/matrix/src/storage/idb/schema.ts diff --git a/src/matrix/storage/idb/stores/AccountDataStore.ts b/packages/matrix/src/storage/idb/stores/AccountDataStore.ts similarity index 100% rename from src/matrix/storage/idb/stores/AccountDataStore.ts rename to packages/matrix/src/storage/idb/stores/AccountDataStore.ts diff --git a/src/matrix/storage/idb/stores/DeviceIdentityStore.ts b/packages/matrix/src/storage/idb/stores/DeviceIdentityStore.ts similarity index 100% rename from src/matrix/storage/idb/stores/DeviceIdentityStore.ts rename to packages/matrix/src/storage/idb/stores/DeviceIdentityStore.ts diff --git a/src/matrix/storage/idb/stores/GroupSessionDecryptionStore.ts b/packages/matrix/src/storage/idb/stores/GroupSessionDecryptionStore.ts similarity index 100% rename from src/matrix/storage/idb/stores/GroupSessionDecryptionStore.ts rename to packages/matrix/src/storage/idb/stores/GroupSessionDecryptionStore.ts diff --git a/src/matrix/storage/idb/stores/InboundGroupSessionStore.ts b/packages/matrix/src/storage/idb/stores/InboundGroupSessionStore.ts similarity index 100% rename from src/matrix/storage/idb/stores/InboundGroupSessionStore.ts rename to packages/matrix/src/storage/idb/stores/InboundGroupSessionStore.ts diff --git a/src/matrix/storage/idb/stores/InviteStore.ts b/packages/matrix/src/storage/idb/stores/InviteStore.ts similarity index 100% rename from src/matrix/storage/idb/stores/InviteStore.ts rename to packages/matrix/src/storage/idb/stores/InviteStore.ts diff --git a/src/matrix/storage/idb/stores/OlmSessionStore.ts b/packages/matrix/src/storage/idb/stores/OlmSessionStore.ts similarity index 100% rename from src/matrix/storage/idb/stores/OlmSessionStore.ts rename to packages/matrix/src/storage/idb/stores/OlmSessionStore.ts diff --git a/src/matrix/storage/idb/stores/OperationStore.ts b/packages/matrix/src/storage/idb/stores/OperationStore.ts similarity index 100% rename from src/matrix/storage/idb/stores/OperationStore.ts rename to packages/matrix/src/storage/idb/stores/OperationStore.ts diff --git a/src/matrix/storage/idb/stores/OutboundGroupSessionStore.ts b/packages/matrix/src/storage/idb/stores/OutboundGroupSessionStore.ts similarity index 100% rename from src/matrix/storage/idb/stores/OutboundGroupSessionStore.ts rename to packages/matrix/src/storage/idb/stores/OutboundGroupSessionStore.ts diff --git a/src/matrix/storage/idb/stores/PendingEventStore.ts b/packages/matrix/src/storage/idb/stores/PendingEventStore.ts similarity index 100% rename from src/matrix/storage/idb/stores/PendingEventStore.ts rename to packages/matrix/src/storage/idb/stores/PendingEventStore.ts diff --git a/src/matrix/storage/idb/stores/RoomMemberStore.ts b/packages/matrix/src/storage/idb/stores/RoomMemberStore.ts similarity index 100% rename from src/matrix/storage/idb/stores/RoomMemberStore.ts rename to packages/matrix/src/storage/idb/stores/RoomMemberStore.ts diff --git a/src/matrix/storage/idb/stores/RoomStateStore.ts b/packages/matrix/src/storage/idb/stores/RoomStateStore.ts similarity index 100% rename from src/matrix/storage/idb/stores/RoomStateStore.ts rename to packages/matrix/src/storage/idb/stores/RoomStateStore.ts diff --git a/src/matrix/storage/idb/stores/RoomSummaryStore.ts b/packages/matrix/src/storage/idb/stores/RoomSummaryStore.ts similarity index 100% rename from src/matrix/storage/idb/stores/RoomSummaryStore.ts rename to packages/matrix/src/storage/idb/stores/RoomSummaryStore.ts diff --git a/src/matrix/storage/idb/stores/SessionStore.ts b/packages/matrix/src/storage/idb/stores/SessionStore.ts similarity index 100% rename from src/matrix/storage/idb/stores/SessionStore.ts rename to packages/matrix/src/storage/idb/stores/SessionStore.ts diff --git a/src/matrix/storage/idb/stores/TimelineEventStore.ts b/packages/matrix/src/storage/idb/stores/TimelineEventStore.ts similarity index 100% rename from src/matrix/storage/idb/stores/TimelineEventStore.ts rename to packages/matrix/src/storage/idb/stores/TimelineEventStore.ts diff --git a/src/matrix/storage/idb/stores/TimelineFragmentStore.ts b/packages/matrix/src/storage/idb/stores/TimelineFragmentStore.ts similarity index 100% rename from src/matrix/storage/idb/stores/TimelineFragmentStore.ts rename to packages/matrix/src/storage/idb/stores/TimelineFragmentStore.ts diff --git a/src/matrix/storage/idb/stores/TimelineRelationStore.ts b/packages/matrix/src/storage/idb/stores/TimelineRelationStore.ts similarity index 100% rename from src/matrix/storage/idb/stores/TimelineRelationStore.ts rename to packages/matrix/src/storage/idb/stores/TimelineRelationStore.ts diff --git a/src/matrix/storage/idb/stores/UserIdentityStore.ts b/packages/matrix/src/storage/idb/stores/UserIdentityStore.ts similarity index 100% rename from src/matrix/storage/idb/stores/UserIdentityStore.ts rename to packages/matrix/src/storage/idb/stores/UserIdentityStore.ts diff --git a/src/matrix/storage/idb/stores/common.ts b/packages/matrix/src/storage/idb/stores/common.ts similarity index 100% rename from src/matrix/storage/idb/stores/common.ts rename to packages/matrix/src/storage/idb/stores/common.ts diff --git a/src/matrix/storage/idb/types.ts b/packages/matrix/src/storage/idb/types.ts similarity index 100% rename from src/matrix/storage/idb/types.ts rename to packages/matrix/src/storage/idb/types.ts diff --git a/src/matrix/storage/idb/utils.ts b/packages/matrix/src/storage/idb/utils.ts similarity index 100% rename from src/matrix/storage/idb/utils.ts rename to packages/matrix/src/storage/idb/utils.ts diff --git a/src/matrix/storage/types.ts b/packages/matrix/src/storage/types.ts similarity index 100% rename from src/matrix/storage/types.ts rename to packages/matrix/src/storage/types.ts diff --git a/src/matrix/well-known.js b/packages/matrix/src/well-known.js similarity index 100% rename from src/matrix/well-known.js rename to packages/matrix/src/well-known.js diff --git a/packages/matrix/vite.config.js b/packages/matrix/vite.config.js new file mode 100644 index 00000000..361353a9 --- /dev/null +++ b/packages/matrix/vite.config.js @@ -0,0 +1,13 @@ +export default { + build: { + lib: { + entry: "src/lib.ts", + formats: ["es", "iife"], + name: "hydrogenMatrix", + } + }, + public: false, + server: { + hmr: false + } +}; diff --git a/src/fixtures/matrix/invites/dm.js b/packages/test-utils/src/fixtures/matrix/invites/dm.js similarity index 100% rename from src/fixtures/matrix/invites/dm.js rename to packages/test-utils/src/fixtures/matrix/invites/dm.js diff --git a/src/fixtures/matrix/invites/room.js b/packages/test-utils/src/fixtures/matrix/invites/room.js similarity index 100% rename from src/fixtures/matrix/invites/room.js rename to packages/test-utils/src/fixtures/matrix/invites/room.js diff --git a/src/mocks/Clock.js b/packages/test-utils/src/mocks/Clock.js similarity index 100% rename from src/mocks/Clock.js rename to packages/test-utils/src/mocks/Clock.js diff --git a/src/mocks/HomeServer.js b/packages/test-utils/src/mocks/HomeServer.js similarity index 100% rename from src/mocks/HomeServer.js rename to packages/test-utils/src/mocks/HomeServer.js diff --git a/src/mocks/ListObserver.js b/packages/test-utils/src/mocks/ListObserver.js similarity index 100% rename from src/mocks/ListObserver.js rename to packages/test-utils/src/mocks/ListObserver.js diff --git a/src/mocks/Request.js b/packages/test-utils/src/mocks/Request.js similarity index 100% rename from src/mocks/Request.js rename to packages/test-utils/src/mocks/Request.js diff --git a/src/mocks/Storage.ts b/packages/test-utils/src/mocks/Storage.ts similarity index 100% rename from src/mocks/Storage.ts rename to packages/test-utils/src/mocks/Storage.ts diff --git a/src/mocks/TimelineMock.ts b/packages/test-utils/src/mocks/TimelineMock.ts similarity index 100% rename from src/mocks/TimelineMock.ts rename to packages/test-utils/src/mocks/TimelineMock.ts diff --git a/src/mocks/event.js b/packages/test-utils/src/mocks/event.js similarity index 100% rename from src/mocks/event.js rename to packages/test-utils/src/mocks/event.js diff --git a/src/mocks/poll.js b/packages/test-utils/src/mocks/poll.js similarity index 100% rename from src/mocks/poll.js rename to packages/test-utils/src/mocks/poll.js diff --git a/assets/config.json b/packages/web/assets/config.json similarity index 100% rename from assets/config.json rename to packages/web/assets/config.json diff --git a/assets/download-sandbox.html b/packages/web/assets/download-sandbox.html similarity index 100% rename from assets/download-sandbox.html rename to packages/web/assets/download-sandbox.html diff --git a/assets/icon-maskable.png b/packages/web/assets/icon-maskable.png similarity index 100% rename from assets/icon-maskable.png rename to packages/web/assets/icon-maskable.png diff --git a/assets/icon-maskable.svg b/packages/web/assets/icon-maskable.svg similarity index 100% rename from assets/icon-maskable.svg rename to packages/web/assets/icon-maskable.svg diff --git a/assets/icon.png b/packages/web/assets/icon.png similarity index 100% rename from assets/icon.png rename to packages/web/assets/icon.png diff --git a/assets/icon.svg b/packages/web/assets/icon.svg similarity index 100% rename from assets/icon.svg rename to packages/web/assets/icon.svg diff --git a/assets/manifest.json b/packages/web/assets/manifest.json similarity index 100% rename from assets/manifest.json rename to packages/web/assets/manifest.json diff --git a/src/platform/web/docroot/index.html b/packages/web/index.html similarity index 67% rename from src/platform/web/docroot/index.html rename to packages/web/index.html index 0b266ff3..669f4267 100644 --- a/src/platform/web/docroot/index.html +++ b/packages/web/index.html @@ -9,9 +9,8 @@ - - - + + diff --git a/packages/web/package.json b/packages/web/package.json new file mode 100644 index 00000000..327df434 --- /dev/null +++ b/packages/web/package.json @@ -0,0 +1,72 @@ +{ + "name": "hydrogen-web", + "version": "0.2.16", + "description": "A javascript matrix client prototype, trying to minize RAM usage by offloading as much as possible to IndexedDB", + "main": "src/lib.ts", + "directories": { + "doc": "doc" + }, + "scripts": { + "lint": "eslint --cache src/", + "lint-ts": "eslint src/ -c .ts-eslintrc.js --ext .ts", + "lint-ci": "eslint src/", + "test": "impunity --entry-point src/main.js --force-esm-dirs lib/ src/" + }, + "repository": { + "type": "git", + "url": "git@github.com:vector-im/hydrogen-web.git" + }, + "author": "matrix.org", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/vector-im/hydrogen-web/issues" + }, + "homepage": "https://github.com/vector-im/hydrogen-web/#readme", + "devDependencies": { + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@rollup/plugin-babel": "^5.1.0", + "@rollup/plugin-multi-entry": "^4.0.0", + "@typescript-eslint/eslint-plugin": "^4.29.2", + "@typescript-eslint/parser": "^4.29.2", + "autoprefixer": "^10.2.6", + "cheerio": "^1.0.0-rc.3", + "commander": "^6.0.0", + "core-js": "^3.6.5", + "eslint": "^7.32.0", + "fake-indexeddb": "^3.1.2", + "finalhandler": "^1.1.1", + "impunity": "^1.0.1", + "mdn-polyfills": "^5.20.0", + "node-html-parser": "^4.0.0", + "postcss": "^8.1.1", + "postcss-css-variables": "^0.17.0", + "postcss-flexbugs-fixes": "^4.2.1", + "postcss-import": "^12.0.1", + "postcss-url": "^8.0.0", + "regenerator-runtime": "^0.13.7", + "rollup-plugin-cleanup": "^3.1.1", + "serve-static": "^1.13.2", + "snowpack": "^3.8.3", + "typescript": "^4.3.5", + "xxhashjs": "^0.2.2", + "vite": "^2.6.2" + }, + "dependencies": { + "@matrix-org/olm": "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.3.tgz", + "@rollup/plugin-commonjs": "^15.0.0", + "@rollup/plugin-json": "^4.1.0", + "@rollup/plugin-node-resolve": "^9.0.0", + "aes-js": "^3.1.2", + "another-json": "^0.2.0", + "base64-arraybuffer": "^0.2.0", + "bs58": "^4.0.1", + "dompurify": "^2.3.0", + "es6-promise": "https://github.com/bwindels/es6-promise.git#bwindels/expose-flush", + "rollup": "^2.26.4", + "text-encoding": "^0.7.0", + "hydrogen-common": "0.0.1", + "hydrogen-matrix": "0.0.1", + "hydrogen-domain": "0.0.1" + } +} diff --git a/src/platform/web/LegacyPlatform.js b/packages/web/src/LegacyPlatform.js similarity index 94% rename from src/platform/web/LegacyPlatform.js rename to packages/web/src/LegacyPlatform.js index e6bf7774..624600ff 100644 --- a/src/platform/web/LegacyPlatform.js +++ b/packages/web/src/LegacyPlatform.js @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -import aesjs from "../../../lib/aes-js/index.js"; +import aesjs from "aes-js"; import {hkdf} from "../../utils/crypto/hkdf.js"; import {Platform as ModernPlatform} from "./Platform.js"; diff --git a/src/platform/web/Platform.js b/packages/web/src/Platform.js similarity index 95% rename from src/platform/web/Platform.js rename to packages/web/src/Platform.js index 1530ed12..e2a8f0c6 100644 --- a/src/platform/web/Platform.js +++ b/packages/web/src/Platform.js @@ -14,15 +14,14 @@ See the License for the specific language governing permissions and limitations under the License. */ +import {IDBStorageFactory, SessionInfoStorage, OlmWorker} from "hydrogen-matrix"; +import {IDBLogger, ConsoleLogger, Disposables} from "hydrogen-common"; + import {createFetchRequest} from "./dom/request/fetch.js"; import {xhrRequest} from "./dom/request/xhr.js"; -import {StorageFactory} from "../../matrix/storage/idb/StorageFactory"; -import {SessionInfoStorage} from "../../matrix/sessioninfo/localstorage/SessionInfoStorage.js"; import {SettingsStorage} from "./dom/SettingsStorage.js"; import {Encoding} from "./utils/Encoding.js"; import {OlmWorker} from "../../matrix/e2ee/OlmWorker.js"; -import {IDBLogger} from "../../logging/IDBLogger.js"; -import {ConsoleLogger} from "../../logging/ConsoleLogger.js"; import {RootView} from "./ui/RootView.js"; import {Clock} from "./dom/Clock.js"; import {ServiceWorkerHandler} from "./dom/ServiceWorkerHandler.js"; @@ -35,7 +34,6 @@ import {WorkerPool} from "./dom/WorkerPool.js"; import {BlobHandle} from "./dom/BlobHandle.js"; import {hasReadPixelPermission, ImageHandle, VideoHandle} from "./dom/ImageHandle.js"; import {downloadInIframe} from "./dom/download.js"; -import {Disposables} from "../../utils/Disposables.js"; import {parseHTML} from "./parsehtml.js"; import {handleAvatarError} from "./ui/avatar.js"; @@ -146,7 +144,7 @@ export class Platform { } this.notificationService = new NotificationService(this._serviceWorkerHandler, config.push); this.crypto = new Crypto(cryptoExtras); - this.storageFactory = new StorageFactory(this._serviceWorkerHandler); + this.storageFactory = new IDBStorageFactory(this._serviceWorkerHandler); this.sessionInfoStorage = new SessionInfoStorage("hydrogen_sessions_v1"); this.estimateStorageUsage = estimateStorageUsage; if (typeof fetch === "function") { diff --git a/src/platform/web/dom/BlobHandle.js b/packages/web/src/dom/BlobHandle.js similarity index 100% rename from src/platform/web/dom/BlobHandle.js rename to packages/web/src/dom/BlobHandle.js diff --git a/src/platform/web/dom/Clock.js b/packages/web/src/dom/Clock.js similarity index 100% rename from src/platform/web/dom/Clock.js rename to packages/web/src/dom/Clock.js diff --git a/src/platform/web/dom/Crypto.js b/packages/web/src/dom/Crypto.js similarity index 99% rename from src/platform/web/dom/Crypto.js rename to packages/web/src/dom/Crypto.js index b28897fa..441daf31 100644 --- a/src/platform/web/dom/Crypto.js +++ b/packages/web/src/dom/Crypto.js @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -import base64 from "../../../../lib/base64-arraybuffer/index.js"; +import base64 from "base64-arraybuffer"; // turn IE11 result into promise function subtleCryptoResult(promiseOrOp, method) { diff --git a/src/platform/web/dom/History.js b/packages/web/src/dom/History.js similarity index 100% rename from src/platform/web/dom/History.js rename to packages/web/src/dom/History.js diff --git a/src/platform/web/dom/ImageHandle.js b/packages/web/src/dom/ImageHandle.js similarity index 100% rename from src/platform/web/dom/ImageHandle.js rename to packages/web/src/dom/ImageHandle.js diff --git a/src/platform/web/dom/NotificationService.js b/packages/web/src/dom/NotificationService.js similarity index 100% rename from src/platform/web/dom/NotificationService.js rename to packages/web/src/dom/NotificationService.js diff --git a/src/platform/web/dom/OnlineStatus.js b/packages/web/src/dom/OnlineStatus.js similarity index 100% rename from src/platform/web/dom/OnlineStatus.js rename to packages/web/src/dom/OnlineStatus.js diff --git a/src/platform/web/dom/ServiceWorkerHandler.js b/packages/web/src/dom/ServiceWorkerHandler.js similarity index 100% rename from src/platform/web/dom/ServiceWorkerHandler.js rename to packages/web/src/dom/ServiceWorkerHandler.js diff --git a/src/platform/web/dom/SettingsStorage.js b/packages/web/src/dom/SettingsStorage.js similarity index 100% rename from src/platform/web/dom/SettingsStorage.js rename to packages/web/src/dom/SettingsStorage.js diff --git a/src/platform/web/dom/StorageEstimate.js b/packages/web/src/dom/StorageEstimate.js similarity index 100% rename from src/platform/web/dom/StorageEstimate.js rename to packages/web/src/dom/StorageEstimate.js diff --git a/src/platform/web/dom/UTF8.js b/packages/web/src/dom/UTF8.js similarity index 100% rename from src/platform/web/dom/UTF8.js rename to packages/web/src/dom/UTF8.js diff --git a/src/platform/web/dom/WorkerPool.js b/packages/web/src/dom/WorkerPool.js similarity index 100% rename from src/platform/web/dom/WorkerPool.js rename to packages/web/src/dom/WorkerPool.js diff --git a/src/platform/web/dom/download.js b/packages/web/src/dom/download.js similarity index 100% rename from src/platform/web/dom/download.js rename to packages/web/src/dom/download.js diff --git a/src/platform/web/dom/request/common.js b/packages/web/src/dom/request/common.js similarity index 100% rename from src/platform/web/dom/request/common.js rename to packages/web/src/dom/request/common.js diff --git a/src/platform/web/dom/request/fetch.js b/packages/web/src/dom/request/fetch.js similarity index 100% rename from src/platform/web/dom/request/fetch.js rename to packages/web/src/dom/request/fetch.js diff --git a/src/platform/web/dom/request/xhr.js b/packages/web/src/dom/request/xhr.js similarity index 100% rename from src/platform/web/dom/request/xhr.js rename to packages/web/src/dom/request/xhr.js diff --git a/src/platform/web/dom/utils.js b/packages/web/src/dom/utils.js similarity index 100% rename from src/platform/web/dom/utils.js rename to packages/web/src/dom/utils.js diff --git a/src/platform/web/legacy-polyfill.js b/packages/web/src/legacy-polyfill.js similarity index 100% rename from src/platform/web/legacy-polyfill.js rename to packages/web/src/legacy-polyfill.js diff --git a/packages/web/src/lib.ts b/packages/web/src/lib.ts new file mode 100644 index 00000000..e4834c9d --- /dev/null +++ b/packages/web/src/lib.ts @@ -0,0 +1,21 @@ +/* +Copyright 2021 The Matrix.org Foundation C.I.C. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +export {Platform} from "./Platform.js"; +export {RootView} from "./ui/RootView.js"; +export {SessionView} from "./ui/session/SessionView.js"; +export {RoomView} from "./ui/session/room/RoomView.js"; +export {TimelineView} from "./ui/session/room/TimelineView"; diff --git a/src/main.js b/packages/web/src/main.js similarity index 94% rename from src/main.js rename to packages/web/src/main.js index 0754b2ab..713dc3b6 100644 --- a/src/main.js +++ b/packages/web/src/main.js @@ -16,8 +16,8 @@ limitations under the License. */ // import {RecordRequester, ReplayRequester} from "./matrix/net/request/replay.js"; -import {SessionContainer} from "./matrix/SessionContainer.js"; -import {RootViewModel} from "./domain/RootViewModel.js"; +import {SessionContainer} from "hydrogen-matrix"; +import {RootViewModel, createNavigation, createRouter} from "hydrogen-domain"; import {createNavigation, createRouter} from "./domain/navigation/index.js"; // Don't use a default export here, as we use multiple entries during legacy build, // which does not support default exports, diff --git a/src/platform/web/parsehtml.js b/packages/web/src/parsehtml.js similarity index 100% rename from src/platform/web/parsehtml.js rename to packages/web/src/parsehtml.js diff --git a/packages/web/src/paths/vite.ts b/packages/web/src/paths/vite.ts new file mode 100644 index 00000000..8afbd8fc --- /dev/null +++ b/packages/web/src/paths/vite.ts @@ -0,0 +1,12 @@ +import _downloadSandboxPath from "../../assets/download-sandbox.html?url"; +import olmWasmPath from "@matrix-org/olm/olm.wasm?url"; +import olmJsPath from "@matrix-org/olm/olm.js?url"; +import olmLegacyJsPath from "@matrix-org/olm/olm_legacy.js?url"; + +export const olmPaths = { + wasm: olmWasmPath, + legacyBundle: olmLegacyJsPath, + wasmBundle: olmJsPath, +}; + +export const downloadSandboxPath = _downloadSandboxPath; diff --git a/src/platform/web/ui/AvatarView.js b/packages/web/src/ui/AvatarView.js similarity index 100% rename from src/platform/web/ui/AvatarView.js rename to packages/web/src/ui/AvatarView.js diff --git a/src/platform/web/ui/RootView.js b/packages/web/src/ui/RootView.js similarity index 100% rename from src/platform/web/ui/RootView.js rename to packages/web/src/ui/RootView.js diff --git a/src/platform/web/ui/avatar.js b/packages/web/src/ui/avatar.js similarity index 100% rename from src/platform/web/ui/avatar.js rename to packages/web/src/ui/avatar.js diff --git a/src/platform/web/ui/common.js b/packages/web/src/ui/common.js similarity index 100% rename from src/platform/web/ui/common.js rename to packages/web/src/ui/common.js diff --git a/src/platform/web/ui/css/avatar.css b/packages/web/src/ui/css/avatar.css similarity index 100% rename from src/platform/web/ui/css/avatar.css rename to packages/web/src/ui/css/avatar.css diff --git a/src/platform/web/ui/css/font.css b/packages/web/src/ui/css/font.css similarity index 100% rename from src/platform/web/ui/css/font.css rename to packages/web/src/ui/css/font.css diff --git a/src/platform/web/ui/css/form.css b/packages/web/src/ui/css/form.css similarity index 100% rename from src/platform/web/ui/css/form.css rename to packages/web/src/ui/css/form.css diff --git a/src/platform/web/ui/css/layout.css b/packages/web/src/ui/css/layout.css similarity index 100% rename from src/platform/web/ui/css/layout.css rename to packages/web/src/ui/css/layout.css diff --git a/src/platform/web/ui/css/left-panel.css b/packages/web/src/ui/css/left-panel.css similarity index 100% rename from src/platform/web/ui/css/left-panel.css rename to packages/web/src/ui/css/left-panel.css diff --git a/src/platform/web/ui/css/login.css b/packages/web/src/ui/css/login.css similarity index 100% rename from src/platform/web/ui/css/login.css rename to packages/web/src/ui/css/login.css diff --git a/src/platform/web/ui/css/main.css b/packages/web/src/ui/css/main.css similarity index 100% rename from src/platform/web/ui/css/main.css rename to packages/web/src/ui/css/main.css diff --git a/src/platform/web/ui/css/popup.css b/packages/web/src/ui/css/popup.css similarity index 100% rename from src/platform/web/ui/css/popup.css rename to packages/web/src/ui/css/popup.css diff --git a/src/platform/web/ui/css/right-panel.css b/packages/web/src/ui/css/right-panel.css similarity index 100% rename from src/platform/web/ui/css/right-panel.css rename to packages/web/src/ui/css/right-panel.css diff --git a/src/platform/web/ui/css/room.css b/packages/web/src/ui/css/room.css similarity index 100% rename from src/platform/web/ui/css/room.css rename to packages/web/src/ui/css/room.css diff --git a/src/platform/web/ui/css/spinner.css b/packages/web/src/ui/css/spinner.css similarity index 100% rename from src/platform/web/ui/css/spinner.css rename to packages/web/src/ui/css/spinner.css diff --git a/src/platform/web/ui/css/status.css b/packages/web/src/ui/css/status.css similarity index 100% rename from src/platform/web/ui/css/status.css rename to packages/web/src/ui/css/status.css diff --git a/src/platform/web/ui/css/themes/README.md b/packages/web/src/ui/css/themes/README.md similarity index 100% rename from src/platform/web/ui/css/themes/README.md rename to packages/web/src/ui/css/themes/README.md diff --git a/src/platform/web/ui/css/themes/bubbles/theme.css b/packages/web/src/ui/css/themes/bubbles/theme.css similarity index 100% rename from src/platform/web/ui/css/themes/bubbles/theme.css rename to packages/web/src/ui/css/themes/bubbles/theme.css diff --git a/src/platform/web/ui/css/themes/element/element-logo.svg b/packages/web/src/ui/css/themes/element/element-logo.svg similarity index 100% rename from src/platform/web/ui/css/themes/element/element-logo.svg rename to packages/web/src/ui/css/themes/element/element-logo.svg diff --git a/src/platform/web/ui/css/themes/element/icons/chevron-down.svg b/packages/web/src/ui/css/themes/element/icons/chevron-down.svg similarity index 100% rename from src/platform/web/ui/css/themes/element/icons/chevron-down.svg rename to packages/web/src/ui/css/themes/element/icons/chevron-down.svg diff --git a/src/platform/web/ui/css/themes/element/icons/chevron-left.svg b/packages/web/src/ui/css/themes/element/icons/chevron-left.svg similarity index 100% rename from src/platform/web/ui/css/themes/element/icons/chevron-left.svg rename to packages/web/src/ui/css/themes/element/icons/chevron-left.svg diff --git a/src/platform/web/ui/css/themes/element/icons/chevron-right.svg b/packages/web/src/ui/css/themes/element/icons/chevron-right.svg similarity index 100% rename from src/platform/web/ui/css/themes/element/icons/chevron-right.svg rename to packages/web/src/ui/css/themes/element/icons/chevron-right.svg diff --git a/src/platform/web/ui/css/themes/element/icons/chevron-small.svg b/packages/web/src/ui/css/themes/element/icons/chevron-small.svg similarity index 100% rename from src/platform/web/ui/css/themes/element/icons/chevron-small.svg rename to packages/web/src/ui/css/themes/element/icons/chevron-small.svg diff --git a/src/platform/web/ui/css/themes/element/icons/chevron-thin-left.svg b/packages/web/src/ui/css/themes/element/icons/chevron-thin-left.svg similarity index 100% rename from src/platform/web/ui/css/themes/element/icons/chevron-thin-left.svg rename to packages/web/src/ui/css/themes/element/icons/chevron-thin-left.svg diff --git a/src/platform/web/ui/css/themes/element/icons/clear.svg b/packages/web/src/ui/css/themes/element/icons/clear.svg similarity index 100% rename from src/platform/web/ui/css/themes/element/icons/clear.svg rename to packages/web/src/ui/css/themes/element/icons/clear.svg diff --git a/src/platform/web/ui/css/themes/element/icons/disable-grid.svg b/packages/web/src/ui/css/themes/element/icons/disable-grid.svg similarity index 100% rename from src/platform/web/ui/css/themes/element/icons/disable-grid.svg rename to packages/web/src/ui/css/themes/element/icons/disable-grid.svg diff --git a/src/platform/web/ui/css/themes/element/icons/dismiss.svg b/packages/web/src/ui/css/themes/element/icons/dismiss.svg similarity index 100% rename from src/platform/web/ui/css/themes/element/icons/dismiss.svg rename to packages/web/src/ui/css/themes/element/icons/dismiss.svg diff --git a/src/platform/web/ui/css/themes/element/icons/e2ee-disabled.svg b/packages/web/src/ui/css/themes/element/icons/e2ee-disabled.svg similarity index 100% rename from src/platform/web/ui/css/themes/element/icons/e2ee-disabled.svg rename to packages/web/src/ui/css/themes/element/icons/e2ee-disabled.svg diff --git a/src/platform/web/ui/css/themes/element/icons/e2ee-normal.svg b/packages/web/src/ui/css/themes/element/icons/e2ee-normal.svg similarity index 100% rename from src/platform/web/ui/css/themes/element/icons/e2ee-normal.svg rename to packages/web/src/ui/css/themes/element/icons/e2ee-normal.svg diff --git a/src/platform/web/ui/css/themes/element/icons/enable-grid.svg b/packages/web/src/ui/css/themes/element/icons/enable-grid.svg similarity index 100% rename from src/platform/web/ui/css/themes/element/icons/enable-grid.svg rename to packages/web/src/ui/css/themes/element/icons/enable-grid.svg diff --git a/src/platform/web/ui/css/themes/element/icons/encryption-status.svg b/packages/web/src/ui/css/themes/element/icons/encryption-status.svg similarity index 100% rename from src/platform/web/ui/css/themes/element/icons/encryption-status.svg rename to packages/web/src/ui/css/themes/element/icons/encryption-status.svg diff --git a/src/platform/web/ui/css/themes/element/icons/info.svg b/packages/web/src/ui/css/themes/element/icons/info.svg similarity index 100% rename from src/platform/web/ui/css/themes/element/icons/info.svg rename to packages/web/src/ui/css/themes/element/icons/info.svg diff --git a/src/platform/web/ui/css/themes/element/icons/paperclip.svg b/packages/web/src/ui/css/themes/element/icons/paperclip.svg similarity index 100% rename from src/platform/web/ui/css/themes/element/icons/paperclip.svg rename to packages/web/src/ui/css/themes/element/icons/paperclip.svg diff --git a/src/platform/web/ui/css/themes/element/icons/room-members.svg b/packages/web/src/ui/css/themes/element/icons/room-members.svg similarity index 100% rename from src/platform/web/ui/css/themes/element/icons/room-members.svg rename to packages/web/src/ui/css/themes/element/icons/room-members.svg diff --git a/src/platform/web/ui/css/themes/element/icons/search.svg b/packages/web/src/ui/css/themes/element/icons/search.svg similarity index 100% rename from src/platform/web/ui/css/themes/element/icons/search.svg rename to packages/web/src/ui/css/themes/element/icons/search.svg diff --git a/src/platform/web/ui/css/themes/element/icons/send.svg b/packages/web/src/ui/css/themes/element/icons/send.svg similarity index 100% rename from src/platform/web/ui/css/themes/element/icons/send.svg rename to packages/web/src/ui/css/themes/element/icons/send.svg diff --git a/src/platform/web/ui/css/themes/element/icons/settings.svg b/packages/web/src/ui/css/themes/element/icons/settings.svg similarity index 100% rename from src/platform/web/ui/css/themes/element/icons/settings.svg rename to packages/web/src/ui/css/themes/element/icons/settings.svg diff --git a/src/platform/web/ui/css/themes/element/icons/vertical-ellipsis.svg b/packages/web/src/ui/css/themes/element/icons/vertical-ellipsis.svg similarity index 100% rename from src/platform/web/ui/css/themes/element/icons/vertical-ellipsis.svg rename to packages/web/src/ui/css/themes/element/icons/vertical-ellipsis.svg diff --git a/src/platform/web/ui/css/themes/element/inter.css b/packages/web/src/ui/css/themes/element/inter.css similarity index 100% rename from src/platform/web/ui/css/themes/element/inter.css rename to packages/web/src/ui/css/themes/element/inter.css diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-Black.woff b/packages/web/src/ui/css/themes/element/inter/Inter-Black.woff similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-Black.woff rename to packages/web/src/ui/css/themes/element/inter/Inter-Black.woff diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-Black.woff2 b/packages/web/src/ui/css/themes/element/inter/Inter-Black.woff2 similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-Black.woff2 rename to packages/web/src/ui/css/themes/element/inter/Inter-Black.woff2 diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-BlackItalic.woff b/packages/web/src/ui/css/themes/element/inter/Inter-BlackItalic.woff similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-BlackItalic.woff rename to packages/web/src/ui/css/themes/element/inter/Inter-BlackItalic.woff diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-BlackItalic.woff2 b/packages/web/src/ui/css/themes/element/inter/Inter-BlackItalic.woff2 similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-BlackItalic.woff2 rename to packages/web/src/ui/css/themes/element/inter/Inter-BlackItalic.woff2 diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-Bold.woff b/packages/web/src/ui/css/themes/element/inter/Inter-Bold.woff similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-Bold.woff rename to packages/web/src/ui/css/themes/element/inter/Inter-Bold.woff diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-Bold.woff2 b/packages/web/src/ui/css/themes/element/inter/Inter-Bold.woff2 similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-Bold.woff2 rename to packages/web/src/ui/css/themes/element/inter/Inter-Bold.woff2 diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-BoldItalic.woff b/packages/web/src/ui/css/themes/element/inter/Inter-BoldItalic.woff similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-BoldItalic.woff rename to packages/web/src/ui/css/themes/element/inter/Inter-BoldItalic.woff diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-BoldItalic.woff2 b/packages/web/src/ui/css/themes/element/inter/Inter-BoldItalic.woff2 similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-BoldItalic.woff2 rename to packages/web/src/ui/css/themes/element/inter/Inter-BoldItalic.woff2 diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-ExtraBold.woff b/packages/web/src/ui/css/themes/element/inter/Inter-ExtraBold.woff similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-ExtraBold.woff rename to packages/web/src/ui/css/themes/element/inter/Inter-ExtraBold.woff diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-ExtraBold.woff2 b/packages/web/src/ui/css/themes/element/inter/Inter-ExtraBold.woff2 similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-ExtraBold.woff2 rename to packages/web/src/ui/css/themes/element/inter/Inter-ExtraBold.woff2 diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-ExtraBoldItalic.woff b/packages/web/src/ui/css/themes/element/inter/Inter-ExtraBoldItalic.woff similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-ExtraBoldItalic.woff rename to packages/web/src/ui/css/themes/element/inter/Inter-ExtraBoldItalic.woff diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-ExtraBoldItalic.woff2 b/packages/web/src/ui/css/themes/element/inter/Inter-ExtraBoldItalic.woff2 similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-ExtraBoldItalic.woff2 rename to packages/web/src/ui/css/themes/element/inter/Inter-ExtraBoldItalic.woff2 diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-ExtraLight.woff b/packages/web/src/ui/css/themes/element/inter/Inter-ExtraLight.woff similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-ExtraLight.woff rename to packages/web/src/ui/css/themes/element/inter/Inter-ExtraLight.woff diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-ExtraLight.woff2 b/packages/web/src/ui/css/themes/element/inter/Inter-ExtraLight.woff2 similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-ExtraLight.woff2 rename to packages/web/src/ui/css/themes/element/inter/Inter-ExtraLight.woff2 diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-ExtraLightItalic.woff b/packages/web/src/ui/css/themes/element/inter/Inter-ExtraLightItalic.woff similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-ExtraLightItalic.woff rename to packages/web/src/ui/css/themes/element/inter/Inter-ExtraLightItalic.woff diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-ExtraLightItalic.woff2 b/packages/web/src/ui/css/themes/element/inter/Inter-ExtraLightItalic.woff2 similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-ExtraLightItalic.woff2 rename to packages/web/src/ui/css/themes/element/inter/Inter-ExtraLightItalic.woff2 diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-Italic.woff b/packages/web/src/ui/css/themes/element/inter/Inter-Italic.woff similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-Italic.woff rename to packages/web/src/ui/css/themes/element/inter/Inter-Italic.woff diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-Italic.woff2 b/packages/web/src/ui/css/themes/element/inter/Inter-Italic.woff2 similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-Italic.woff2 rename to packages/web/src/ui/css/themes/element/inter/Inter-Italic.woff2 diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-Light.woff b/packages/web/src/ui/css/themes/element/inter/Inter-Light.woff similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-Light.woff rename to packages/web/src/ui/css/themes/element/inter/Inter-Light.woff diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-Light.woff2 b/packages/web/src/ui/css/themes/element/inter/Inter-Light.woff2 similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-Light.woff2 rename to packages/web/src/ui/css/themes/element/inter/Inter-Light.woff2 diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-LightItalic.woff b/packages/web/src/ui/css/themes/element/inter/Inter-LightItalic.woff similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-LightItalic.woff rename to packages/web/src/ui/css/themes/element/inter/Inter-LightItalic.woff diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-LightItalic.woff2 b/packages/web/src/ui/css/themes/element/inter/Inter-LightItalic.woff2 similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-LightItalic.woff2 rename to packages/web/src/ui/css/themes/element/inter/Inter-LightItalic.woff2 diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-Medium.woff b/packages/web/src/ui/css/themes/element/inter/Inter-Medium.woff similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-Medium.woff rename to packages/web/src/ui/css/themes/element/inter/Inter-Medium.woff diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-Medium.woff2 b/packages/web/src/ui/css/themes/element/inter/Inter-Medium.woff2 similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-Medium.woff2 rename to packages/web/src/ui/css/themes/element/inter/Inter-Medium.woff2 diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-MediumItalic.woff b/packages/web/src/ui/css/themes/element/inter/Inter-MediumItalic.woff similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-MediumItalic.woff rename to packages/web/src/ui/css/themes/element/inter/Inter-MediumItalic.woff diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-MediumItalic.woff2 b/packages/web/src/ui/css/themes/element/inter/Inter-MediumItalic.woff2 similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-MediumItalic.woff2 rename to packages/web/src/ui/css/themes/element/inter/Inter-MediumItalic.woff2 diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-Regular.woff b/packages/web/src/ui/css/themes/element/inter/Inter-Regular.woff similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-Regular.woff rename to packages/web/src/ui/css/themes/element/inter/Inter-Regular.woff diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-Regular.woff2 b/packages/web/src/ui/css/themes/element/inter/Inter-Regular.woff2 similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-Regular.woff2 rename to packages/web/src/ui/css/themes/element/inter/Inter-Regular.woff2 diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-SemiBold.woff b/packages/web/src/ui/css/themes/element/inter/Inter-SemiBold.woff similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-SemiBold.woff rename to packages/web/src/ui/css/themes/element/inter/Inter-SemiBold.woff diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-SemiBold.woff2 b/packages/web/src/ui/css/themes/element/inter/Inter-SemiBold.woff2 similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-SemiBold.woff2 rename to packages/web/src/ui/css/themes/element/inter/Inter-SemiBold.woff2 diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-SemiBoldItalic.woff b/packages/web/src/ui/css/themes/element/inter/Inter-SemiBoldItalic.woff similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-SemiBoldItalic.woff rename to packages/web/src/ui/css/themes/element/inter/Inter-SemiBoldItalic.woff diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-SemiBoldItalic.woff2 b/packages/web/src/ui/css/themes/element/inter/Inter-SemiBoldItalic.woff2 similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-SemiBoldItalic.woff2 rename to packages/web/src/ui/css/themes/element/inter/Inter-SemiBoldItalic.woff2 diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-Thin.woff b/packages/web/src/ui/css/themes/element/inter/Inter-Thin.woff similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-Thin.woff rename to packages/web/src/ui/css/themes/element/inter/Inter-Thin.woff diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-Thin.woff2 b/packages/web/src/ui/css/themes/element/inter/Inter-Thin.woff2 similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-Thin.woff2 rename to packages/web/src/ui/css/themes/element/inter/Inter-Thin.woff2 diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-ThinItalic.woff b/packages/web/src/ui/css/themes/element/inter/Inter-ThinItalic.woff similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-ThinItalic.woff rename to packages/web/src/ui/css/themes/element/inter/Inter-ThinItalic.woff diff --git a/src/platform/web/ui/css/themes/element/inter/Inter-ThinItalic.woff2 b/packages/web/src/ui/css/themes/element/inter/Inter-ThinItalic.woff2 similarity index 100% rename from src/platform/web/ui/css/themes/element/inter/Inter-ThinItalic.woff2 rename to packages/web/src/ui/css/themes/element/inter/Inter-ThinItalic.woff2 diff --git a/src/platform/web/ui/css/themes/element/theme.css b/packages/web/src/ui/css/themes/element/theme.css similarity index 100% rename from src/platform/web/ui/css/themes/element/theme.css rename to packages/web/src/ui/css/themes/element/theme.css diff --git a/src/platform/web/ui/css/themes/element/timeline.css b/packages/web/src/ui/css/themes/element/timeline.css similarity index 100% rename from src/platform/web/ui/css/themes/element/timeline.css rename to packages/web/src/ui/css/themes/element/timeline.css diff --git a/src/platform/web/ui/css/timeline.css b/packages/web/src/ui/css/timeline.css similarity index 100% rename from src/platform/web/ui/css/timeline.css rename to packages/web/src/ui/css/timeline.css diff --git a/src/platform/web/ui/general/BaseUpdateView.ts b/packages/web/src/ui/general/BaseUpdateView.ts similarity index 100% rename from src/platform/web/ui/general/BaseUpdateView.ts rename to packages/web/src/ui/general/BaseUpdateView.ts diff --git a/src/platform/web/ui/general/LazyListView.js b/packages/web/src/ui/general/LazyListView.js similarity index 100% rename from src/platform/web/ui/general/LazyListView.js rename to packages/web/src/ui/general/LazyListView.js diff --git a/src/platform/web/ui/general/ListView.ts b/packages/web/src/ui/general/ListView.ts similarity index 100% rename from src/platform/web/ui/general/ListView.ts rename to packages/web/src/ui/general/ListView.ts diff --git a/src/platform/web/ui/general/LoadingView.js b/packages/web/src/ui/general/LoadingView.js similarity index 100% rename from src/platform/web/ui/general/LoadingView.js rename to packages/web/src/ui/general/LoadingView.js diff --git a/src/platform/web/ui/general/Menu.js b/packages/web/src/ui/general/Menu.js similarity index 100% rename from src/platform/web/ui/general/Menu.js rename to packages/web/src/ui/general/Menu.js diff --git a/src/platform/web/ui/general/Popup.js b/packages/web/src/ui/general/Popup.js similarity index 100% rename from src/platform/web/ui/general/Popup.js rename to packages/web/src/ui/general/Popup.js diff --git a/src/platform/web/ui/general/StaticView.js b/packages/web/src/ui/general/StaticView.js similarity index 100% rename from src/platform/web/ui/general/StaticView.js rename to packages/web/src/ui/general/StaticView.js diff --git a/src/platform/web/ui/general/TemplateView.ts b/packages/web/src/ui/general/TemplateView.ts similarity index 100% rename from src/platform/web/ui/general/TemplateView.ts rename to packages/web/src/ui/general/TemplateView.ts diff --git a/src/platform/web/ui/general/html.ts b/packages/web/src/ui/general/html.ts similarity index 100% rename from src/platform/web/ui/general/html.ts rename to packages/web/src/ui/general/html.ts diff --git a/src/platform/web/ui/general/types.ts b/packages/web/src/ui/general/types.ts similarity index 100% rename from src/platform/web/ui/general/types.ts rename to packages/web/src/ui/general/types.ts diff --git a/src/platform/web/ui/general/utils.ts b/packages/web/src/ui/general/utils.ts similarity index 100% rename from src/platform/web/ui/general/utils.ts rename to packages/web/src/ui/general/utils.ts diff --git a/src/platform/web/ui/login/CompleteSSOView.js b/packages/web/src/ui/login/CompleteSSOView.js similarity index 100% rename from src/platform/web/ui/login/CompleteSSOView.js rename to packages/web/src/ui/login/CompleteSSOView.js diff --git a/src/platform/web/ui/login/LoginView.js b/packages/web/src/ui/login/LoginView.js similarity index 100% rename from src/platform/web/ui/login/LoginView.js rename to packages/web/src/ui/login/LoginView.js diff --git a/src/platform/web/ui/login/PasswordLoginView.js b/packages/web/src/ui/login/PasswordLoginView.js similarity index 100% rename from src/platform/web/ui/login/PasswordLoginView.js rename to packages/web/src/ui/login/PasswordLoginView.js diff --git a/src/platform/web/ui/login/SessionLoadStatusView.js b/packages/web/src/ui/login/SessionLoadStatusView.js similarity index 100% rename from src/platform/web/ui/login/SessionLoadStatusView.js rename to packages/web/src/ui/login/SessionLoadStatusView.js diff --git a/src/platform/web/ui/login/SessionLoadView.js b/packages/web/src/ui/login/SessionLoadView.js similarity index 100% rename from src/platform/web/ui/login/SessionLoadView.js rename to packages/web/src/ui/login/SessionLoadView.js diff --git a/src/platform/web/ui/login/SessionPickerView.js b/packages/web/src/ui/login/SessionPickerView.js similarity index 100% rename from src/platform/web/ui/login/SessionPickerView.js rename to packages/web/src/ui/login/SessionPickerView.js diff --git a/src/platform/web/ui/login/common.js b/packages/web/src/ui/login/common.js similarity index 100% rename from src/platform/web/ui/login/common.js rename to packages/web/src/ui/login/common.js diff --git a/src/platform/web/ui/session/RoomGridView.js b/packages/web/src/ui/session/RoomGridView.js similarity index 100% rename from src/platform/web/ui/session/RoomGridView.js rename to packages/web/src/ui/session/RoomGridView.js diff --git a/src/platform/web/ui/session/SessionStatusView.js b/packages/web/src/ui/session/SessionStatusView.js similarity index 100% rename from src/platform/web/ui/session/SessionStatusView.js rename to packages/web/src/ui/session/SessionStatusView.js diff --git a/src/platform/web/ui/session/SessionView.js b/packages/web/src/ui/session/SessionView.js similarity index 100% rename from src/platform/web/ui/session/SessionView.js rename to packages/web/src/ui/session/SessionView.js diff --git a/src/platform/web/ui/session/leftpanel/InviteTileView.js b/packages/web/src/ui/session/leftpanel/InviteTileView.js similarity index 100% rename from src/platform/web/ui/session/leftpanel/InviteTileView.js rename to packages/web/src/ui/session/leftpanel/InviteTileView.js diff --git a/src/platform/web/ui/session/leftpanel/LeftPanelView.js b/packages/web/src/ui/session/leftpanel/LeftPanelView.js similarity index 100% rename from src/platform/web/ui/session/leftpanel/LeftPanelView.js rename to packages/web/src/ui/session/leftpanel/LeftPanelView.js diff --git a/src/platform/web/ui/session/leftpanel/RoomTileView.js b/packages/web/src/ui/session/leftpanel/RoomTileView.js similarity index 100% rename from src/platform/web/ui/session/leftpanel/RoomTileView.js rename to packages/web/src/ui/session/leftpanel/RoomTileView.js diff --git a/src/platform/web/ui/session/rightpanel/MemberDetailsView.js b/packages/web/src/ui/session/rightpanel/MemberDetailsView.js similarity index 100% rename from src/platform/web/ui/session/rightpanel/MemberDetailsView.js rename to packages/web/src/ui/session/rightpanel/MemberDetailsView.js diff --git a/src/platform/web/ui/session/rightpanel/MemberListView.js b/packages/web/src/ui/session/rightpanel/MemberListView.js similarity index 100% rename from src/platform/web/ui/session/rightpanel/MemberListView.js rename to packages/web/src/ui/session/rightpanel/MemberListView.js diff --git a/src/platform/web/ui/session/rightpanel/MemberTileView.js b/packages/web/src/ui/session/rightpanel/MemberTileView.js similarity index 100% rename from src/platform/web/ui/session/rightpanel/MemberTileView.js rename to packages/web/src/ui/session/rightpanel/MemberTileView.js diff --git a/src/platform/web/ui/session/rightpanel/RightPanelView.js b/packages/web/src/ui/session/rightpanel/RightPanelView.js similarity index 100% rename from src/platform/web/ui/session/rightpanel/RightPanelView.js rename to packages/web/src/ui/session/rightpanel/RightPanelView.js diff --git a/src/platform/web/ui/session/rightpanel/RoomDetailsView.js b/packages/web/src/ui/session/rightpanel/RoomDetailsView.js similarity index 100% rename from src/platform/web/ui/session/rightpanel/RoomDetailsView.js rename to packages/web/src/ui/session/rightpanel/RoomDetailsView.js diff --git a/src/platform/web/ui/session/room/InviteView.js b/packages/web/src/ui/session/room/InviteView.js similarity index 100% rename from src/platform/web/ui/session/room/InviteView.js rename to packages/web/src/ui/session/room/InviteView.js diff --git a/src/platform/web/ui/session/room/LightboxView.js b/packages/web/src/ui/session/room/LightboxView.js similarity index 100% rename from src/platform/web/ui/session/room/LightboxView.js rename to packages/web/src/ui/session/room/LightboxView.js diff --git a/src/platform/web/ui/session/room/MessageComposer.js b/packages/web/src/ui/session/room/MessageComposer.js similarity index 100% rename from src/platform/web/ui/session/room/MessageComposer.js rename to packages/web/src/ui/session/room/MessageComposer.js diff --git a/src/platform/web/ui/session/room/RoomArchivedView.js b/packages/web/src/ui/session/room/RoomArchivedView.js similarity index 100% rename from src/platform/web/ui/session/room/RoomArchivedView.js rename to packages/web/src/ui/session/room/RoomArchivedView.js diff --git a/src/platform/web/ui/session/room/RoomView.js b/packages/web/src/ui/session/room/RoomView.js similarity index 100% rename from src/platform/web/ui/session/room/RoomView.js rename to packages/web/src/ui/session/room/RoomView.js diff --git a/src/platform/web/ui/session/room/TimelineLoadingView.js b/packages/web/src/ui/session/room/TimelineLoadingView.js similarity index 100% rename from src/platform/web/ui/session/room/TimelineLoadingView.js rename to packages/web/src/ui/session/room/TimelineLoadingView.js diff --git a/src/platform/web/ui/session/room/TimelineView.ts b/packages/web/src/ui/session/room/TimelineView.ts similarity index 100% rename from src/platform/web/ui/session/room/TimelineView.ts rename to packages/web/src/ui/session/room/TimelineView.ts diff --git a/src/platform/web/ui/session/room/UnknownRoomView.js b/packages/web/src/ui/session/room/UnknownRoomView.js similarity index 100% rename from src/platform/web/ui/session/room/UnknownRoomView.js rename to packages/web/src/ui/session/room/UnknownRoomView.js diff --git a/src/platform/web/ui/session/room/timeline/AnnouncementView.js b/packages/web/src/ui/session/room/timeline/AnnouncementView.js similarity index 100% rename from src/platform/web/ui/session/room/timeline/AnnouncementView.js rename to packages/web/src/ui/session/room/timeline/AnnouncementView.js diff --git a/src/platform/web/ui/session/room/timeline/BaseMediaView.js b/packages/web/src/ui/session/room/timeline/BaseMediaView.js similarity index 100% rename from src/platform/web/ui/session/room/timeline/BaseMediaView.js rename to packages/web/src/ui/session/room/timeline/BaseMediaView.js diff --git a/src/platform/web/ui/session/room/timeline/BaseMessageView.js b/packages/web/src/ui/session/room/timeline/BaseMessageView.js similarity index 100% rename from src/platform/web/ui/session/room/timeline/BaseMessageView.js rename to packages/web/src/ui/session/room/timeline/BaseMessageView.js diff --git a/src/platform/web/ui/session/room/timeline/FileView.js b/packages/web/src/ui/session/room/timeline/FileView.js similarity index 100% rename from src/platform/web/ui/session/room/timeline/FileView.js rename to packages/web/src/ui/session/room/timeline/FileView.js diff --git a/src/platform/web/ui/session/room/timeline/GapView.js b/packages/web/src/ui/session/room/timeline/GapView.js similarity index 100% rename from src/platform/web/ui/session/room/timeline/GapView.js rename to packages/web/src/ui/session/room/timeline/GapView.js diff --git a/src/platform/web/ui/session/room/timeline/ImageView.js b/packages/web/src/ui/session/room/timeline/ImageView.js similarity index 100% rename from src/platform/web/ui/session/room/timeline/ImageView.js rename to packages/web/src/ui/session/room/timeline/ImageView.js diff --git a/src/platform/web/ui/session/room/timeline/MissingAttachmentView.js b/packages/web/src/ui/session/room/timeline/MissingAttachmentView.js similarity index 100% rename from src/platform/web/ui/session/room/timeline/MissingAttachmentView.js rename to packages/web/src/ui/session/room/timeline/MissingAttachmentView.js diff --git a/src/platform/web/ui/session/room/timeline/ReactionsView.js b/packages/web/src/ui/session/room/timeline/ReactionsView.js similarity index 100% rename from src/platform/web/ui/session/room/timeline/ReactionsView.js rename to packages/web/src/ui/session/room/timeline/ReactionsView.js diff --git a/src/platform/web/ui/session/room/timeline/RedactedView.js b/packages/web/src/ui/session/room/timeline/RedactedView.js similarity index 100% rename from src/platform/web/ui/session/room/timeline/RedactedView.js rename to packages/web/src/ui/session/room/timeline/RedactedView.js diff --git a/src/platform/web/ui/session/room/timeline/TextMessageView.js b/packages/web/src/ui/session/room/timeline/TextMessageView.js similarity index 100% rename from src/platform/web/ui/session/room/timeline/TextMessageView.js rename to packages/web/src/ui/session/room/timeline/TextMessageView.js diff --git a/src/platform/web/ui/session/room/timeline/VideoView.js b/packages/web/src/ui/session/room/timeline/VideoView.js similarity index 100% rename from src/platform/web/ui/session/room/timeline/VideoView.js rename to packages/web/src/ui/session/room/timeline/VideoView.js diff --git a/src/platform/web/ui/session/settings/SessionBackupSettingsView.js b/packages/web/src/ui/session/settings/SessionBackupSettingsView.js similarity index 100% rename from src/platform/web/ui/session/settings/SessionBackupSettingsView.js rename to packages/web/src/ui/session/settings/SessionBackupSettingsView.js diff --git a/src/platform/web/ui/session/settings/SettingsView.js b/packages/web/src/ui/session/settings/SettingsView.js similarity index 100% rename from src/platform/web/ui/session/settings/SettingsView.js rename to packages/web/src/ui/session/settings/SettingsView.js diff --git a/src/platform/web/ui/view-gallery.html b/packages/web/src/ui/view-gallery.html similarity index 100% rename from src/platform/web/ui/view-gallery.html rename to packages/web/src/ui/view-gallery.html diff --git a/src/platform/web/utils/Base58.js b/packages/web/src/utils/Base58.js similarity index 93% rename from src/platform/web/utils/Base58.js rename to packages/web/src/utils/Base58.js index ebe4a969..b3f0bca7 100644 --- a/src/platform/web/utils/Base58.js +++ b/packages/web/src/utils/Base58.js @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -import bs58 from "../../../../lib/bs58/index.js"; +import bs58 from "bs58"; export class Base58 { encode(buffer) { diff --git a/src/platform/web/utils/Base64.js b/packages/web/src/utils/Base64.js similarity index 93% rename from src/platform/web/utils/Base64.js rename to packages/web/src/utils/Base64.js index 6c114fe6..83b5ccc5 100644 --- a/src/platform/web/utils/Base64.js +++ b/packages/web/src/utils/Base64.js @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -import base64 from "../../../../lib/base64-arraybuffer/index.js"; +import base64 from "base64-arraybuffer"; export class Base64 { encodeUnpadded(buffer) { diff --git a/src/platform/web/utils/Encoding.js b/packages/web/src/utils/Encoding.js similarity index 100% rename from src/platform/web/utils/Encoding.js rename to packages/web/src/utils/Encoding.js diff --git a/src/platform/web/worker/main.js b/packages/web/src/worker/main.js similarity index 100% rename from src/platform/web/worker/main.js rename to packages/web/src/worker/main.js diff --git a/src/platform/web/worker/polyfill.js b/packages/web/src/worker/polyfill.js similarity index 100% rename from src/platform/web/worker/polyfill.js rename to packages/web/src/worker/polyfill.js diff --git a/src/platform/web/docroot/sw.js b/packages/web/sw.js similarity index 100% rename from src/platform/web/docroot/sw.js rename to packages/web/sw.js diff --git a/packages/web/vite.config.js b/packages/web/vite.config.js new file mode 100644 index 00000000..d76aaebe --- /dev/null +++ b/packages/web/vite.config.js @@ -0,0 +1,6 @@ +export default { + public: false, + server: { + hmr: false + } +}; diff --git a/src/lib.ts b/src/lib.ts deleted file mode 100644 index 27290fb5..00000000 --- a/src/lib.ts +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright 2021 The Matrix.org Foundation C.I.C. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// types need to bootstrap a SessionContainer -export {SessionContainer, LoadStatus} from "./matrix/SessionContainer.js"; -export {Session} from "./matrix/Session.js"; -export {Sync} from "./matrix/Sync.js"; -export {Room} from "./matrix/room/Room.js"; -export {Timeline} from "./matrix/room/timeline/Timeline.js"; -export {createNavigation, createRouter} from "./domain/navigation/index.js"; -export {Platform} from "./platform/web/Platform.js"; -// export main view & view models -export {RootViewModel} from "./domain/RootViewModel.js"; -export {RootView} from "./platform/web/ui/RootView.js"; -export {SessionViewModel} from "./domain/session/SessionViewModel.js"; -export {SessionView} from "./platform/web/ui/session/SessionView.js"; -export {RoomViewModel} from "./domain/session/room/RoomViewModel.js"; -export {RoomView} from "./platform/web/ui/session/room/RoomView.js"; -export {TimelineViewModel} from "./domain/session/room/timeline/TimelineViewModel.js"; -export {TimelineView} from "./platform/web/ui/session/room/TimelineView"; diff --git a/src/sdk/paths/vite.ts b/src/sdk/paths/vite.ts deleted file mode 100644 index e38648eb..00000000 --- a/src/sdk/paths/vite.ts +++ /dev/null @@ -1,12 +0,0 @@ -import _downloadSandboxPath from "../../../assets/download-sandbox.html?url"; -import olmWasmPath from "../../../lib/olm/olm.wasm?url"; -import olmJsPath from "../../../lib/olm/olm.js?url"; -import olmLegacyJsPath from "../../../lib/olm/olm_legacy.js?url"; - -export const olmPaths = { - wasm: olmWasmPath, - legacyBundle: olmLegacyJsPath, - wasmBundle: olmJsPath, -}; - -export const downloadSandboxPath = _downloadSandboxPath; diff --git a/yarn.lock b/yarn.lock index 638e0cd0..4d7764c2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2298,6 +2298,61 @@ es-module-lexer@^0.6.0: version "4.2.8" resolved "https://github.com/bwindels/es6-promise.git#112f78f5829e627055b0ff56a52fecb63f6003b1" +esbuild-android-arm64@0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.3.tgz#ef734c76eeff42e8c53acdffe901da090164a890" + integrity sha512-jc9E8vGTHkzb0Vwl74H8liANV9BWsqtzLHaKvcsRgf1M+aVCBSF0gUheduAKfDsbDMT0judeMLhwBP34EUesTA== + +esbuild-darwin-64@0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.13.3.tgz#35f29376b7451add79f0640980683ef923365385" + integrity sha512-8bG3Zq+ZNuLlIJebOO2+weI7P2LVf33sOzaUfHj8MuJ+1Ixe4KtQxfYp7qhFnP6xP2ToJaYHxGUfLeiUCEz9hw== + +esbuild-darwin-arm64@0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.3.tgz#530a1326e7d18d62c9a54b6dce70f2b77ed50eec" + integrity sha512-5E81eImYtTgh8pY7Gq4WQHhWkR/LvYadUXmuYeZBiP+3ADZJZcG60UFceZrjqNPaFOWKr/xmh4aNocwagEubcA== + +esbuild-freebsd-64@0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.3.tgz#ce2896ac362e06eb82ca5dec06b2568901eb5afc" + integrity sha512-ou+f91KkTGexi8HvF/BdtsITL6plbciQfZGys7QX6/QEwyE96PmL5KnU6ZQwoU7E99Ts6Sc9bUDq8HXJubKtBA== + +esbuild-freebsd-arm64@0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.3.tgz#a20454f99e060bea4e465d131556a9f0533f403f" + integrity sha512-F1zV7nySjHswJuvIgjkiG5liZ63MeazDGXGKViTCeegjZ71sAhOChcaGhKcu6vq9+vqZxlfEi1fmXlx6Pc3coQ== + +esbuild-linux-32@0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.13.3.tgz#ad56f18208ecf007cd9ab16cd39626ca0312b8ee" + integrity sha512-mHHc2v6uLrHH4zaaq5RB/5IWzgimEJ1HGldzf1qtGI513KZWfH0HRRQ8p1di4notJgBn7tDzWQ1f34ZHy69viQ== + +esbuild-linux-64@0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.13.3.tgz#be1eabadf68d153897ed887678f7496d3949810f" + integrity sha512-FJ1De2O89mrOuqtaEXu41qIYJU6R41F+OA6vheNwcAQcX8fu0aiA13FJeLABq29BYJuTVgRj3cyC8q+tz19/dQ== + +esbuild-linux-arm64@0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.3.tgz#329348bb4a19cfb5e9046cc5d97ba5017d8f74ad" + integrity sha512-Cauhr45KSo+wRUojs+1qfycQqQCAXTOvsWvkZ6xmEMAXLAm+f8RQGDQeP8CAf8Yeelnegcn6UNdvzdzLHhWDFg== + +esbuild-linux-arm@0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.13.3.tgz#b3b3167c9d5d3038894fbc75b194a4fbe93eaf09" + integrity sha512-9BJNRtLwBh3OP22cln9g3AJdbAQUcjRHqA4BScx9k4RZpGqPokFr548zpeplxWhcwrIjT8qPebwH9CrRVy8Bsw== + +esbuild-linux-mips64le@0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.3.tgz#ea1687f28ea2c85399ecc2fe23a48ab343b7b35d" + integrity sha512-YVzJUGCncuuLm2boYyVeuMFsak4ZAhdiBwi0xNDZCC8sy+tS6Boe2mzcrD2uubv5JKAUOrpN186S1DtU4WgBgw== + +esbuild-linux-ppc64le@0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.3.tgz#a462cf42eae3d7fc29a9f277679f5adee70afa67" + integrity sha512-GU6CqqKtJEoyxC2QWHiJtmuOz9wc/jMv8ZloK2WwiGY5yMvAmM3PI103Dj7xcjebNTHBqITTUw/aigY1wx5A3w== + esbuild-node-loader@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/esbuild-node-loader/-/esbuild-node-loader-0.3.1.tgz#fa761e020eff316549ddc3c51a25ec9ffc159ff2" @@ -2305,11 +2360,58 @@ esbuild-node-loader@^0.3.1: dependencies: esbuild "^0.12.6" +esbuild-openbsd-64@0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.3.tgz#0cb15bd86d20eb19cb548b530f1a533197532cf9" + integrity sha512-HVpkgpn4BQt4BPDAjTOpeMub6mzNWw6Y3gaLQJrpbO24pws6ZwYkY24OI3/Uo3LDCbH6856MM81JxECt92OWjA== + +esbuild-sunos-64@0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.13.3.tgz#53a941241f881010969cc8f1acb1ada49c4cd3c2" + integrity sha512-XncBVOtnEfUbPV4CaiFBxh38ychnBfwCxuTm9iAqcHzIwkmeNRN5qMzDyfE1jyfJje+Bbt6AvIfz6SdYt8/UEQ== + +esbuild-windows-32@0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.13.3.tgz#265dc0d0cdb5374685a851c584857055e12865a4" + integrity sha512-ZlgDz7d1nk8wQACi+z8IDzNZVUlN9iprAme+1YSTsfFDlkyI8jeaGWPk9EQFNY7rJzsLVYm6eZ2mhPioc7uT5A== + +esbuild-windows-64@0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.13.3.tgz#ae710c0629ec8c39c5ef1f69e86ed5592bb4128f" + integrity sha512-YX7KvRez3TR+GudlQm9tND/ssj2FsF9vb8ZWzAoZOLxpPzE3y+3SFJNrfDzzQKPzJ0Pnh9KBP4gsaMwJjKHDhw== + +esbuild-windows-arm64@0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.3.tgz#a236199a26b1205573dcb571f966189326a4c953" + integrity sha512-nP7H0Y2a6OJd3Qi1Q8sehhyP4x4JoXK4S5y6FzH2vgaJgiyEurzFxjUufGdMaw+RxtxiwD/uRndUgwaZ2JD8lg== + esbuild@^0.12.6: version "0.12.20" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.12.20.tgz#4d3c9d83c99a4031e027b42a4c398c23b6827cb0" integrity sha512-u7+0qTo9Z64MD9PhooEngCmzyEYJ6ovFhPp8PLNh3UasR5Ihjv6HWVXqm8uHmasdQlpsAf0IsY4U0YVUfCpt4Q== +esbuild@^0.13.2: + version "0.13.3" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.13.3.tgz#cc9fc347fc81ff6440cdd1fdb9fe65c02eddcc97" + integrity sha512-98xovMLKnyhv3gcReUuAEi5Ig1rK6SIgvsJuBIcfwzqGSEHsV8UJjMlmkhHoHMf9XZybMpE9Zax8AA8f7i2hlQ== + optionalDependencies: + esbuild-android-arm64 "0.13.3" + esbuild-darwin-64 "0.13.3" + esbuild-darwin-arm64 "0.13.3" + esbuild-freebsd-64 "0.13.3" + esbuild-freebsd-arm64 "0.13.3" + esbuild-linux-32 "0.13.3" + esbuild-linux-64 "0.13.3" + esbuild-linux-arm "0.13.3" + esbuild-linux-arm64 "0.13.3" + esbuild-linux-mips64le "0.13.3" + esbuild-linux-ppc64le "0.13.3" + esbuild-openbsd-64 "0.13.3" + esbuild-sunos-64 "0.13.3" + esbuild-windows-32 "0.13.3" + esbuild-windows-64 "0.13.3" + esbuild-windows-arm64 "0.13.3" + esbuild@~0.9.0: version "0.9.7" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.9.7.tgz#ea0d639cbe4b88ec25fbed4d6ff00c8d788ef70b" @@ -3678,6 +3780,11 @@ ms@^2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== +nanocolors@^0.2.2: + version "0.2.12" + resolved "https://registry.yarnpkg.com/nanocolors/-/nanocolors-0.2.12.tgz#4d05932e70116078673ea4cc6699a1c56cc77777" + integrity sha512-SFNdALvzW+rVlzqexid6epYdt8H9Zol7xDoQarioEFcFN0JHo4CYNztAxmtfgGTVRCmFlEOqqhBpoFGKqSAMug== + nanoid@^3.1.12: version "3.1.12" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.12.tgz#6f7736c62e8d39421601e4a0c77623a97ea69654" @@ -3688,6 +3795,11 @@ nanoid@^3.1.23: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81" integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== +nanoid@^3.1.25: + version "3.1.28" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.28.tgz#3c01bac14cb6c5680569014cc65a2f26424c6bd4" + integrity sha512-gSu9VZ2HtmoKYe/lmyPFES5nknFrHa+/DT9muUFWFMi6Jh9E1I7bkvlQ8xxf1Kos9pi9o8lBnIOkatMhKX/YUw== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -4276,6 +4388,15 @@ postcss@^8.3.5: nanoid "^3.1.23" source-map-js "^0.6.2" +postcss@^8.3.8: + version "8.3.8" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.8.tgz#9ebe2a127396b4b4570ae9f7770e7fb83db2bac1" + integrity sha512-GT5bTjjZnwDifajzczOC+r3FI3Cu+PgPvrsjhQdRqa2kTJ4968/X9CUce9xttIB0xOs5c6xf0TCWZo/y9lF6bA== + dependencies: + nanocolors "^0.2.2" + nanoid "^3.1.25" + source-map-js "^0.6.2" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -4607,6 +4728,13 @@ rollup@^2.26.4: optionalDependencies: fsevents "~2.1.2" +rollup@^2.57.0: + version "2.58.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.58.0.tgz#a643983365e7bf7f5b7c62a8331b983b7c4c67fb" + integrity sha512-NOXpusKnaRpbS7ZVSzcEXqxcLDOagN6iFS8p45RkoiMqPHDLwJm758UF05KlMoCRbLBTZsPOIa887gZJ1AiXvw== + optionalDependencies: + fsevents "~2.3.2" + rollup@~2.37.1: version "2.37.1" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.37.1.tgz#aa7aadffd75c80393f9314f9857e851b0ffd34e7" @@ -5244,6 +5372,18 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" +vite@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/vite/-/vite-2.6.2.tgz#5bbb4afe1f69ed9d6482e51a0f761f8cfc230e22" + integrity sha512-HSIg9U15LOnbD3CUxX364Pdrm7DUjftuBljowGxvkFHgDZU/SKPqApg9t86MX/Qq1VCO7wS+mGJHlfuTF7c0Sg== + dependencies: + esbuild "^0.13.2" + postcss "^8.3.8" + resolve "^1.20.0" + rollup "^2.57.0" + optionalDependencies: + fsevents "~2.3.2" + vm2@^3.9.2: version "3.9.3" resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.9.3.tgz#29917f6cc081cc43a3f580c26c5b553fd3c91f40"