From 8561926d3e45f3d34b7cf2b84005ee82a2ec5352 Mon Sep 17 00:00:00 2001 From: Tyler Dane Date: Mon, 2 Mar 2026 19:06:48 -0800 Subject: [PATCH 1/2] feat(eslint): enhance ESLint configuration for JavaScript files - Added a new configuration to disable type checking for JavaScript files, allowing for more flexible linting options. - Updated language options to include Node.js globals and adjusted parser settings to improve compatibility with JavaScript projects. - This change aims to streamline the linting process for JavaScript files while maintaining TypeScript support. --- eslint.config.mjs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/eslint.config.mjs b/eslint.config.mjs index 1d1f3d0a6..7ba626706 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -20,6 +20,14 @@ export default [ pluginReact.configs.flat.recommended, pluginReact.configs.flat["jsx-runtime"], ...tseslint.configs.recommendedTypeChecked, + { + files: ["**/*.js", "**/*.mjs", "**/*.cjs"], + ...tseslint.configs.disableTypeChecked, + languageOptions: { + globals: { ...globals.node }, + parserOptions: { project: false, projectService: false }, + }, + }, { files: ["**/*.{ts,tsx}"], languageOptions: { From cd70211919846b5d9029ade2c84128dc151cbd89 Mon Sep 17 00:00:00 2001 From: Tyler Dane Date: Mon, 2 Mar 2026 19:07:32 -0800 Subject: [PATCH 2/2] chore: autofix eslint issues --- .../src/__tests__/drivers/email.driver.ts | 6 +- .../src/__tests__/drivers/event.driver.ts | 6 +- .../drivers/sync.controller.driver.ts | 4 +- .../src/__tests__/drivers/sync.driver.ts | 6 +- .../drivers/user.controller.driver.ts | 6 +- .../src/__tests__/drivers/user.driver.ts | 6 +- .../src/__tests__/drivers/util.driver.ts | 4 +- .../src/__tests__/helpers/mock.events.init.ts | 12 +- .../src/__tests__/helpers/mock.setup.ts | 22 +-- .../__tests__/mocks.db/ccal.mock.db.util.ts | 6 +- .../mocks.gcal/factories/gcal.event.batch.ts | 4 +- .../factories/gcal.event.factory.test.ts | 2 +- .../factories/gcal.event.factory.ts | 10 +- .../mocks.gcal/factories/gcal.factory.ts | 2 +- .../fixtures/recurring/create/create.ts | 2 +- .../fixtures/recurring/delete/all/all-1.ts | 2 +- .../fixtures/recurring/delete/all/all-2.ts | 2 +- .../delete/single/delete.single-2.ts | 2 +- .../recurring/delete/single/delete.single.ts | 2 +- .../delete.this-and-following-2.ts | 2 +- .../delete.this-and-following.ts | 2 +- .../fixtures/recurring/edit/all/all-1.ts | 2 +- .../fixtures/recurring/edit/all/all-2.ts | 2 +- .../edit/single/single.instance-1.ts | 2 +- .../edit/single/single.instance-2.ts | 2 +- .../edit/single/single.instance-3.ts | 2 +- .../this-and-following-1.ts | 2 +- .../this-and-following-2.ts | 2 +- .../this-and-following-3.ts | 2 +- .../this-and-following-4.ts | 2 +- .../backend/src/auth/auth.routes.config.ts | 2 +- .../src/auth/controllers/auth.controller.ts | 7 +- .../src/auth/middleware/auth.middleware.ts | 4 +- .../backend/src/auth/services/auth.utils.ts | 4 +- .../src/auth/services/compass.auth.service.ts | 2 +- .../auth/services/google.auth.service.test.ts | 2 +- .../src/auth/services/google.auth.service.ts | 10 +- .../src/calendar/calendar.routes.config.ts | 2 +- .../controllers/calendar.controller.ts | 9 +- .../src/calendar/services/calendar.service.ts | 6 +- .../src/common/common.routes.config.ts | 2 +- .../src/common/constants/env.constants.ts | 2 +- .../src/common/errors/auth/auth.errors.ts | 2 +- .../backend/src/common/errors/db/db.errors.ts | 2 +- .../common/errors/emailer/emailer.errors.ts | 2 +- .../src/common/errors/event/event.errors.ts | 2 +- .../common/errors/generic/generic.errors.ts | 2 +- .../errors/handlers/error.express.handler.ts | 11 +- .../common/errors/handlers/error.handler.ts | 2 +- .../errors/integration/gcal/gcal.errors.ts | 2 +- .../src/common/errors/socket/socket.errors.ts | 2 +- .../src/common/errors/sync/sync.errors.ts | 2 +- .../src/common/errors/sync/watch.errors.ts | 2 +- .../src/common/errors/user/user.errors.ts | 2 +- .../src/common/guards/google.guard.test.ts | 2 +- .../google.required.middleware.test.ts | 2 +- .../middleware/google.required.middleware.ts | 6 +- .../middleware/http.logger.middleware.ts | 2 +- .../middleware/mongo.validation.middleware.ts | 4 +- .../common/middleware/promise.middleware.ts | 6 +- .../middleware/supertokens.middleware.ts | 2 +- .../src/common/services/gcal/gcal.service.ts | 2 +- .../src/common/services/gcal/gcal.utils.ts | 2 +- .../backend/src/common/types/express.types.ts | 4 +- .../src/common/validators/validate.event.ts | 2 +- .../backend/src/common/validators/validate.ts | 2 +- packages/backend/src/email/email.service.ts | 9 +- .../event/classes/compass.event.generator.ts | 23 +-- .../classes/compass.event.parser.test.ts | 8 +- .../classes/compass.event.parser.test.util.ts | 24 +-- .../src/event/classes/compass.event.parser.ts | 21 +-- .../event/classes/gcal.event.parser.test.ts | 2 +- .../src/event/classes/gcal.event.parser.ts | 21 ++- .../event/classes/gcal.event.rrule.test.ts | 2 +- .../src/event/classes/gcal.event.rrule.ts | 18 +-- .../src/event/controllers/event.controller.ts | 17 ++- .../backend/src/event/event.routes.config.ts | 2 +- .../src/event/queries/event.queries.ts | 4 +- .../event/services/event.find.allday.test.ts | 4 +- .../src/event/services/event.find.test.ts | 6 +- .../src/event/services/event.service.ts | 30 ++-- .../src/event/services/event.service.util.ts | 8 +- .../event/services/recur/recur.month.test.ts | 2 +- .../event/services/recur/recur.test.util.ts | 2 +- .../event/services/recur/recur.week.test.ts | 2 +- .../event/services/recur/repo/event.repo.ts | 10 +- .../recur/repo/recur.event.repo.util.ts | 6 +- .../event/services/recur/util/recur.util.ts | 10 +- .../controllers/priority.controller.ts | 11 +- .../src/priority/priority.routes.config.ts | 2 +- .../services/priority.service.test.ts | 2 +- .../src/priority/services/priority.service.ts | 7 +- .../websocket/websocket.server.test.ts | 2 +- .../src/servers/websocket/websocket.server.ts | 32 ++-- .../src/servers/websocket/websocket.util.ts | 4 +- .../sync/controllers/sync.controller.test.ts | 8 +- .../src/sync/controllers/sync.controller.ts | 8 +- .../sync/controllers/sync.debug.controller.ts | 11 +- .../src/sync/services/import/sync.import.ts | 22 +-- .../sync/services/import/sync.import.types.ts | 10 +- .../services/import/sync.import.util.test.ts | 2 +- .../sync/services/import/sync.import.util.ts | 6 +- .../src/sync/services/init/sync.init.test.ts | 2 +- .../src/sync/services/init/sync.init.ts | 2 +- .../src/sync/services/log/sync.logger.ts | 4 +- .../services/maintain/sync.maintenance.ts | 4 +- .../handler/gcal.notification.handler.test.ts | 2 +- .../handler/gcal.notification.handler.ts | 4 +- .../backend/src/sync/services/sync.service.ts | 12 +- .../base.test.ts | 6 +- .../instance.test.ts | 144 +++++++++--------- .../regular.test.ts | 4 +- .../compass.sync.processor.all-event.test.ts | 104 ++++++------- .../__tests__/compass.sync.processor.test.ts | 4 +- ...processor.this-and-following-event.test.ts | 28 ++-- .../gcal.sync.processor.delete.test.ts | 2 +- .../gcal.sync.processor.delete.util.ts | 4 +- .../gcal.sync.processor.test.util.ts | 23 +-- ...l.sync.processor.upsert.base.split.test.ts | 15 +- .../gcal.sync.processor.upsert.base.test.ts | 2 +- ...cal.sync.processor.upsert.instance.test.ts | 6 +- .../services/sync/compass.sync.processor.ts | 6 +- .../sync/services/sync/gcal.sync.processor.ts | 6 +- .../backend/src/sync/sync.routes.config.ts | 2 +- packages/backend/src/sync/sync.types.ts | 8 +- .../backend/src/sync/util/sync.queries.ts | 10 +- packages/backend/src/sync/util/watch.util.ts | 2 +- .../src/user/controllers/user.controller.ts | 6 +- .../user/services/user-metadata.service.ts | 4 +- .../backend/src/user/services/user.service.ts | 14 +- .../backend/src/user/user.routes.config.ts | 2 +- .../v1/calendarlist/gcal.calendarlist.ts | 2 +- .../src/__mocks__/v1/events/events.22mar.ts | 2 +- .../src/__mocks__/v1/events/events.misc.ts | 2 +- .../v1/events/events.someday.recur.ts | 2 +- .../v1/events/gcal/gcal.recurring.ts | 5 +- packages/core/src/errors/errors.base.ts | 2 +- packages/core/src/logger/winston.logger.ts | 2 +- .../core/src/mappers/map.calendar.test.ts | 2 +- packages/core/src/mappers/map.calendar.ts | 2 +- packages/core/src/mappers/map.event.test.ts | 2 +- .../src/mappers/map.event.to-compass.test.ts | 4 +- .../src/mappers/map.event.to-gcal.test.ts | 2 +- packages/core/src/mappers/map.event.ts | 18 +-- packages/core/src/mappers/map.user.ts | 4 +- .../mappers/subscriber/map.subscriber.test.ts | 5 +- .../src/mappers/subscriber/map.subscriber.ts | 4 +- packages/core/src/types/auth.types.ts | 2 +- .../core/src/types/calendar.types.test.ts | 2 +- packages/core/src/types/event.types.ts | 2 +- packages/core/src/types/mongo.types.ts | 2 +- packages/core/src/types/sync.types.ts | 2 +- packages/core/src/types/user.types.ts | 4 +- packages/core/src/types/watch.types.test.ts | 2 +- packages/core/src/types/websocket.types.ts | 8 +- packages/core/src/util/app.util.ts | 2 +- packages/core/src/util/date/date.util.ts | 2 +- .../src/util/date/dayjs-compass.plugin.ts | 2 +- .../util/event/compass.event.rrule.test.ts | 6 +- .../src/util/event/compass.event.rrule.ts | 6 +- packages/core/src/util/event/event.util.ts | 18 +-- .../core/src/util/event/gcal.event.util.ts | 4 +- .../core/src/util/test/ccal.event.factory.ts | 10 +- .../src/validators/event.validator.test.ts | 2 +- .../core/src/validators/event.validator.ts | 4 +- ...25.10.13T14.18.20.watch-collection.test.ts | 2 +- ....18T19.43.00.new-events-collection.test.ts | 2 +- packages/scripts/src/cli.validator.ts | 8 +- packages/scripts/src/commands/build.ts | 2 +- packages/scripts/src/commands/build.util.ts | 2 +- packages/scripts/src/commands/delete.ts | 4 +- packages/scripts/src/commands/migrate.ts | 5 +- packages/scripts/src/commands/seed.ts | 2 +- packages/scripts/src/common/cli.utils.ts | 2 +- .../scripts/src/common/migrator-template.ts | 2 +- .../scripts/src/common/zod-to-mongo-schema.ts | 32 ++-- .../2025.10.03T01.19.59.calendar-schema.ts | 2 +- .../2025.10.13T14.18.20.watch-collection.ts | 2 +- ....10.13T14.22.21.migrate-sync-watch-data.ts | 4 +- ...5.10.14T12.24.01.update-calendar-schema.ts | 2 +- ....26.00.migrate-calendarlist-to-calendar.ts | 8 +- ...25.10.18T19.43.00.new-events-collection.ts | 4 +- ...migrate-events-to-new-events-collection.ts | 4 +- .../2025.10.01T10.09.22.seed-user-events.ts | 4 +- packages/web/declaration.d.ts | 2 +- .../web/src/__tests__/__mocks__/css.stub.js | 2 +- .../web/src/__tests__/__mocks__/file.stub.js | 2 +- .../src/__tests__/__mocks__/mock.render.tsx | 12 +- .../__mocks__/state/state.weekEvents.ts | 2 +- packages/web/src/__tests__/jsdom.ts | 2 +- .../utils/agenda/agenda.test.util.tsx | 2 +- .../__tests__/utils/factories/task.factory.ts | 2 +- .../repositories/repository.test.factory.ts | 4 +- .../__tests__/utils/state/draft.test.util.ts | 4 +- .../__tests__/utils/state/store.test.util.ts | 8 +- .../storage/mock-storage-adapter.util.ts | 2 +- .../__tests__/utils/tasks/task.test.util.ts | 2 +- packages/web/src/__tests__/web.test.start.ts | 4 +- packages/web/src/auth/context/UserContext.tsx | 2 +- .../web/src/auth/context/UserProvider.tsx | 10 +- .../auth/hooks/oauth/useGoogleAuth.test.ts | 2 +- .../oauth/useGoogleAuthWithOverlay.test.ts | 2 +- .../hooks/oauth/useGoogleAuthWithOverlay.ts | 2 +- .../web/src/auth/session/SessionProvider.tsx | 9 +- packages/web/src/common/apis/auth.api.ts | 4 +- packages/web/src/common/apis/compass.api.ts | 2 +- packages/web/src/common/apis/user.api.ts | 2 +- packages/web/src/common/classes/Session.ts | 4 +- .../common/constants/more.cmd.constants.ts | 2 +- .../src/common/constants/toast.constants.ts | 2 +- .../web/src/common/context/compass-refs.tsx | 2 +- .../src/common/context/pointer-position.tsx | 6 +- .../web/src/common/hooks/useAuthCmdItems.ts | 2 +- .../src/common/hooks/useEventDNDActions.ts | 9 +- .../hooks/useEventResizeActions.test.ts | 2 +- .../src/common/hooks/useEventResizeActions.ts | 6 +- .../src/common/hooks/useFloatingAtCursor.ts | 8 +- .../web/src/common/hooks/useKeyboardEvent.ts | 4 +- .../common/hooks/useMainGridSelection.test.ts | 2 +- .../src/common/hooks/useMainGridSelection.ts | 4 +- .../hooks/useMainGridSelectionActions.ts | 2 +- .../web/src/common/hooks/useMetaContext.ts | 2 +- .../web/src/common/hooks/useMovementEvent.ts | 6 +- .../src/common/hooks/useOpenAtCursor.test.ts | 2 +- .../web/src/common/hooks/useOpenAtCursor.ts | 9 +- .../common/hooks/usePointerPosition.test.tsx | 2 +- .../src/common/hooks/usePointerState.test.ts | 6 +- .../web/src/common/hooks/usePointerState.ts | 2 +- packages/web/src/common/hooks/useResizeId.ts | 2 +- .../src/common/hooks/useUpdateEvent.test.ts | 4 +- .../web/src/common/hooks/useUpdateEvent.ts | 8 +- .../src/common/parsers/dirty.parser.test.ts | 2 +- .../web/src/common/parsers/dirty.parser.ts | 2 +- .../src/common/parsers/view.parser.test.ts | 2 +- .../web/src/common/parsers/view.parser.ts | 6 +- .../event/event.repository.interface.ts | 10 +- .../event/event.repository.util.ts | 2 +- .../event/local.event.repository.test.ts | 8 +- .../event/local.event.repository.ts | 14 +- .../event/remote.event.repository.test.ts | 6 +- .../event/remote.event.repository.ts | 12 +- .../task/cloud.task.repository.ts | 4 +- .../task/local.task.repository.ts | 4 +- .../repositories/task/task.repository.ts | 2 +- .../repositories/task/task.repository.util.ts | 2 +- .../task-storage-migration.service.test.ts | 2 +- .../task/task-storage-migration.service.ts | 2 +- .../web/src/common/storage/adapter/adapter.ts | 2 +- .../storage/adapter/indexeddb.adapter.test.ts | 2 +- .../storage/adapter/indexeddb.adapter.ts | 12 +- .../adapter/legacy-primary-key.migration.ts | 6 +- .../common/storage/adapter/storage.adapter.ts | 4 +- .../data/task-id-to-underscore-id.test.ts | 2 +- .../data/task-id-to-underscore-id.ts | 9 +- .../external/demo-data-seed.test.ts | 27 ++-- .../migrations/external/demo-data-seed.ts | 10 +- .../external/localstorage-tasks.test.ts | 2 +- .../migrations/external/localstorage-tasks.ts | 6 +- .../storage/migrations/migration.types.ts | 2 +- .../common/storage/migrations/migrations.ts | 4 +- .../web/src/common/store/helpers/index.ts | 8 +- .../web/src/common/styles/default-theme.d.ts | 6 +- packages/web/src/common/styles/theme.ts | 6 +- packages/web/src/common/types/dnd.types.ts | 2 +- packages/web/src/common/types/util.types.ts | 2 +- .../web/src/common/types/web.event.types.ts | 4 +- .../utils/auth/google-auth.util.test.ts | 2 +- .../src/common/utils/auth/google-auth.util.ts | 2 +- .../utils/datetime/web.date.util.test.ts | 2 +- .../common/utils/datetime/web.date.util.ts | 8 +- .../utils/datetime/web.datetime.util.ts | 6 +- .../common/utils/dom/event-emitter.util.ts | 2 +- .../dom/event-target-visibility.util.test.ts | 2 +- .../utils/dom/event-target-visibility.util.ts | 2 +- .../utils/dom/grid-organization.util.ts | 2 +- .../web/src/common/utils/draft/draft.util.ts | 12 +- .../utils/draft/someday.draft.util.test.ts | 2 +- .../common/utils/draft/someday.draft.util.ts | 6 +- .../src/common/utils/event/event.util.test.ts | 4 +- .../web/src/common/utils/event/event.util.ts | 22 +-- .../utils/event/someday.event.util.test.ts | 6 +- .../common/utils/event/someday.event.util.ts | 8 +- .../src/common/utils/grid/assign.row.test.ts | 2 +- .../web/src/common/utils/grid/assign.row.ts | 4 +- .../web/src/common/utils/grid/grid.util.ts | 9 +- .../src/common/utils/mouse/mouse.util.test.ts | 2 +- .../web/src/common/utils/mouse/mouse.util.ts | 2 +- .../src/common/utils/overlap/overlap.test.ts | 2 +- .../web/src/common/utils/overlap/overlap.ts | 2 +- .../common/utils/position/position.util.ts | 6 +- .../utils/shortcut/data/shortcuts.data.ts | 2 +- .../common/utils/shortcut/shortcut.util.tsx | 2 +- .../common/utils/storage/auth-state.util.ts | 2 +- .../src/common/utils/storage/storage.util.ts | 4 +- .../utils/sync/local-event-sync.util.test.ts | 2 +- .../utils/sync/local-event-sync.util.ts | 4 +- .../src/common/utils/task/sort.task.test.ts | 2 +- .../web/src/common/utils/task/sort.task.ts | 2 +- .../common/utils/toast/error-toast.util.ts | 7 +- .../utils/toast/session-expired.toast.tsx | 2 +- .../validators/grid.event.validator.test.ts | 2 +- .../common/validators/grid.event.validator.ts | 6 +- .../validators/someday.event.validator.ts | 4 +- .../AbsoluteOverflowLoader.tsx | 6 +- .../src/components/AuthModal/AccountIcon.tsx | 2 +- .../components/AuthModal/AuthModal.test.tsx | 2 +- .../src/components/AuthModal/AuthModal.tsx | 7 +- .../AuthModal/AuthModalProvider.tsx | 2 +- .../AuthModal/components/AuthButton.tsx | 2 +- .../AuthModal/components/AuthInput.tsx | 2 +- .../AuthModal/forms/ForgotPasswordForm.tsx | 4 +- .../components/AuthModal/forms/LogInForm.tsx | 7 +- .../components/AuthModal/forms/SignUpForm.tsx | 7 +- .../AuthModal/hooks/useAuthUrlParam.ts | 2 +- .../components/AuthModal/hooks/useZodForm.ts | 10 +- packages/web/src/components/Button/styled.ts | 2 +- .../CompassProvider/CompassProvider.tsx | 2 +- .../components/ContextMenu/ContextMenu.tsx | 4 +- .../ContextMenu/ContextMenuItems.test.tsx | 6 +- .../ContextMenu/ContextMenuItems.tsx | 5 +- .../ContextMenu/GridContextMenuWrapper.tsx | 3 +- .../web/src/components/DND/DNDContext.tsx | 2 +- .../web/src/components/DND/DNDOverlay.tsx | 6 +- packages/web/src/components/DND/Draggable.tsx | 16 +- packages/web/src/components/DND/Droppable.tsx | 12 +- packages/web/src/components/DND/Resizable.tsx | 12 +- .../src/components/DatePicker/DatePicker.tsx | 5 +- .../web/src/components/Divider/Divider.tsx | 6 +- packages/web/src/components/Divider/styled.ts | 2 +- .../FloatingEventForm/FloatingEventForm.tsx | 6 +- .../src/components/Focusable/Focusable.tsx | 10 +- .../src/components/IconButton/IconButton.tsx | 4 +- .../components/IconProvider/IconProvider.tsx | 2 +- .../web/src/components/Icons/icon.types.ts | 2 +- packages/web/src/components/Icons/styled.ts | 2 +- packages/web/src/components/Input/Input.tsx | 12 +- .../LoginAbsoluteOverflowLoader.tsx | 6 +- .../src/components/MobileGate/MobileGate.tsx | 2 +- .../components/OverlayPanel/OverlayPanel.tsx | 2 +- .../src/components/Shortcuts/ShortcutHint.tsx | 2 +- .../src/components/Shortcuts/ShortcutList.tsx | 2 +- .../ShortcutOverlay/ShortcutSection.tsx | 2 +- .../ShortcutOverlay/ShortcutsOverlay.tsx | 2 +- .../web/src/components/Textarea/Textarea.tsx | 6 +- .../web/src/components/Textarea/styled.ts | 2 +- packages/web/src/components/Textarea/types.ts | 6 +- .../Description/TooltipDescription.tsx | 2 +- .../web/src/components/Tooltip/Tooltip.tsx | 6 +- .../src/components/Tooltip/TooltipWrapper.tsx | 4 +- .../web/src/components/Tooltip/useTooltip.ts | 2 +- .../components/oauth/google/GoogleButton.tsx | 2 +- .../components/oauth/google/useGoogleLogin.ts | 2 +- .../web/src/components/oauth/ouath.types.ts | 2 +- .../ducks/auth/selectors/auth.selectors.ts | 2 +- .../web/src/ducks/auth/slices/auth.slice.ts | 2 +- packages/web/src/ducks/events/event.api.ts | 12 +- packages/web/src/ducks/events/event.types.ts | 24 +-- .../ducks/events/sagas/event.sagas.test.ts | 44 +++--- .../web/src/ducks/events/sagas/event.sagas.ts | 40 ++--- .../web/src/ducks/events/sagas/saga.util.ts | 20 +-- .../ducks/events/sagas/someday.sagas.test.ts | 6 +- .../src/ducks/events/sagas/someday.sagas.ts | 12 +- .../ducks/events/selectors/draft.selectors.ts | 2 +- .../ducks/events/selectors/event.selectors.ts | 6 +- .../selectors/pending.selectors.test.ts | 2 +- .../events/selectors/pending.selectors.ts | 2 +- .../events/selectors/someday.selectors.ts | 4 +- .../ducks/events/selectors/sync.selector.ts | 2 +- .../ducks/events/selectors/util.selectors.ts | 4 +- .../ducks/events/selectors/view.selectors.ts | 2 +- .../web/src/ducks/events/slices/day.slice.ts | 10 +- .../src/ducks/events/slices/draft.slice.ts | 8 +- .../ducks/events/slices/draft.slice.types.ts | 11 +- .../src/ducks/events/slices/event.slice.ts | 30 ++-- .../ducks/events/slices/event.slice.util.ts | 13 +- .../src/ducks/events/slices/pending.slice.ts | 2 +- .../src/ducks/events/slices/someday.slice.ts | 10 +- .../events/slices/someday.slice.types.ts | 2 +- .../web/src/ducks/events/slices/sync.slice.ts | 4 +- .../web/src/ducks/events/slices/view.slice.ts | 2 +- .../web/src/ducks/events/slices/week.slice.ts | 10 +- .../settings/selectors/settings.selectors.ts | 2 +- packages/web/src/routers/index.tsx | 4 +- packages/web/src/routers/loaders.ts | 4 +- packages/web/src/socket/hooks/useGcalSync.ts | 2 +- .../src/socket/provider/SocketProvider.tsx | 2 +- packages/web/src/store/events.test.ts | 2 +- packages/web/src/store/events.ts | 2 +- packages/web/src/store/store.hooks.ts | 8 +- .../src/views/Calendar/Calendar.form.test.tsx | 2 +- packages/web/src/views/Calendar/Calendar.tsx | 2 +- .../Calendar/calendar.render.test.utils.ts | 2 +- .../src/views/Calendar/calendarView.types.ts | 2 +- .../views/Calendar/components/Draft/Draft.tsx | 6 +- .../components/Draft/context/DraftContext.tsx | 11 +- .../Draft/context/DraftProvider.tsx | 8 +- .../components/Draft/context/useDraft.test.ts | 2 +- .../components/Draft/grid/GridDraft.tsx | 12 +- .../Draft/grid/hooks/useGridMouseMove.ts | 2 +- .../Draft/grid/hooks/useGridMouseUp.ts | 2 +- .../Draft/hooks/actions/submit.parser.test.ts | 4 +- .../Draft/hooks/actions/submit.parser.ts | 6 +- .../Draft/hooks/actions/useDraftActions.ts | 38 ++--- .../Draft/hooks/effects/useDraftEffects.ts | 7 +- .../Draft/hooks/state/useDraftConfirmation.ts | 4 +- .../Draft/hooks/state/useDraftForm.ts | 4 +- .../Draft/hooks/state/useDraftState.ts | 4 +- .../sidebar/context/SidebarDraftContext.tsx | 7 +- .../sidebar/context/SidebarDraftProvider.tsx | 6 +- .../Draft/sidebar/hooks/MigrationToast.tsx | 2 +- .../Draft/sidebar/hooks/useSidebarActions.ts | 20 +-- .../Draft/sidebar/hooks/useSidebarEffects.ts | 4 +- .../Draft/sidebar/hooks/useSidebarState.ts | 8 +- .../Event/Grid/GridEvent/GridEvent.test.tsx | 6 +- .../Event/Grid/GridEvent/GridEvent.tsx | 17 +-- .../GridEventPreview/GridEventPreview.tsx | 12 +- .../Grid/GridEventPreview/snap.grid.test.ts | 6 +- .../Event/Grid/GridEventPreview/snap.grid.ts | 2 +- .../Event/Grid/GridEventPreview/styled.ts | 2 +- .../views/Calendar/components/Event/styled.ts | 2 +- .../components/Grid/AllDayRow/AllDayEvent.tsx | 8 +- .../Grid/AllDayRow/AllDayEvents.test.tsx | 6 +- .../Grid/AllDayRow/AllDayEvents.tsx | 8 +- .../components/Grid/AllDayRow/AllDayRow.tsx | 10 +- .../Grid/Columns/MainGridColumns.tsx | 4 +- .../views/Calendar/components/Grid/Grid.tsx | 12 +- .../EdgeNavigationIndicators.tsx | 4 +- .../components/Grid/MainGrid/MainGrid.tsx | 10 +- .../Grid/MainGrid/MainGridEvents.test.tsx | 6 +- .../Grid/MainGrid/MainGridEvents.tsx | 8 +- .../Calendar/components/Grid/grid.types.ts | 2 +- .../Calendar/components/Header/DayLabels.tsx | 4 +- .../Calendar/components/Header/Header.tsx | 10 +- .../components/Header/Reminder/Reminder.tsx | 5 +- .../Calendar/components/NowLine/NowLine.tsx | 3 +- .../views/Calendar/components/Shortcuts.tsx | 2 +- .../MonthPicker/SidebarMonthPicker.tsx | 4 +- .../components/Sidebar/MonthTab/MonthTab.tsx | 4 +- .../SubCalendarList/SubCalendarList.tsx | 2 +- .../Sidebar/Sidebar.render.test.tsx | 4 +- .../Calendar/components/Sidebar/Sidebar.tsx | 11 +- .../SomedayTab/MonthSection/MonthSection.tsx | 10 +- .../DraggableSomedayEvent.tsx | 7 +- .../DraggableSomedayEvents.tsx | 7 +- .../SomedayEvent/SomedayEvent.tsx | 18 ++- .../SomedayEvents/SomedayEvent/styled.ts | 9 +- .../SomedayEventContainer.test.tsx | 13 +- .../SomedayEventContainer.tsx | 14 +- .../SomedayEventRectangle.tsx | 6 +- .../SomedayEvents/SomedayEvents.tsx | 10 +- .../SomedayEventsContainer.tsx | 5 +- .../Sidebar/SomedayTab/SomedayTab.tsx | 10 +- .../SomedayTab/WeekSection/WeekSection.tsx | 10 +- .../WeekSection/useWeekLabel.test.tsx | 2 +- .../SomedayTab/WeekSection/useWeekLabel.ts | 2 +- .../components/Sidebar/sidebar.types.ts | 2 +- .../Calendar/components/Sidebar/styled.ts | 2 +- .../views/Calendar/hooks/grid/useDateCalcs.ts | 6 +- .../hooks/grid/useDragEdgeNavigation.ts | 6 +- .../hooks/grid/useDragEventSmartScroll.ts | 2 +- .../hooks/grid/useGridEventMouseDown.test.ts | 2 +- .../hooks/grid/useGridEventMouseDown.ts | 6 +- .../views/Calendar/hooks/grid/useScroll.ts | 2 +- .../Calendar/hooks/mouse/useEventListener.ts | 2 +- .../hooks/shortcuts/useWeekShortcuts.ts | 8 +- .../web/src/views/Calendar/hooks/useWeek.ts | 4 +- packages/web/src/views/Calendar/styled.tsx | 2 +- .../web/src/views/CmdPalette/CmdPalette.tsx | 2 +- .../AddTask/AddTaskActiveButton.tsx | 3 +- .../Day/components/Agenda/Agenda.test.tsx | 2 +- .../views/Day/components/Agenda/Agenda.tsx | 2 +- .../AgendaEventPreview/AgendaEventPreview.tsx | 4 +- .../AllDayAgendaEvent.test.tsx | 2 +- .../AllDayAgendaEvent/AllDayAgendaEvent.tsx | 4 +- .../AllDayAgendaEvent/AllDayAgendaEvents.tsx | 6 +- .../DraggableAllDayAgendaEvent.test.tsx | 4 +- .../DraggableAllDayAgendaEvent.tsx | 4 +- .../DraggableTimedAgendaEvent.test.tsx | 4 +- .../DraggableTimedAgendaEvent.tsx | 8 +- .../TimedAgendaEvent.test.tsx | 2 +- .../TimedAgendaEvent/TimedAgendaEvent.tsx | 4 +- .../TimedAgendaEvent/TimedAgendaEvents.tsx | 8 +- .../ContextMenu/BaseContextMenu.tsx | 11 +- .../ContextMenu/EventContextMenu.test.tsx | 4 +- .../ContextMenu/EventContextMenu.tsx | 4 +- .../EventContextMenuItems.test.tsx | 4 +- .../ContextMenu/EventContextMenuItems.tsx | 3 +- .../ContextMenu/TaskContextMenu.tsx | 4 +- .../ContextMenu/TaskContextMenuItems.tsx | 2 +- .../ContextMenu/TaskContextMenuWrapper.tsx | 5 +- .../views/Day/components/Header/Header.tsx | 2 +- .../Day/components/Shortcuts/ShortcutTip.tsx | 2 +- .../components/Task/DraggableTask.test.tsx | 5 +- .../Day/components/Task/DraggableTask.tsx | 4 +- .../views/Day/components/Task/Task.test.tsx | 2 +- .../src/views/Day/components/Task/Task.tsx | 5 +- .../Day/components/TaskList/TaskList.test.tsx | 2 +- .../Day/components/TaskList/TaskList.tsx | 3 +- .../views/Day/components/Tasks/Tasks.test.tsx | 4 +- .../components/Tasks/useTaskListInputFocus.ts | 2 +- .../Toasts/MigrationToast/MigrationToast.tsx | 2 +- .../Toasts/UndoToast/UndoDeleteToast.tsx | 2 +- .../src/views/Day/context/DNDTasksContext.tsx | 16 +- .../Day/context/DateNavigationContext.tsx | 4 +- .../web/src/views/Day/context/TaskContext.tsx | 5 +- .../context/__tests__/TaskContext.test.tsx | 4 +- .../events/useAgendaInteractionsAtCursor.ts | 2 +- .../views/Day/hooks/events/useDayEvents.ts | 2 +- .../hooks/events/useOpenAgendaEventPreview.ts | 2 +- .../hooks/events/useOpenEventContextMenu.ts | 2 +- .../tasks/useLoadTasksByDateEffect.test.ts | 4 +- .../hooks/tasks/useLoadTasksByDateEffect.ts | 11 +- .../tasks/useSaveTasksByDateEffect.test.ts | 4 +- .../hooks/tasks/useSaveTasksByDateEffect.ts | 6 +- .../Day/hooks/tasks/useTaskActions.test.ts | 4 +- .../views/Day/hooks/tasks/useTaskActions.ts | 6 +- .../Day/hooks/tasks/useTaskState.test.ts | 4 +- .../src/views/Day/hooks/tasks/useTaskState.ts | 4 +- .../views/Day/util/agenda/agenda.util.test.ts | 4 +- .../src/views/Day/util/agenda/agenda.util.ts | 8 +- .../web/src/views/Day/util/day.test-util.tsx | 7 +- .../views/Forms/ActionsMenu/ActionsMenu.tsx | 11 +- .../views/Forms/ActionsMenu/MenuItem.test.tsx | 2 +- .../src/views/Forms/ActionsMenu/MenuItem.tsx | 4 +- .../DateControlsSection.tsx | 4 +- .../DatePickers/DatePickers.tsx | 5 +- .../DateTimeSection/DateTimeSection.tsx | 9 +- .../DateTimeSection/TimePicker/TimePicker.tsx | 8 +- .../TimePicker/TimePickers.tsx | 10 +- .../RecurrenceSection.test.tsx | 2 +- .../RecurrenceSection/RecurrenceSection.tsx | 6 +- .../components/CaretInput.tsx | 2 +- .../components/EndsOnDate.tsx | 3 +- .../components/FreqSelect.tsx | 2 +- .../components/RecurrenceIntervalSelect.tsx | 2 +- .../components/RecurrenceToggle.tsx | 3 +- .../RecurrenceSection/components/WeekDay.tsx | 2 +- .../RecurrenceSection/components/WeekDays.tsx | 2 +- .../useRecurrence/useRecurrence.test.ts | 2 +- .../useRecurrence/useRecurrence.ts | 20 +-- .../RecurrenceSection/util/recurrence.util.ts | 7 +- .../Forms/EventForm/DeleteMenuButton.tsx | 2 +- .../Forms/EventForm/DuplicateMenuButton.tsx | 2 +- .../views/Forms/EventForm/EventActionMenu.tsx | 2 +- .../views/Forms/EventForm/EventForm.test.tsx | 2 +- .../src/views/Forms/EventForm/EventForm.tsx | 20 ++- .../EventForm/MigrateAboveMenuButton.tsx | 2 +- .../EventForm/MigrateBackwardMenuButton.tsx | 2 +- .../EventForm/MigrateBelowMenuButton.tsx | 2 +- .../EventForm/MigrateForwardMenuButton.tsx | 2 +- .../EventForm/MoveToSidebarMenuButton.tsx | 2 +- .../PrioritySection/PrioritySection.tsx | 6 +- .../RecurringEventUpdateScopeDialog.tsx | 2 +- .../EventForm/SaveSection/SaveSection.tsx | 5 +- .../web/src/views/Forms/EventForm/styled.ts | 2 +- .../web/src/views/Forms/EventForm/types.ts | 10 +- .../SomedayEventActionMenu.tsx | 2 +- .../SomedayEventForm.test.tsx | 6 +- .../SomedayEventForm/SomedayEventForm.tsx | 9 +- .../SomedayRecurrenceSection.test.tsx | 14 +- .../SomedayRecurrenceSection.tsx | 6 +- .../SomedayRecurrenceSelect.tsx | 10 +- .../useSomedayFormShortcuts.test.tsx | 6 +- .../useSomedayFormShortcuts.ts | 8 +- .../views/Forms/hooks/useDeleteEvent.test.ts | 4 +- .../Forms/hooks/useDuplicateEvent.test.ts | 2 +- .../web/src/views/Forms/hooks/useEventForm.ts | 4 +- .../src/views/Forms/hooks/useOpenEventForm.ts | 6 +- .../src/views/Forms/hooks/useSaveEventForm.ts | 6 +- .../AvailableTasks/AvailableTasks.tsx | 2 +- .../components/FocusedTask/FocusedTask.tsx | 2 +- .../TaskDescription/TaskDescription.tsx | 3 +- .../TaskSelector/TaskSelector.test.tsx | 9 +- .../src/views/Now/context/NowViewProvider.tsx | 5 +- .../views/Now/hooks/useAvailableTasks.test.ts | 2 +- .../src/views/Now/hooks/useAvailableTasks.ts | 4 +- .../views/Now/hooks/useFocusedTask.test.ts | 2 +- .../web/src/views/Now/hooks/useFocusedTask.ts | 2 +- .../views/Now/shortcuts/useNowShortcuts.ts | 2 +- 579 files changed, 1780 insertions(+), 1590 deletions(-) diff --git a/packages/backend/src/__tests__/drivers/email.driver.ts b/packages/backend/src/__tests__/drivers/email.driver.ts index 2d04f43fe..8c41b0664 100644 --- a/packages/backend/src/__tests__/drivers/email.driver.ts +++ b/packages/backend/src/__tests__/drivers/email.driver.ts @@ -1,10 +1,10 @@ import { faker } from "@faker-js/faker"; -import { Subscriber } from "@core/types/email/email.types"; +import { type Subscriber } from "@core/types/email/email.types"; import dayjs from "@core/util/date/dayjs"; import EmailService from "@backend/email/email.service"; import { - Response_TagSubscriber, - Response_UpsertSubscriber, + type Response_TagSubscriber, + type Response_UpsertSubscriber, } from "@backend/email/email.types"; export class EmailDriver { diff --git a/packages/backend/src/__tests__/drivers/event.driver.ts b/packages/backend/src/__tests__/drivers/event.driver.ts index a1ef4cd71..8bf1e0a95 100644 --- a/packages/backend/src/__tests__/drivers/event.driver.ts +++ b/packages/backend/src/__tests__/drivers/event.driver.ts @@ -1,5 +1,5 @@ import { ObjectId } from "mongodb"; -import { z } from "zod/v4"; +import { type z } from "zod/v4"; import Migration from "@scripts/migrations/2025.10.18T20.01.14.migrate-events-to-new-events-collection"; import { Origin, Priorities } from "@core/constants/core.constants"; import { UserDriver } from "@backend/__tests__/drivers/user.driver"; @@ -41,8 +41,8 @@ export class EventDriver { }); const recurringEventIds = new Map([ - [gcalAllDayEvents.gcalEvents.recurring.id!, new ObjectId()], - [gcalTimedEvents.gcalEvents.recurring.id!, new ObjectId()], + [gcalAllDayEvents.gcalEvents.recurring.id, new ObjectId()], + [gcalTimedEvents.gcalEvents.recurring.id, new ObjectId()], ]); const gcalEvents = [ diff --git a/packages/backend/src/__tests__/drivers/sync.controller.driver.ts b/packages/backend/src/__tests__/drivers/sync.controller.driver.ts index b744fd7eb..6dc0363cc 100644 --- a/packages/backend/src/__tests__/drivers/sync.controller.driver.ts +++ b/packages/backend/src/__tests__/drivers/sync.controller.driver.ts @@ -5,8 +5,8 @@ import { IMPORT_GCAL_START, } from "@core/constants/websocket.constants"; import { Status } from "@core/errors/status.codes"; -import { Payload_Sync_Notif } from "@core/types/sync.types"; -import { BaseDriver } from "@backend/__tests__/drivers/base.driver"; +import { type Payload_Sync_Notif } from "@core/types/sync.types"; +import { type BaseDriver } from "@backend/__tests__/drivers/base.driver"; import { encodeChannelToken } from "@backend/sync/util/watch.util"; export class SyncControllerDriver { diff --git a/packages/backend/src/__tests__/drivers/sync.driver.ts b/packages/backend/src/__tests__/drivers/sync.driver.ts index b6e23fdce..546fce887 100644 --- a/packages/backend/src/__tests__/drivers/sync.driver.ts +++ b/packages/backend/src/__tests__/drivers/sync.driver.ts @@ -1,7 +1,7 @@ -import { ObjectId, WithId } from "mongodb"; +import { ObjectId, type WithId } from "mongodb"; import { faker } from "@faker-js/faker"; -import { Resource_Sync, Schema_Sync } from "@core/types/sync.types"; -import { Schema_User } from "@core/types/user.types"; +import { Resource_Sync, type Schema_Sync } from "@core/types/sync.types"; +import { type Schema_User } from "@core/types/user.types"; import dayjs from "@core/util/date/dayjs"; import { UserDriver } from "@backend/__tests__/drivers/user.driver"; import { getGcalClient } from "@backend/auth/services/google.auth.service"; diff --git a/packages/backend/src/__tests__/drivers/user.controller.driver.ts b/packages/backend/src/__tests__/drivers/user.controller.driver.ts index 8cccc469e..e3f38fb97 100644 --- a/packages/backend/src/__tests__/drivers/user.controller.driver.ts +++ b/packages/backend/src/__tests__/drivers/user.controller.driver.ts @@ -1,7 +1,7 @@ -import request from "supertest"; +import type request from "supertest"; import { Status } from "@core/errors/status.codes"; -import { UserProfile } from "@core/types/user.types"; -import { BaseDriver } from "@backend/__tests__/drivers/base.driver"; +import { type UserProfile } from "@core/types/user.types"; +import { type BaseDriver } from "@backend/__tests__/drivers/base.driver"; export class UserControllerDriver { constructor(private readonly baseDriver: BaseDriver) {} diff --git a/packages/backend/src/__tests__/drivers/user.driver.ts b/packages/backend/src/__tests__/drivers/user.driver.ts index c70bd50b2..6ec0dcaf8 100644 --- a/packages/backend/src/__tests__/drivers/user.driver.ts +++ b/packages/backend/src/__tests__/drivers/user.driver.ts @@ -1,7 +1,7 @@ -import { TokenPayload } from "google-auth-library"; -import { ObjectId, WithId } from "mongodb"; +import { type TokenPayload } from "google-auth-library"; +import { ObjectId, type WithId } from "mongodb"; import { faker } from "@faker-js/faker"; -import { Schema_User } from "@core/types/user.types"; +import { type Schema_User } from "@core/types/user.types"; import userService from "../../user/services/user.service"; export class UserDriver { diff --git a/packages/backend/src/__tests__/drivers/util.driver.ts b/packages/backend/src/__tests__/drivers/util.driver.ts index 44c5aae9d..babd1230e 100644 --- a/packages/backend/src/__tests__/drivers/util.driver.ts +++ b/packages/backend/src/__tests__/drivers/util.driver.ts @@ -1,5 +1,5 @@ -import { WithId } from "mongodb"; -import { Schema_User } from "@core/types/user.types"; +import { type WithId } from "mongodb"; +import { type Schema_User } from "@core/types/user.types"; import { SyncDriver } from "@backend/__tests__/drivers/sync.driver"; import { UserDriver } from "@backend/__tests__/drivers/user.driver"; diff --git a/packages/backend/src/__tests__/helpers/mock.events.init.ts b/packages/backend/src/__tests__/helpers/mock.events.init.ts index 663a1afb9..a54d4edf2 100644 --- a/packages/backend/src/__tests__/helpers/mock.events.init.ts +++ b/packages/backend/src/__tests__/helpers/mock.events.init.ts @@ -1,13 +1,13 @@ -import { ObjectId, WithoutId } from "mongodb"; -import { Options } from "rrule"; +import { ObjectId, type WithoutId } from "mongodb"; +import { type Options } from "rrule"; import { calendar } from "@googleapis/calendar"; import { Origin } from "@core/constants/core.constants"; import { MapEvent } from "@core/mappers/map.event"; -import { Schema_Event, WithCompassId } from "@core/types/event.types"; +import { type Schema_Event, type WithCompassId } from "@core/types/event.types"; import { - gSchema$Event, - gSchema$EventBase, - gSchema$EventInstance, + type gSchema$Event, + type gSchema$EventBase, + type gSchema$EventInstance, } from "@core/types/gcal"; import { isBase } from "@core/util/event/event.util"; import { mockGcalEvents } from "@backend/__tests__/mocks.gcal/factories/gcal.event.factory"; diff --git a/packages/backend/src/__tests__/helpers/mock.setup.ts b/packages/backend/src/__tests__/helpers/mock.setup.ts index ff47c5eed..dc298ea04 100644 --- a/packages/backend/src/__tests__/helpers/mock.setup.ts +++ b/packages/backend/src/__tests__/helpers/mock.setup.ts @@ -1,26 +1,26 @@ -import { Handler, NextFunction, Response } from "express"; +import { type Handler, type NextFunction, type Response } from "express"; import mergeWith from "lodash.mergewith"; import { randomUUID } from "node:crypto"; -import { SessionRequest } from "supertokens-node/framework/express"; +import { type SessionRequest } from "supertokens-node/framework/express"; import { - ExpressRequest, - ExpressResponse, + type ExpressRequest, + type ExpressResponse, } from "supertokens-node/lib/build/framework/express/framework"; import { - APIOptions, - SessionContainerInterface, - VerifySessionOptions, + type APIOptions, + type SessionContainerInterface, + type VerifySessionOptions, } from "supertokens-node/lib/build/recipe/session/types"; -import { UserContext } from "supertokens-node/lib/build/types"; +import { type UserContext } from "supertokens-node/lib/build/types"; import { createMockCalendarListEntry as mockCalendarListCreate } from "@core/__tests__/helpers/gcal.factory"; import { mockModule } from "@core/__tests__/mock.setup"; -import { gSchema$CalendarListEntry } from "@core/types/gcal"; +import { type gSchema$CalendarListEntry } from "@core/types/gcal"; import { StringV4Schema, zObjectId } from "@core/types/type.utils"; -import { UserMetadata } from "@core/types/user.types"; +import { type UserMetadata } from "@core/types/user.types"; import { mockAndCategorizeGcalEvents } from "@backend/__tests__/mocks.gcal/factories/gcal.event.batch"; import { mockGcal } from "@backend/__tests__/mocks.gcal/factories/gcal.factory"; import { ENV } from "@backend/common/constants/env.constants"; -import { SupertokensAccessTokenPayload } from "@backend/common/types/supertokens.types"; +import { type SupertokensAccessTokenPayload } from "@backend/common/types/supertokens.types"; export interface CompassTestState { events: ReturnType; diff --git a/packages/backend/src/__tests__/mocks.db/ccal.mock.db.util.ts b/packages/backend/src/__tests__/mocks.db/ccal.mock.db.util.ts index 4fa2dcce8..c91473a15 100644 --- a/packages/backend/src/__tests__/mocks.db/ccal.mock.db.util.ts +++ b/packages/backend/src/__tests__/mocks.db/ccal.mock.db.util.ts @@ -1,8 +1,8 @@ import { ObjectId } from "mongodb"; import { - Schema_Event, - Schema_Event_Recur_Base, - Schema_Event_Recur_Instance, + type Schema_Event, + type Schema_Event_Recur_Base, + type Schema_Event_Recur_Instance, } from "@core/types/event.types"; import { createMockBaseEvent, diff --git a/packages/backend/src/__tests__/mocks.gcal/factories/gcal.event.batch.ts b/packages/backend/src/__tests__/mocks.gcal/factories/gcal.event.batch.ts index 3e3e88728..7016ec256 100644 --- a/packages/backend/src/__tests__/mocks.gcal/factories/gcal.event.batch.ts +++ b/packages/backend/src/__tests__/mocks.gcal/factories/gcal.event.batch.ts @@ -1,4 +1,4 @@ -import { gSchema$EventBase } from "@core/types/gcal"; +import { type gSchema$EventBase } from "@core/types/gcal"; import { mockRecurringGcalBaseEvent, mockRecurringGcalInstances, @@ -13,7 +13,7 @@ export const mockAndCategorizeGcalEvents = () => { { summary: "Recurrence" }, false, { count: 3 }, - ) as gSchema$EventBase; + ); // Create instances of the recurring event const instances = mockRecurringGcalInstances(baseRecurringEvent); diff --git a/packages/backend/src/__tests__/mocks.gcal/factories/gcal.event.factory.test.ts b/packages/backend/src/__tests__/mocks.gcal/factories/gcal.event.factory.test.ts index 85066994f..406be6a4a 100644 --- a/packages/backend/src/__tests__/mocks.gcal/factories/gcal.event.factory.test.ts +++ b/packages/backend/src/__tests__/mocks.gcal/factories/gcal.event.factory.test.ts @@ -1,4 +1,4 @@ -import { gSchema$EventInstance } from "@core/types/gcal"; +import { type gSchema$EventInstance } from "@core/types/gcal"; import { mockRecurringGcalBaseEvent, mockRecurringGcalInstances, diff --git a/packages/backend/src/__tests__/mocks.gcal/factories/gcal.event.factory.ts b/packages/backend/src/__tests__/mocks.gcal/factories/gcal.event.factory.ts index a1e947455..357f908e8 100644 --- a/packages/backend/src/__tests__/mocks.gcal/factories/gcal.event.factory.ts +++ b/packages/backend/src/__tests__/mocks.gcal/factories/gcal.event.factory.ts @@ -1,11 +1,11 @@ -import { Options, RRule } from "rrule"; +import { type Options, RRule } from "rrule"; import { faker } from "@faker-js/faker"; import { Origin, Priorities } from "@core/constants/core.constants"; import { - WithGcalId, - gSchema$Event, - gSchema$EventBase, - gSchema$EventInstance, + type WithGcalId, + type gSchema$Event, + type gSchema$EventBase, + type gSchema$EventInstance, } from "@core/types/gcal"; import { formatAs } from "@core/util/date/date.util"; import dayjs from "@core/util/date/dayjs"; diff --git a/packages/backend/src/__tests__/mocks.gcal/factories/gcal.factory.ts b/packages/backend/src/__tests__/mocks.gcal/factories/gcal.factory.ts index 1a2d0f7cc..e398a4ec1 100644 --- a/packages/backend/src/__tests__/mocks.gcal/factories/gcal.factory.ts +++ b/packages/backend/src/__tests__/mocks.gcal/factories/gcal.factory.ts @@ -276,7 +276,7 @@ export const mockGcal = ({ options, 200, "OK", - updatedEvent.id!, + updatedEvent.id, ), ); }, diff --git a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/create/create.ts b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/create/create.ts index 4915fc963..78eb778a5 100644 --- a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/create/create.ts +++ b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/create/create.ts @@ -1,4 +1,4 @@ -import { gSchema$Events } from "@core/types/gcal"; +import { type gSchema$Events } from "@core/types/gcal"; export const createNewRecurringEventPayload: gSchema$Events = { kind: "calendar#events", diff --git a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/all/all-1.ts b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/all/all-1.ts index 7b363d9e9..4bb39edec 100644 --- a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/all/all-1.ts +++ b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/all/all-1.ts @@ -1,4 +1,4 @@ -import { gSchema$Events } from "@core/types/gcal"; +import { type gSchema$Events } from "@core/types/gcal"; export const deleteAllPayload1: gSchema$Events = { kind: "calendar#events", diff --git a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/all/all-2.ts b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/all/all-2.ts index 7ed4d09b8..d916392db 100644 --- a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/all/all-2.ts +++ b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/all/all-2.ts @@ -1,4 +1,4 @@ -import { gSchema$Events } from "@core/types/gcal"; +import { type gSchema$Events } from "@core/types/gcal"; export const deleteAllPayload2: gSchema$Events = { kind: "calendar#events", diff --git a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/single/delete.single-2.ts b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/single/delete.single-2.ts index b8aba1c3d..a8c0a24f8 100644 --- a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/single/delete.single-2.ts +++ b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/single/delete.single-2.ts @@ -1,4 +1,4 @@ -import { gSchema$Events } from "@core/types/gcal"; +import { type gSchema$Events } from "@core/types/gcal"; export const deleteSinglePayload2: gSchema$Events = { kind: "calendar#events", diff --git a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/single/delete.single.ts b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/single/delete.single.ts index c459df2c3..50a4b4a5b 100644 --- a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/single/delete.single.ts +++ b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/single/delete.single.ts @@ -1,4 +1,4 @@ -import { gSchema$Events } from "@core/types/gcal"; +import { type gSchema$Events } from "@core/types/gcal"; export const deleteSinglePayload: gSchema$Events = { kind: "calendar#events", diff --git a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/this-and-following/delete.this-and-following-2.ts b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/this-and-following/delete.this-and-following-2.ts index 2552769c6..f92e9ed21 100644 --- a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/this-and-following/delete.this-and-following-2.ts +++ b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/this-and-following/delete.this-and-following-2.ts @@ -1,4 +1,4 @@ -import { gSchema$Events } from "@core/types/gcal"; +import { type gSchema$Events } from "@core/types/gcal"; export const deleteThisAndFollowingPayload2: gSchema$Events = { kind: "calendar#events", diff --git a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/this-and-following/delete.this-and-following.ts b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/this-and-following/delete.this-and-following.ts index b45430dad..c8911bbc4 100644 --- a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/this-and-following/delete.this-and-following.ts +++ b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/delete/this-and-following/delete.this-and-following.ts @@ -1,4 +1,4 @@ -import { gSchema$Events } from "@core/types/gcal"; +import { type gSchema$Events } from "@core/types/gcal"; export const deleteThisAndFollowingPayload: gSchema$Events = { kind: "calendar#events", diff --git a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/all/all-1.ts b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/all/all-1.ts index 93abd96ad..810e4b803 100644 --- a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/all/all-1.ts +++ b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/all/all-1.ts @@ -1,4 +1,4 @@ -import { gSchema$Events } from "@core/types/gcal"; +import { type gSchema$Events } from "@core/types/gcal"; export const allPayload1: gSchema$Events = { kind: "calendar#events", diff --git a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/all/all-2.ts b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/all/all-2.ts index 48de40cdc..f23e9a9a7 100644 --- a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/all/all-2.ts +++ b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/all/all-2.ts @@ -1,4 +1,4 @@ -import { gSchema$Events } from "@core/types/gcal"; +import { type gSchema$Events } from "@core/types/gcal"; export const allPayload2: gSchema$Events = { kind: "calendar#events", diff --git a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/single/single.instance-1.ts b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/single/single.instance-1.ts index 48eb5f1cc..c48c10f17 100644 --- a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/single/single.instance-1.ts +++ b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/single/single.instance-1.ts @@ -1,4 +1,4 @@ -import { gSchema$Events } from "@core/types/gcal"; +import { type gSchema$Events } from "@core/types/gcal"; export const singleInstance1Payload: gSchema$Events = { kind: "calendar#events", diff --git a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/single/single.instance-2.ts b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/single/single.instance-2.ts index a2a54ea51..cf0b4a7cd 100644 --- a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/single/single.instance-2.ts +++ b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/single/single.instance-2.ts @@ -1,4 +1,4 @@ -import { gSchema$Events } from "@core/types/gcal"; +import { type gSchema$Events } from "@core/types/gcal"; export const singleInstance2Payload: gSchema$Events = { kind: "calendar#events", diff --git a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/single/single.instance-3.ts b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/single/single.instance-3.ts index d2d398e98..e2797ba26 100644 --- a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/single/single.instance-3.ts +++ b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/single/single.instance-3.ts @@ -1,4 +1,4 @@ -import { gSchema$Events } from "@core/types/gcal"; +import { type gSchema$Events } from "@core/types/gcal"; /** * Payload with instances that were each edited individually diff --git a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/this-and-following/this-and-following-1.ts b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/this-and-following/this-and-following-1.ts index 803ff44e0..d3fc82ffd 100644 --- a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/this-and-following/this-and-following-1.ts +++ b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/this-and-following/this-and-following-1.ts @@ -1,4 +1,4 @@ -import { gSchema$Events } from "@core/types/gcal"; +import { type gSchema$Events } from "@core/types/gcal"; export const thisAndFollowing1Payload: gSchema$Events = { kind: "calendar#events", diff --git a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/this-and-following/this-and-following-2.ts b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/this-and-following/this-and-following-2.ts index cf7c43c95..a936e6281 100644 --- a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/this-and-following/this-and-following-2.ts +++ b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/this-and-following/this-and-following-2.ts @@ -1,4 +1,4 @@ -import { gSchema$Events } from "@core/types/gcal"; +import { type gSchema$Events } from "@core/types/gcal"; export const thisAndFollowing2Payload: gSchema$Events = { kind: "calendar#events", diff --git a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/this-and-following/this-and-following-3.ts b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/this-and-following/this-and-following-3.ts index 50e7d709d..3d641f416 100644 --- a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/this-and-following/this-and-following-3.ts +++ b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/this-and-following/this-and-following-3.ts @@ -1,4 +1,4 @@ -import { gSchema$Events } from "@core/types/gcal"; +import { type gSchema$Events } from "@core/types/gcal"; export const thisAndFollowing3Payload: gSchema$Events = { kind: "calendar#events", diff --git a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/this-and-following/this-and-following-4.ts b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/this-and-following/this-and-following-4.ts index 9adb21e89..714b0b806 100644 --- a/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/this-and-following/this-and-following-4.ts +++ b/packages/backend/src/__tests__/mocks.gcal/fixtures/recurring/edit/this-and-following/this-and-following-4.ts @@ -1,4 +1,4 @@ -import { gSchema$Events } from "@core/types/gcal"; +import { type gSchema$Events } from "@core/types/gcal"; export const thisAndFollowing4Payload: gSchema$Events = { kind: "calendar#events", diff --git a/packages/backend/src/auth/auth.routes.config.ts b/packages/backend/src/auth/auth.routes.config.ts index 9bfee1fa1..0de2dd726 100644 --- a/packages/backend/src/auth/auth.routes.config.ts +++ b/packages/backend/src/auth/auth.routes.config.ts @@ -1,4 +1,4 @@ -import express from "express"; +import type express from "express"; import { verifySession } from "supertokens-node/recipe/session/framework/express"; import { CommonRoutesConfig } from "@backend/common/common.routes.config"; import authController from "./controllers/auth.controller"; diff --git a/packages/backend/src/auth/controllers/auth.controller.ts b/packages/backend/src/auth/controllers/auth.controller.ts index c6824cc8b..ce6ed9784 100644 --- a/packages/backend/src/auth/controllers/auth.controller.ts +++ b/packages/backend/src/auth/controllers/auth.controller.ts @@ -1,8 +1,11 @@ import { ObjectId } from "mongodb"; -import { SessionRequest } from "supertokens-node/framework/express"; +import { type SessionRequest } from "supertokens-node/framework/express"; import { zObjectId } from "@core/types/type.utils"; import compassAuthService from "@backend/auth/services/compass.auth.service"; -import { ReqBody, Res_Promise } from "@backend/common/types/express.types"; +import { + type ReqBody, + type Res_Promise, +} from "@backend/common/types/express.types"; class AuthController { createSession = async ( diff --git a/packages/backend/src/auth/middleware/auth.middleware.ts b/packages/backend/src/auth/middleware/auth.middleware.ts index 3b905eb93..d5df558bf 100644 --- a/packages/backend/src/auth/middleware/auth.middleware.ts +++ b/packages/backend/src/auth/middleware/auth.middleware.ts @@ -1,11 +1,11 @@ -import { NextFunction, Request, Response } from "express"; +import { type NextFunction, type Request, type Response } from "express"; import { COMPASS_RESOURCE_HEADER } from "@core/constants/core.constants"; import { Status } from "@core/errors/status.codes"; import { ENV, IS_DEV } from "@backend/common/constants/env.constants"; import { AuthError } from "@backend/common/errors/auth/auth.errors"; import { error } from "@backend/common/errors/handlers/error.handler"; import { GcalError } from "@backend/common/errors/integration/gcal/gcal.errors"; -import { SReqBody } from "@backend/common/types/express.types"; +import { type SReqBody } from "@backend/common/types/express.types"; import { hasGoogleHeaders } from "@backend/sync/util/sync.util"; import { decodeChannelToken } from "@backend/sync/util/watch.util"; diff --git a/packages/backend/src/auth/services/auth.utils.ts b/packages/backend/src/auth/services/auth.utils.ts index ace16fab5..a25cc2f7b 100644 --- a/packages/backend/src/auth/services/auth.utils.ts +++ b/packages/backend/src/auth/services/auth.utils.ts @@ -1,5 +1,5 @@ -import { Credentials } from "google-auth-library"; -import GoogleAuthService from "@backend/auth/services/google.auth.service"; +import { type Credentials } from "google-auth-library"; +import type GoogleAuthService from "@backend/auth/services/google.auth.service"; import { AuthError } from "@backend/common/errors/auth/auth.errors"; import { error } from "@backend/common/errors/handlers/error.handler"; diff --git a/packages/backend/src/auth/services/compass.auth.service.ts b/packages/backend/src/auth/services/compass.auth.service.ts index 733e8de5a..dc8fdf670 100644 --- a/packages/backend/src/auth/services/compass.auth.service.ts +++ b/packages/backend/src/auth/services/compass.auth.service.ts @@ -1,4 +1,4 @@ -import { Credentials, TokenPayload } from "google-auth-library"; +import { type Credentials, type TokenPayload } from "google-auth-library"; import supertokens from "supertokens-node"; import Session from "supertokens-node/recipe/session"; import { Logger } from "@core/logger/winston.logger"; diff --git a/packages/backend/src/auth/services/google.auth.service.test.ts b/packages/backend/src/auth/services/google.auth.service.test.ts index 6ac655539..99757fbc7 100644 --- a/packages/backend/src/auth/services/google.auth.service.test.ts +++ b/packages/backend/src/auth/services/google.auth.service.test.ts @@ -1,7 +1,7 @@ import { GaxiosError } from "gaxios"; import { ObjectId } from "mongodb"; import { faker } from "@faker-js/faker"; -import { Schema_User } from "@core/types/user.types"; +import { type Schema_User } from "@core/types/user.types"; import { getGcalClient } from "@backend/auth/services/google.auth.service"; import { UserError } from "@backend/common/errors/user/user.errors"; import { findCompassUserBy } from "@backend/user/queries/user.queries"; diff --git a/packages/backend/src/auth/services/google.auth.service.ts b/packages/backend/src/auth/services/google.auth.service.ts index b46762c44..e830eed5f 100644 --- a/packages/backend/src/auth/services/google.auth.service.ts +++ b/packages/backend/src/auth/services/google.auth.service.ts @@ -1,14 +1,14 @@ import { GaxiosError } from "gaxios"; -import { OAuth2Client, TokenPayload } from "google-auth-library"; -import { WithId } from "mongodb"; +import { OAuth2Client, type TokenPayload } from "google-auth-library"; +import { type WithId } from "mongodb"; import { calendar } from "@googleapis/calendar"; import { BaseError } from "@core/errors/errors.base"; import { Status } from "@core/errors/status.codes"; import { Logger } from "@core/logger/winston.logger"; -import { UserInfo_Google } from "@core/types/auth.types"; -import { gCalendar } from "@core/types/gcal"; +import { type UserInfo_Google } from "@core/types/auth.types"; +import { type gCalendar } from "@core/types/gcal"; import { StringV4Schema } from "@core/types/type.utils"; -import { Schema_User } from "@core/types/user.types"; +import { type Schema_User } from "@core/types/user.types"; import { ENV } from "@backend/common/constants/env.constants"; import { AuthError } from "@backend/common/errors/auth/auth.errors"; import { error } from "@backend/common/errors/handlers/error.handler"; diff --git a/packages/backend/src/calendar/calendar.routes.config.ts b/packages/backend/src/calendar/calendar.routes.config.ts index 37c9d85bd..57233c4a3 100644 --- a/packages/backend/src/calendar/calendar.routes.config.ts +++ b/packages/backend/src/calendar/calendar.routes.config.ts @@ -1,4 +1,4 @@ -import { Application } from "express"; +import { type Application } from "express"; import { verifySession } from "supertokens-node/recipe/session/framework/express"; import { CommonRoutesConfig } from "@backend/common/common.routes.config"; import calendarController from "./controllers/calendar.controller"; diff --git a/packages/backend/src/calendar/controllers/calendar.controller.ts b/packages/backend/src/calendar/controllers/calendar.controller.ts index d0ab973cf..48b2059d3 100644 --- a/packages/backend/src/calendar/controllers/calendar.controller.ts +++ b/packages/backend/src/calendar/controllers/calendar.controller.ts @@ -1,11 +1,14 @@ -import { SessionRequest } from "supertokens-node/framework/express"; +import { type SessionRequest } from "supertokens-node/framework/express"; import { z } from "zod/v4"; -import { Schema_Calendar } from "@core/types/calendar.types"; +import { type Schema_Calendar } from "@core/types/calendar.types"; import { zObjectId } from "@core/types/type.utils"; import calendarService from "@backend/calendar/services/calendar.service"; import { AuthError } from "@backend/common/errors/auth/auth.errors"; import { error } from "@backend/common/errors/handlers/error.handler"; -import { Res_Promise, SReqBody } from "@backend/common/types/express.types"; +import { + type Res_Promise, + type SReqBody, +} from "@backend/common/types/express.types"; class CalendarController { create = async (req: SReqBody, res: Res_Promise) => { diff --git a/packages/backend/src/calendar/services/calendar.service.ts b/packages/backend/src/calendar/services/calendar.service.ts index ff9d8845d..fd8e68697 100644 --- a/packages/backend/src/calendar/services/calendar.service.ts +++ b/packages/backend/src/calendar/services/calendar.service.ts @@ -1,12 +1,12 @@ -import { ClientSession, ObjectId } from "mongodb"; +import { type ClientSession, type ObjectId } from "mongodb"; import { z } from "zod/v4"; import { MapCalendar } from "@core/mappers/map.calendar"; import { CompassCalendarSchema, - Schema_Calendar, + type Schema_Calendar, } from "@core/types/calendar.types"; import { CalendarProvider } from "@core/types/event.types"; -import { gCalendar } from "@core/types/gcal"; +import { type gCalendar } from "@core/types/gcal"; import { Resource_Sync } from "@core/types/sync.types"; import { zObjectId } from "@core/types/type.utils"; import mongoService from "@backend/common/services/mongo.service"; diff --git a/packages/backend/src/common/common.routes.config.ts b/packages/backend/src/common/common.routes.config.ts index fdca82c2b..8e12cb059 100644 --- a/packages/backend/src/common/common.routes.config.ts +++ b/packages/backend/src/common/common.routes.config.ts @@ -1,4 +1,4 @@ -import express from "express"; +import type express from "express"; export abstract class CommonRoutesConfig { app: express.Application; diff --git a/packages/backend/src/common/constants/env.constants.ts b/packages/backend/src/common/constants/env.constants.ts index a38047e24..024e4cfc8 100644 --- a/packages/backend/src/common/constants/env.constants.ts +++ b/packages/backend/src/common/constants/env.constants.ts @@ -77,4 +77,4 @@ if (!success) { process.exit(1); } -export const ENV = data!; +export const ENV = data; diff --git a/packages/backend/src/common/errors/auth/auth.errors.ts b/packages/backend/src/common/errors/auth/auth.errors.ts index 669daf72b..14f44252d 100644 --- a/packages/backend/src/common/errors/auth/auth.errors.ts +++ b/packages/backend/src/common/errors/auth/auth.errors.ts @@ -1,5 +1,5 @@ import { Status } from "@core/errors/status.codes"; -import { ErrorMetadata } from "@backend/common/types/error.types"; +import { type ErrorMetadata } from "@backend/common/types/error.types"; interface AuthErrors { DevOnly: ErrorMetadata; diff --git a/packages/backend/src/common/errors/db/db.errors.ts b/packages/backend/src/common/errors/db/db.errors.ts index 16cd271f5..b85395af7 100644 --- a/packages/backend/src/common/errors/db/db.errors.ts +++ b/packages/backend/src/common/errors/db/db.errors.ts @@ -1,5 +1,5 @@ import { Status } from "@core/errors/status.codes"; -import { ErrorMetadata } from "@backend/common/types/error.types"; +import { type ErrorMetadata } from "@backend/common/types/error.types"; interface DbErrors { InvalidId: ErrorMetadata; diff --git a/packages/backend/src/common/errors/emailer/emailer.errors.ts b/packages/backend/src/common/errors/emailer/emailer.errors.ts index c7aa95f52..2b60ffd35 100644 --- a/packages/backend/src/common/errors/emailer/emailer.errors.ts +++ b/packages/backend/src/common/errors/emailer/emailer.errors.ts @@ -1,5 +1,5 @@ import { Status } from "@core/errors/status.codes"; -import { ErrorMetadata } from "@backend/common/types/error.types"; +import { type ErrorMetadata } from "@backend/common/types/error.types"; interface EmailerErrors { InvalidTagId: ErrorMetadata; diff --git a/packages/backend/src/common/errors/event/event.errors.ts b/packages/backend/src/common/errors/event/event.errors.ts index 5feadf72c..e98efac7e 100644 --- a/packages/backend/src/common/errors/event/event.errors.ts +++ b/packages/backend/src/common/errors/event/event.errors.ts @@ -1,5 +1,5 @@ import { Status } from "@core/errors/status.codes"; -import { ErrorMetadata } from "@backend/common/types/error.types"; +import { type ErrorMetadata } from "@backend/common/types/error.types"; interface EventErrors { Gone: ErrorMetadata; diff --git a/packages/backend/src/common/errors/generic/generic.errors.ts b/packages/backend/src/common/errors/generic/generic.errors.ts index d8f0f0e59..9b5408b03 100644 --- a/packages/backend/src/common/errors/generic/generic.errors.ts +++ b/packages/backend/src/common/errors/generic/generic.errors.ts @@ -1,5 +1,5 @@ import { Status } from "@core/errors/status.codes"; -import { ErrorMetadata } from "@backend/common/types/error.types"; +import { type ErrorMetadata } from "@backend/common/types/error.types"; interface GenericErrors { BadRequest: ErrorMetadata; diff --git a/packages/backend/src/common/errors/handlers/error.express.handler.ts b/packages/backend/src/common/errors/handlers/error.express.handler.ts index e11b53244..a5058315d 100644 --- a/packages/backend/src/common/errors/handlers/error.express.handler.ts +++ b/packages/backend/src/common/errors/handlers/error.express.handler.ts @@ -1,6 +1,6 @@ -import { Request } from "express"; +import { type Request } from "express"; import { GaxiosError } from "gaxios"; -import { SessionRequest } from "supertokens-node/framework/express"; +import { type SessionRequest } from "supertokens-node/framework/express"; import { GOOGLE_REVOKED } from "@core/constants/websocket.constants"; import { BaseError } from "@core/errors/errors.base"; import { Status } from "@core/errors/status.codes"; @@ -18,8 +18,11 @@ import { isInvalidGoogleToken, isInvalidValue, } from "@backend/common/services/gcal/gcal.utils"; -import { CompassError, Info_Error } from "@backend/common/types/error.types"; -import { SessionResponse } from "@backend/common/types/express.types"; +import { + type CompassError, + type Info_Error, +} from "@backend/common/types/error.types"; +import { type SessionResponse } from "@backend/common/types/express.types"; import { webSocketServer } from "@backend/servers/websocket/websocket.server"; import { getSyncByToken } from "@backend/sync/util/sync.queries"; import { findCompassUserBy } from "@backend/user/queries/user.queries"; diff --git a/packages/backend/src/common/errors/handlers/error.handler.ts b/packages/backend/src/common/errors/handlers/error.handler.ts index 442abe454..020f5faa7 100644 --- a/packages/backend/src/common/errors/handlers/error.handler.ts +++ b/packages/backend/src/common/errors/handlers/error.handler.ts @@ -1,7 +1,7 @@ import { BaseError } from "@core/errors/errors.base"; import { Status } from "@core/errors/status.codes"; import { Logger } from "@core/logger/winston.logger"; -import { ErrorMetadata } from "@backend/common/types/error.types"; +import { type ErrorMetadata } from "@backend/common/types/error.types"; const logger = Logger("app:error.handler"); diff --git a/packages/backend/src/common/errors/integration/gcal/gcal.errors.ts b/packages/backend/src/common/errors/integration/gcal/gcal.errors.ts index 6d3cffa50..fc591891b 100644 --- a/packages/backend/src/common/errors/integration/gcal/gcal.errors.ts +++ b/packages/backend/src/common/errors/integration/gcal/gcal.errors.ts @@ -1,5 +1,5 @@ import { Status } from "@core/errors/status.codes"; -import { ErrorMetadata } from "@backend/common/types/error.types"; +import { type ErrorMetadata } from "@backend/common/types/error.types"; interface GcalErrors { CalendarlistMissing: ErrorMetadata; diff --git a/packages/backend/src/common/errors/socket/socket.errors.ts b/packages/backend/src/common/errors/socket/socket.errors.ts index 49682cea3..1b908c394 100644 --- a/packages/backend/src/common/errors/socket/socket.errors.ts +++ b/packages/backend/src/common/errors/socket/socket.errors.ts @@ -1,5 +1,5 @@ import { Status } from "@core/errors/status.codes"; -import { ErrorMetadata } from "@backend/common/types/error.types"; +import { type ErrorMetadata } from "@backend/common/types/error.types"; interface SocketErrors { InvalidSocketId: ErrorMetadata; diff --git a/packages/backend/src/common/errors/sync/sync.errors.ts b/packages/backend/src/common/errors/sync/sync.errors.ts index 16d5676c7..a774e68bc 100644 --- a/packages/backend/src/common/errors/sync/sync.errors.ts +++ b/packages/backend/src/common/errors/sync/sync.errors.ts @@ -1,5 +1,5 @@ import { Status } from "@core/errors/status.codes"; -import { ErrorMetadata } from "@backend/common/types/error.types"; +import { type ErrorMetadata } from "@backend/common/types/error.types"; interface SyncErrors { AccessRevoked: ErrorMetadata; diff --git a/packages/backend/src/common/errors/sync/watch.errors.ts b/packages/backend/src/common/errors/sync/watch.errors.ts index eba4a8bfe..a06f320fc 100644 --- a/packages/backend/src/common/errors/sync/watch.errors.ts +++ b/packages/backend/src/common/errors/sync/watch.errors.ts @@ -1,5 +1,5 @@ import { Status } from "@core/errors/status.codes"; -import { ErrorMetadata } from "@backend/common/types/error.types"; +import { type ErrorMetadata } from "@backend/common/types/error.types"; interface WatchErrors { EventWatchExists: ErrorMetadata; diff --git a/packages/backend/src/common/errors/user/user.errors.ts b/packages/backend/src/common/errors/user/user.errors.ts index c0870ecbf..bae45b594 100644 --- a/packages/backend/src/common/errors/user/user.errors.ts +++ b/packages/backend/src/common/errors/user/user.errors.ts @@ -1,5 +1,5 @@ import { Status } from "@core/errors/status.codes"; -import { ErrorMetadata } from "@backend/common/types/error.types"; +import { type ErrorMetadata } from "@backend/common/types/error.types"; interface UserErrors { InvalidValue: ErrorMetadata; diff --git a/packages/backend/src/common/guards/google.guard.test.ts b/packages/backend/src/common/guards/google.guard.test.ts index aa51c7d6e..a82e8f870 100644 --- a/packages/backend/src/common/guards/google.guard.test.ts +++ b/packages/backend/src/common/guards/google.guard.test.ts @@ -1,7 +1,7 @@ import { ObjectId } from "mongodb"; import { faker } from "@faker-js/faker"; import { IDSchema } from "@core/types/type.utils"; -import { Schema_User } from "@core/types/user.types"; +import { type Schema_User } from "@core/types/user.types"; import { UserError } from "@backend/common/errors/user/user.errors"; import { requireGoogleConnection } from "@backend/common/guards/google.guard"; import { findCompassUserBy } from "@backend/user/queries/user.queries"; diff --git a/packages/backend/src/common/middleware/google.required.middleware.test.ts b/packages/backend/src/common/middleware/google.required.middleware.test.ts index 42b490b4f..6d1581857 100644 --- a/packages/backend/src/common/middleware/google.required.middleware.test.ts +++ b/packages/backend/src/common/middleware/google.required.middleware.test.ts @@ -1,4 +1,4 @@ -import { Request, Response } from "express"; +import { type Request, type Response } from "express"; import { ObjectId } from "mongodb"; import { BaseError } from "@core/errors/errors.base"; import { Status } from "@core/errors/status.codes"; diff --git a/packages/backend/src/common/middleware/google.required.middleware.ts b/packages/backend/src/common/middleware/google.required.middleware.ts index 02b1eece5..baf4fbcc1 100644 --- a/packages/backend/src/common/middleware/google.required.middleware.ts +++ b/packages/backend/src/common/middleware/google.required.middleware.ts @@ -1,6 +1,6 @@ -import { Request, Response } from "express"; -import { NextFunction } from "express"; -import { SessionRequest } from "supertokens-node/framework/express"; +import { type Request, type Response } from "express"; +import { type NextFunction } from "express"; +import { type SessionRequest } from "supertokens-node/framework/express"; import { BaseError } from "@core/errors/errors.base"; import { errorHandler, diff --git a/packages/backend/src/common/middleware/http.logger.middleware.ts b/packages/backend/src/common/middleware/http.logger.middleware.ts index f6ee99d81..6c9ea4469 100644 --- a/packages/backend/src/common/middleware/http.logger.middleware.ts +++ b/packages/backend/src/common/middleware/http.logger.middleware.ts @@ -1,5 +1,5 @@ import chalk from "chalk"; -import { IncomingMessage, ServerResponse } from "http"; +import { type IncomingMessage, type ServerResponse } from "http"; import morgan from "morgan"; const get = ( diff --git a/packages/backend/src/common/middleware/mongo.validation.middleware.ts b/packages/backend/src/common/middleware/mongo.validation.middleware.ts index ddfe5b3e4..381e5513f 100644 --- a/packages/backend/src/common/middleware/mongo.validation.middleware.ts +++ b/packages/backend/src/common/middleware/mongo.validation.middleware.ts @@ -1,6 +1,6 @@ -import express from "express"; +import type express from "express"; import { ObjectId } from "mongodb"; -import { SessionRequest } from "supertokens-node/framework/express"; +import { type SessionRequest } from "supertokens-node/framework/express"; import { DbError } from "@backend/common/errors/db/db.errors"; import { error } from "@backend/common/errors/handlers/error.handler"; diff --git a/packages/backend/src/common/middleware/promise.middleware.ts b/packages/backend/src/common/middleware/promise.middleware.ts index 8b14ef30e..0f2b6bc78 100644 --- a/packages/backend/src/common/middleware/promise.middleware.ts +++ b/packages/backend/src/common/middleware/promise.middleware.ts @@ -1,8 +1,8 @@ -import express from "express"; -import { SessionRequest } from "supertokens-node/framework/express"; +import type express from "express"; +import { type SessionRequest } from "supertokens-node/framework/express"; import { Logger } from "@core/logger/winston.logger"; import { handleExpressError } from "@backend/common/errors/handlers/error.express.handler"; -import { Res_Promise } from "@backend/common/types/express.types"; +import { type Res_Promise } from "@backend/common/types/express.types"; const logger = Logger("app:promise.middleware"); diff --git a/packages/backend/src/common/middleware/supertokens.middleware.ts b/packages/backend/src/common/middleware/supertokens.middleware.ts index f824dcc84..e78db3e82 100644 --- a/packages/backend/src/common/middleware/supertokens.middleware.ts +++ b/packages/backend/src/common/middleware/supertokens.middleware.ts @@ -1,5 +1,5 @@ import cors from "cors"; -import { TokenPayload } from "google-auth-library"; +import { type TokenPayload } from "google-auth-library"; import { ObjectId } from "mongodb"; import supertokens, { default as SuperTokens, User } from "supertokens-node"; import Dashboard from "supertokens-node/recipe/dashboard"; diff --git a/packages/backend/src/common/services/gcal/gcal.service.ts b/packages/backend/src/common/services/gcal/gcal.service.ts index 978f55b08..52b3df85e 100644 --- a/packages/backend/src/common/services/gcal/gcal.service.ts +++ b/packages/backend/src/common/services/gcal/gcal.service.ts @@ -9,7 +9,7 @@ import type { import { type Params_WatchEvents, Resource_Sync, - SyncDetails, + type SyncDetails, } from "@core/types/sync.types"; import { IDSchemaV4 } from "@core/types/type.utils"; import { GCAL_PRIMARY } from "@backend/common/constants/backend.constants"; diff --git a/packages/backend/src/common/services/gcal/gcal.utils.ts b/packages/backend/src/common/services/gcal/gcal.utils.ts index 121f00bc4..dc17555e9 100644 --- a/packages/backend/src/common/services/gcal/gcal.utils.ts +++ b/packages/backend/src/common/services/gcal/gcal.utils.ts @@ -1,5 +1,5 @@ import { GaxiosError } from "gaxios"; -import { gSchema$Event } from "@core/types/gcal"; +import { type gSchema$Event } from "@core/types/gcal"; const cancelled = (e: gSchema$Event) => { /* diff --git a/packages/backend/src/common/types/express.types.ts b/packages/backend/src/common/types/express.types.ts index e193a72bc..f5010a022 100644 --- a/packages/backend/src/common/types/express.types.ts +++ b/packages/backend/src/common/types/express.types.ts @@ -1,5 +1,5 @@ -import { Request, Response } from "express"; -import { SessionRequest } from "supertokens-node/framework/express"; +import { type Request, type Response } from "express"; +import { type SessionRequest } from "supertokens-node/framework/express"; declare module "express-serve-static-core" { interface Request { diff --git a/packages/backend/src/common/validators/validate.event.ts b/packages/backend/src/common/validators/validate.event.ts index 91b4e44fb..5bd81adb2 100644 --- a/packages/backend/src/common/validators/validate.event.ts +++ b/packages/backend/src/common/validators/validate.event.ts @@ -1,5 +1,5 @@ import { - Event_API, + type Event_API, Schema_Event_API, } from "@backend/common/types/backend.event.types"; import { safeValidate } from "./validate"; diff --git a/packages/backend/src/common/validators/validate.ts b/packages/backend/src/common/validators/validate.ts index 8eb1a83c7..4a4a5a5b7 100644 --- a/packages/backend/src/common/validators/validate.ts +++ b/packages/backend/src/common/validators/validate.ts @@ -1,4 +1,4 @@ -import { z } from "zod"; +import { type z } from "zod"; export const safeValidate = (schema: z.ZodType, data: unknown) => { const result = schema.safeParse(data); diff --git a/packages/backend/src/email/email.service.ts b/packages/backend/src/email/email.service.ts index 257be31bd..52a61abc3 100644 --- a/packages/backend/src/email/email.service.ts +++ b/packages/backend/src/email/email.service.ts @@ -1,12 +1,15 @@ import axios from "axios"; import { Logger } from "@core/logger/winston.logger"; -import { Subscriber, SubscriberSchema } from "@core/types/email/email.types"; +import { + type Subscriber, + SubscriberSchema, +} from "@core/types/email/email.types"; import { ENV } from "@backend/common/constants/env.constants"; import { EmailerError } from "@backend/common/errors/emailer/emailer.errors"; import { error } from "@backend/common/errors/handlers/error.handler"; import { - Response_TagSubscriber, - Response_UpsertSubscriber, + type Response_TagSubscriber, + type Response_UpsertSubscriber, } from "./email.types"; const logger = Logger("app:email.service"); diff --git a/packages/backend/src/event/classes/compass.event.generator.ts b/packages/backend/src/event/classes/compass.event.generator.ts index 8c0bfeee3..c5a811d60 100644 --- a/packages/backend/src/event/classes/compass.event.generator.ts +++ b/packages/backend/src/event/classes/compass.event.generator.ts @@ -1,18 +1,23 @@ -import { ClientSession, Filter, ObjectId, WithId } from "mongodb"; +import { + type ClientSession, + type Filter, + ObjectId, + type WithId, +} from "mongodb"; import { MapEvent } from "@core/mappers/map.event"; import { - CompassAllEvents, - CompassEvent, + type CompassAllEvents, + type CompassEvent, CompassEventSchema, CompassEventStatus, - CompassThisAndFollowingEvent, - CompassThisEvent, + type CompassThisAndFollowingEvent, + type CompassThisEvent, EventUpdateSchema, - Event_Core, + type Event_Core, RecurringEventUpdateScope, - Schema_Event, - Schema_Event_Recur_Base, - Schema_Event_Recur_Instance, + type Schema_Event, + type Schema_Event_Recur_Base, + type Schema_Event_Recur_Instance, } from "@core/types/event.types"; import { CompassEventRRule } from "@core/util/event/compass.event.rrule"; import { diff --git a/packages/backend/src/event/classes/compass.event.parser.test.ts b/packages/backend/src/event/classes/compass.event.parser.test.ts index 1c448bdfd..ae658743f 100644 --- a/packages/backend/src/event/classes/compass.event.parser.test.ts +++ b/packages/backend/src/event/classes/compass.event.parser.test.ts @@ -3,10 +3,10 @@ import { GCAL_MAX_RECURRENCES } from "@core/constants/core.constants"; import { CalendarProvider, Categories_Recurrence, - CompassEvent, + type CompassEvent, CompassEventStatus, - Schema_Event_Recur_Base, - WithCompassId, + type Schema_Event_Recur_Base, + type WithCompassId, } from "@core/types/event.types"; import { createMockBaseEvent, @@ -210,7 +210,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( switch (calendarProvider) { case CalendarProvider.GOOGLE: - await testCompassSeriesInGcal(baseEvent!, instances); + await testCompassSeriesInGcal(baseEvent, instances); break; } }); diff --git a/packages/backend/src/event/classes/compass.event.parser.test.util.ts b/packages/backend/src/event/classes/compass.event.parser.test.util.ts index 86a83e28a..75fafa5cc 100644 --- a/packages/backend/src/event/classes/compass.event.parser.test.util.ts +++ b/packages/backend/src/event/classes/compass.event.parser.test.util.ts @@ -1,13 +1,13 @@ -import { ObjectId, WithId } from "mongodb"; +import { ObjectId, type WithId } from "mongodb"; import { CalendarProvider, - Schema_Event, - Schema_Event_Recur_Base, - Schema_Event_Recur_Instance, - Schema_Event_Regular, - WithCompassId, + type Schema_Event, + type Schema_Event_Recur_Base, + type Schema_Event_Recur_Instance, + type Schema_Event_Regular, + type WithCompassId, } from "@core/types/event.types"; -import { gSchema$Event } from "@core/types/gcal"; +import { type gSchema$Event } from "@core/types/gcal"; import { isBase, isInstance, @@ -59,7 +59,7 @@ export async function testCompassInstanceEvent( expect(instanceEvent).toBeDefined(); expect(instanceEvent).not.toBeNull(); - expect(isInstance(instanceEvent!)).toBe(true); + expect(isInstance(instanceEvent)).toBe(true); expect(instanceEvent).toEqual( expect.objectContaining({ @@ -136,7 +136,7 @@ export async function testCompassEventNotInGcal( expect(event).not.toHaveProperty("gEventId"); expect(event).not.toHaveProperty("gRecurringEventId"); // check that event does not exist in external calendar - await expect(_getGcal(event.user!, event._id.toString()!)).rejects.toThrow( + await expect(_getGcal(event.user!, event._id.toString())).rejects.toThrow( `Event with id ${event._id.toString()} not found`, ); } @@ -147,12 +147,12 @@ export async function testCompassEventInGcal( // check that event does not have external calendar provider attributes expect(event).toHaveProperty("gEventId"); // check that event exists in external calendar - const gcalEvent = await _getGcal(event.user!, event!.gEventId!); + const gcalEvent = await _getGcal(event.user!, event.gEventId!); const dateKey = event.isAllDay ? "date" : "dateTime"; expect(gcalEvent).toEqual( expect.objectContaining({ - id: event!.gEventId, + id: event.gEventId, summary: event.title, ...(event.description ? { description: event.description } : {}), start: expect.objectContaining({ [dateKey]: event.startDate }), @@ -192,7 +192,7 @@ export async function testCompassSeriesInGcal( expect(gcalEvent).toEqual( expect.objectContaining({ id: baseEvent.gEventId, - recurrence: baseEvent.recurrence!.rule, + recurrence: baseEvent.recurrence.rule, }), ); diff --git a/packages/backend/src/event/classes/compass.event.parser.ts b/packages/backend/src/event/classes/compass.event.parser.ts index 2502f9a41..675f668b4 100644 --- a/packages/backend/src/event/classes/compass.event.parser.ts +++ b/packages/backend/src/event/classes/compass.event.parser.ts @@ -1,15 +1,15 @@ -import { ClientSession, ObjectId, WithId } from "mongodb"; +import { type ClientSession, ObjectId, type WithId } from "mongodb"; import { Logger } from "@core/logger/winston.logger"; import { CalendarProvider, Categories_Recurrence, - CompassEvent, - Schema_Event, - Schema_Event_Core, - Schema_Event_Recur_Base, - TransitionCategoriesRecurrence, - TransitionStatus, - WithCompassId, + type CompassEvent, + type Schema_Event, + type Schema_Event_Core, + type Schema_Event_Recur_Base, + type TransitionCategoriesRecurrence, + type TransitionStatus, + type WithCompassId, } from "@core/types/event.types"; import { CompassEventRRule } from "@core/util/event/compass.event.rrule"; import { @@ -31,7 +31,10 @@ import { _updateCompassSeries, _updateGcal, } from "@backend/event/services/event.service"; -import { Event_Transition, Operation_Sync } from "@backend/sync/sync.types"; +import { + type Event_Transition, + type Operation_Sync, +} from "@backend/sync/sync.types"; export class CompassEventParser { #logger = Logger("app.event.classes.compass.event.parser"); diff --git a/packages/backend/src/event/classes/gcal.event.parser.test.ts b/packages/backend/src/event/classes/gcal.event.parser.test.ts index 9622b4936..2b4213abe 100644 --- a/packages/backend/src/event/classes/gcal.event.parser.test.ts +++ b/packages/backend/src/event/classes/gcal.event.parser.test.ts @@ -1,7 +1,7 @@ import { RRule } from "rrule"; import { faker } from "@faker-js/faker"; import { Categories_Recurrence } from "@core/types/event.types"; -import { WithGcalId, gSchema$Event } from "@core/types/gcal"; +import { type WithGcalId, type gSchema$Event } from "@core/types/gcal"; import dayjs from "@core/util/date/dayjs"; import { isBase, isInstance } from "@core/util/event/event.util"; import { UserDriver } from "@backend/__tests__/drivers/user.driver"; diff --git a/packages/backend/src/event/classes/gcal.event.parser.ts b/packages/backend/src/event/classes/gcal.event.parser.ts index c2c4ba8ca..349e00511 100644 --- a/packages/backend/src/event/classes/gcal.event.parser.ts +++ b/packages/backend/src/event/classes/gcal.event.parser.ts @@ -1,14 +1,18 @@ -import { ClientSession, UpdateFilter, WithId } from "mongodb"; +import { type ClientSession, type UpdateFilter, type WithId } from "mongodb"; import { Logger } from "@core/logger/winston.logger"; import { gEventToCompassEvent } from "@core/mappers/map.event"; import { Categories_Recurrence, - Schema_Event, - Schema_Event_Recur_Base, - TransitionCategoriesRecurrence, - TransitionStatus, + type Schema_Event, + type Schema_Event_Recur_Base, + type TransitionCategoriesRecurrence, + type TransitionStatus, } from "@core/types/event.types"; -import { WithGcalId, gSchema$Event, gSchema$EventBase } from "@core/types/gcal"; +import { + type WithGcalId, + type gSchema$Event, + type gSchema$EventBase, +} from "@core/types/gcal"; import { isBase, isInstance, @@ -28,7 +32,10 @@ import { stripReadonlyEventProps, } from "@backend/event/services/recur/util/recur.util"; import { createSyncImport } from "@backend/sync/services/import/sync.import"; -import { Event_Transition, Operation_Sync } from "@backend/sync/sync.types"; +import { + type Event_Transition, + type Operation_Sync, +} from "@backend/sync/sync.types"; export class GcalEventParser { #logger = Logger("app.event.classes.gcal.parser"); diff --git a/packages/backend/src/event/classes/gcal.event.rrule.test.ts b/packages/backend/src/event/classes/gcal.event.rrule.test.ts index d9c64cebb..de9e533ec 100644 --- a/packages/backend/src/event/classes/gcal.event.rrule.test.ts +++ b/packages/backend/src/event/classes/gcal.event.rrule.test.ts @@ -3,7 +3,7 @@ import { RRule } from "rrule"; import { faker } from "@faker-js/faker"; import { recurring } from "@core/__mocks__/v1/events/gcal/gcal.recurring"; import { GCAL_MAX_RECURRENCES } from "@core/constants/core.constants"; -import { gSchema$EventBase } from "@core/types/gcal"; +import { type gSchema$EventBase } from "@core/types/gcal"; import dayjs from "@core/util/date/dayjs"; import { isInstance } from "@core/util/event/event.util"; import { diff --git a/packages/backend/src/event/classes/gcal.event.rrule.ts b/packages/backend/src/event/classes/gcal.event.rrule.ts index 418ca0a09..e22807f41 100644 --- a/packages/backend/src/event/classes/gcal.event.rrule.ts +++ b/packages/backend/src/event/classes/gcal.event.rrule.ts @@ -1,15 +1,15 @@ -import { ObjectId, WithId } from "mongodb"; -import { Options, RRule, RRuleStrOptions, rrulestr } from "rrule"; -import { ParsedOptions } from "rrule/dist/esm/types"; +import { type ObjectId, type WithId } from "mongodb"; +import { type Options, RRule, type RRuleStrOptions, rrulestr } from "rrule"; +import { type ParsedOptions } from "rrule/dist/esm/types"; import { GCAL_MAX_RECURRENCES } from "@core/constants/core.constants"; import { gEventToCompassEvent } from "@core/mappers/map.event"; -import { Schema_Event_Recur_Instance } from "@core/types/event.types"; +import { type Schema_Event_Recur_Instance } from "@core/types/event.types"; import { - gSchema$Event, - gSchema$EventBase, - gSchema$EventInstance, + type gSchema$Event, + type gSchema$EventBase, + type gSchema$EventInstance, } from "@core/types/gcal"; -import dayjs, { Dayjs } from "@core/util/date/dayjs"; +import dayjs, { type Dayjs } from "@core/util/date/dayjs"; import { diffRRuleOptions } from "@core/util/event/event.util"; import { getGcalEventDateFormat, @@ -52,7 +52,7 @@ export class GcalEventRRule extends RRule { const opts: Partial = { dtstart, tzid }; const recurrence = event.recurrence?.join("\n").trim(); const valid = recurrence?.length > 0; - const rruleSet = valid ? rrulestr(recurrence!, opts) : { origOptions: {} }; + const rruleSet = valid ? rrulestr(recurrence, opts) : { origOptions: {} }; const rruleOptions = { ...rruleSet.origOptions, ..._options }; const options = { ...rruleOptions, dtstart, tzid }; diff --git a/packages/backend/src/event/controllers/event.controller.ts b/packages/backend/src/event/controllers/event.controller.ts index 7d8dddf4b..e9b675963 100644 --- a/packages/backend/src/event/controllers/event.controller.ts +++ b/packages/backend/src/event/controllers/event.controller.ts @@ -1,19 +1,22 @@ import { ObjectId } from "mongodb"; -import { SessionRequest } from "supertokens-node/framework/express"; +import { type SessionRequest } from "supertokens-node/framework/express"; import { ID_OPTIMISTIC_PREFIX } from "@core/constants/core.constants"; import { Status } from "@core/errors/status.codes"; import { Logger } from "@core/logger/winston.logger"; import { CompassCoreEventSchema, - CompassEvent, + type CompassEvent, CompassEventStatus, - CompassThisEvent, - Params_DeleteMany, - Payload_Order, + type CompassThisEvent, + type Params_DeleteMany, + type Payload_Order, RecurringEventUpdateScope, - Schema_Event, + type Schema_Event, } from "@core/types/event.types"; -import { Res_Promise, SReqBody } from "@backend/common/types/express.types"; +import { + type Res_Promise, + type SReqBody, +} from "@backend/common/types/express.types"; import eventService from "@backend/event/services/event.service"; import { CompassSyncProcessor } from "@backend/sync/services/sync/compass.sync.processor"; diff --git a/packages/backend/src/event/event.routes.config.ts b/packages/backend/src/event/event.routes.config.ts index 819337fca..0c5bece8b 100644 --- a/packages/backend/src/event/event.routes.config.ts +++ b/packages/backend/src/event/event.routes.config.ts @@ -1,4 +1,4 @@ -import express from "express"; +import type express from "express"; import { verifySession } from "supertokens-node/recipe/session/framework/express"; import authMiddleware from "@backend/auth/middleware/auth.middleware"; import { CommonRoutesConfig } from "@backend/common/common.routes.config"; diff --git a/packages/backend/src/event/queries/event.queries.ts b/packages/backend/src/event/queries/event.queries.ts index e80e263eb..3f892c0ba 100644 --- a/packages/backend/src/event/queries/event.queries.ts +++ b/packages/backend/src/event/queries/event.queries.ts @@ -1,5 +1,5 @@ -import { AnyBulkWriteOperation, WithId } from "mongodb"; -import { Payload_Order, Schema_Event } from "@core/types/event.types"; +import { type AnyBulkWriteOperation, type WithId } from "mongodb"; +import { type Payload_Order, type Schema_Event } from "@core/types/event.types"; import { Collections } from "@backend/common/constants/collections"; import { getIdFilter } from "@backend/common/helpers/mongo.utils"; import mongoService from "@backend/common/services/mongo.service"; diff --git a/packages/backend/src/event/services/event.find.allday.test.ts b/packages/backend/src/event/services/event.find.allday.test.ts index 0636d1aa1..4e3eb6baa 100644 --- a/packages/backend/src/event/services/event.find.allday.test.ts +++ b/packages/backend/src/event/services/event.find.allday.test.ts @@ -1,6 +1,6 @@ -import { Filter } from "mongodb"; +import { type Filter } from "mongodb"; import { mockEventSetMar22 } from "@core/__mocks__/v1/events/events.22mar"; -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; import { cleanupTestDb, setupTestDb, diff --git a/packages/backend/src/event/services/event.find.test.ts b/packages/backend/src/event/services/event.find.test.ts index 567502ec6..af0d7e031 100644 --- a/packages/backend/src/event/services/event.find.test.ts +++ b/packages/backend/src/event/services/event.find.test.ts @@ -1,13 +1,13 @@ -import { Filter, ObjectId, WithId } from "mongodb"; +import { type Filter, ObjectId, type WithId } from "mongodb"; import { mockEventSetJan22 } from "@core/__mocks__/v1/events/events.22jan"; import { mockEventSetSomeday1 } from "@core/__mocks__/v1/events/events.someday.1"; import { MapEvent, gEventToCompassEvent } from "@core/mappers/map.event"; import { Categories_Recurrence, CompassEventStatus, - CompassThisEvent, + type CompassThisEvent, RecurringEventUpdateScope, - Schema_Event, + type Schema_Event, } from "@core/types/event.types"; import { isBase, isInstance } from "@core/util/event/event.util"; import { createMockBaseEvent } from "@core/util/test/ccal.event.factory"; diff --git a/packages/backend/src/event/services/event.service.ts b/packages/backend/src/event/services/event.service.ts index 2208e6635..69b2d8494 100644 --- a/packages/backend/src/event/services/event.service.ts +++ b/packages/backend/src/event/services/event.service.ts @@ -1,5 +1,11 @@ import type { GaxiosError } from "gaxios"; -import { ClientSession, Document, Filter, ObjectId, WithId } from "mongodb"; +import { + type ClientSession, + type Document, + type Filter, + ObjectId, + type WithId, +} from "mongodb"; import { SOMEDAY_MONTHLY_LIMIT, SOMEDAY_WEEKLY_LIMIT, @@ -9,19 +15,19 @@ import { Status } from "@core/errors/status.codes"; import { MapEvent } from "@core/mappers/map.event"; import { CalendarProvider, - EventUpdatePayload, + type EventUpdatePayload, EventUpdateSchema, - Params_DeleteMany, - Payload_Order, - Query_Event, - Result_DeleteMany, - Schema_Event, - Schema_Event_Core, - WithCompassId, + type Params_DeleteMany, + type Payload_Order, + type Query_Event, + type Result_DeleteMany, + type Schema_Event, + type Schema_Event_Core, + type WithCompassId, } from "@core/types/event.types"; -import { gSchema$Event } from "@core/types/gcal"; +import { type gSchema$Event } from "@core/types/gcal"; import { IDSchema } from "@core/types/type.utils"; -import { CompassEventRRule } from "@core/util/event/compass.event.rrule"; +import { type CompassEventRRule } from "@core/util/event/compass.event.rrule"; import { isInstance, parseCompassEventDate } from "@core/util/event/event.util"; import { getGcalClient } from "@backend/auth/services/google.auth.service"; import { Collections } from "@backend/common/constants/collections"; @@ -292,7 +298,7 @@ export const _updateCompassSeries = async ( delete update.startDate; delete update.endDate; - delete (update as Schema_Event).recurrence; + delete update.recurrence; await mongoService.event.updateMany( { diff --git a/packages/backend/src/event/services/event.service.util.ts b/packages/backend/src/event/services/event.service.util.ts index 482046cbd..ceec4e835 100644 --- a/packages/backend/src/event/services/event.service.util.ts +++ b/packages/backend/src/event/services/event.service.util.ts @@ -1,8 +1,8 @@ -import { Filter, ObjectId, WithId } from "mongodb"; +import { type Filter, ObjectId, type WithId } from "mongodb"; import { - Query_Event, - Schema_Event, - Schema_Event_Core, + type Query_Event, + type Schema_Event, + type Schema_Event_Core, } from "@core/types/event.types"; import { isSameMonth } from "@core/util/date/date.util"; import { GenericError } from "@backend/common/errors/generic/generic.errors"; diff --git a/packages/backend/src/event/services/recur/recur.month.test.ts b/packages/backend/src/event/services/recur/recur.month.test.ts index c8332a575..f5f12454d 100644 --- a/packages/backend/src/event/services/recur/recur.month.test.ts +++ b/packages/backend/src/event/services/recur/recur.month.test.ts @@ -1,4 +1,4 @@ -import { Schema_Event_Core } from "@core/types/event.types"; +import { type Schema_Event_Core } from "@core/types/event.types"; import { RRULE } from "../../../../../core/src/constants/core.constants"; import { assembleInstances } from "./util/recur.util"; diff --git a/packages/backend/src/event/services/recur/recur.test.util.ts b/packages/backend/src/event/services/recur/recur.test.util.ts index ae27d1eb4..7095b8e60 100644 --- a/packages/backend/src/event/services/recur/recur.test.util.ts +++ b/packages/backend/src/event/services/recur/recur.test.util.ts @@ -1,4 +1,4 @@ -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; export const areDatesUnique = (events: Schema_Event[]) => { const starts = new Set(events.map((e) => e.startDate)); diff --git a/packages/backend/src/event/services/recur/recur.week.test.ts b/packages/backend/src/event/services/recur/recur.week.test.ts index 65256a811..fb67332ae 100644 --- a/packages/backend/src/event/services/recur/recur.week.test.ts +++ b/packages/backend/src/event/services/recur/recur.week.test.ts @@ -1,5 +1,5 @@ import { RRULE } from "@core/constants/core.constants"; -import { Schema_Event_Core } from "@core/types/event.types"; +import { type Schema_Event_Core } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; import { areDatesUnique, haveSharedValues } from "./recur.test.util"; import { assembleInstances } from "./util/recur.util"; diff --git a/packages/backend/src/event/services/recur/repo/event.repo.ts b/packages/backend/src/event/services/recur/repo/event.repo.ts index 007892412..0bbd0c63b 100644 --- a/packages/backend/src/event/services/recur/repo/event.repo.ts +++ b/packages/backend/src/event/services/recur/repo/event.repo.ts @@ -1,15 +1,15 @@ /** * Event DB operations repo for Compass's Event collection */ -import { ObjectId, WithId } from "mongodb"; +import { ObjectId, type WithId } from "mongodb"; import { - Event_Core, - Schema_Event, - Schema_Event_Core, + type Event_Core, + type Schema_Event, + type Schema_Event_Core, } from "@core/types/event.types"; import { Collections } from "@backend/common/constants/collections"; import mongoService from "@backend/common/services/mongo.service"; -import { Ids_Event } from "@backend/event/queries/event.queries"; +import { type Ids_Event } from "@backend/event/queries/event.queries"; export class EventRepository { constructor(private userId: string) {} diff --git a/packages/backend/src/event/services/recur/repo/recur.event.repo.util.ts b/packages/backend/src/event/services/recur/repo/recur.event.repo.util.ts index bd444680d..992c28be0 100644 --- a/packages/backend/src/event/services/recur/repo/recur.event.repo.util.ts +++ b/packages/backend/src/event/services/recur/repo/recur.event.repo.util.ts @@ -1,10 +1,10 @@ -import { ObjectId } from "mongodb"; -import { Schema_Event_Recur_Base } from "@core/types/event.types"; +import { type ObjectId } from "mongodb"; +import { type Schema_Event_Recur_Base } from "@core/types/event.types"; import { Collections } from "@backend/common/constants/collections"; import { EventError } from "@backend/common/errors/event/event.errors"; import { error } from "@backend/common/errors/handlers/error.handler"; import mongoService from "@backend/common/services/mongo.service"; -import { Ids_Event } from "@backend/event/queries/event.queries"; +import { type Ids_Event } from "@backend/event/queries/event.queries"; import { mongoDateAggregation, stripBaseProps, diff --git a/packages/backend/src/event/services/recur/util/recur.util.ts b/packages/backend/src/event/services/recur/util/recur.util.ts index aadad26a9..6391c3423 100644 --- a/packages/backend/src/event/services/recur/util/recur.util.ts +++ b/packages/backend/src/event/services/recur/util/recur.util.ts @@ -3,12 +3,12 @@ import { RRule } from "rrule"; import { RRULE } from "@core/constants/core.constants"; import { YEAR_MONTH_DAY_FORMAT } from "@core/constants/date.constants"; import { - Schema_Event, - Schema_Event_Core, - Schema_Event_Recur_Base, - Schema_Event_Recur_Instance, + type Schema_Event, + type Schema_Event_Core, + type Schema_Event_Recur_Base, + type Schema_Event_Recur_Instance, } from "@core/types/event.types"; -import dayjs, { Dayjs } from "@core/util/date/dayjs"; +import dayjs, { type Dayjs } from "@core/util/date/dayjs"; import { GenericError } from "@backend/common/errors/generic/generic.errors"; import { error } from "@backend/common/errors/handlers/error.handler"; diff --git a/packages/backend/src/priority/controllers/priority.controller.ts b/packages/backend/src/priority/controllers/priority.controller.ts index a24d905b6..1bca2e2af 100644 --- a/packages/backend/src/priority/controllers/priority.controller.ts +++ b/packages/backend/src/priority/controllers/priority.controller.ts @@ -1,8 +1,11 @@ -import { Request } from "express"; -import { SessionRequest } from "supertokens-node/framework/express"; -import { PriorityReq } from "@core/types/priority.types"; +import { type Request } from "express"; +import { type SessionRequest } from "supertokens-node/framework/express"; +import { type PriorityReq } from "@core/types/priority.types"; import { zObjectId } from "@core/types/type.utils"; -import { Res_Promise, SReqBody } from "@backend/common/types/express.types"; +import { + type Res_Promise, + type SReqBody, +} from "@backend/common/types/express.types"; import priorityService from "@backend/priority/services/priority.service"; class PriorityController { diff --git a/packages/backend/src/priority/priority.routes.config.ts b/packages/backend/src/priority/priority.routes.config.ts index a9b0933f4..46d737a85 100644 --- a/packages/backend/src/priority/priority.routes.config.ts +++ b/packages/backend/src/priority/priority.routes.config.ts @@ -1,4 +1,4 @@ -import express from "express"; +import type express from "express"; import { verifySession } from "supertokens-node/recipe/session/framework/express"; import { CommonRoutesConfig } from "@backend/common/common.routes.config"; import { validateIdParam } from "@backend/common/middleware/mongo.validation.middleware"; diff --git a/packages/backend/src/priority/services/priority.service.test.ts b/packages/backend/src/priority/services/priority.service.test.ts index 52ca79324..011266736 100644 --- a/packages/backend/src/priority/services/priority.service.test.ts +++ b/packages/backend/src/priority/services/priority.service.test.ts @@ -1,7 +1,7 @@ import { ObjectId } from "mongodb"; import { afterAll, beforeAll, describe, expect, it } from "@jest/globals"; import { Priorities } from "@core/constants/core.constants"; -import { Schema_Priority } from "@core/types/priority.types"; +import { type Schema_Priority } from "@core/types/priority.types"; import { cleanupCollections, cleanupTestDb, diff --git a/packages/backend/src/priority/services/priority.service.ts b/packages/backend/src/priority/services/priority.service.ts index 6e08897df..576af6f53 100644 --- a/packages/backend/src/priority/services/priority.service.ts +++ b/packages/backend/src/priority/services/priority.service.ts @@ -1,7 +1,10 @@ -import { ClientSession } from "mongodb"; +import { type ClientSession } from "mongodb"; import { Priorities } from "@core/constants/core.constants"; import { BaseError } from "@core/errors/errors.base"; -import { PriorityReq, Schema_Priority } from "@core/types/priority.types"; +import { + type PriorityReq, + type Schema_Priority, +} from "@core/types/priority.types"; import mongoService from "@backend/common/services/mongo.service"; class PriorityService { diff --git a/packages/backend/src/servers/websocket/websocket.server.test.ts b/packages/backend/src/servers/websocket/websocket.server.test.ts index d75defc1b..2e67c732e 100644 --- a/packages/backend/src/servers/websocket/websocket.server.test.ts +++ b/packages/backend/src/servers/websocket/websocket.server.test.ts @@ -14,7 +14,7 @@ import { SOMEDAY_EVENT_CHANGE_PROCESSED, USER_METADATA, } from "@core/constants/websocket.constants"; -import { UserMetadata } from "@core/types/user.types"; +import { type UserMetadata } from "@core/types/user.types"; import { BaseDriver } from "@backend/__tests__/drivers/base.driver"; import { webSocketServer } from "@backend/servers/websocket/websocket.server"; diff --git a/packages/backend/src/servers/websocket/websocket.server.ts b/packages/backend/src/servers/websocket/websocket.server.ts index 3fd6daa56..32b7237b0 100644 --- a/packages/backend/src/servers/websocket/websocket.server.ts +++ b/packages/backend/src/servers/websocket/websocket.server.ts @@ -1,6 +1,6 @@ -import { Request } from "express"; -import { Server as HttpServer } from "node:http"; -import { ExtendedError, Server as SocketIOServer } from "socket.io"; +import { type Request } from "express"; +import { type Server as HttpServer } from "node:http"; +import { type ExtendedError, Server as SocketIOServer } from "socket.io"; import { verifySession } from "supertokens-node/recipe/session/framework/express"; import { EVENT_CHANGED, @@ -17,14 +17,14 @@ import { } from "@core/constants/websocket.constants"; import { Logger } from "@core/logger/winston.logger"; import { StringV4Schema } from "@core/types/type.utils"; -import { UserMetadata } from "@core/types/user.types"; +import { type UserMetadata } from "@core/types/user.types"; import { - ClientToServerEvents, - CompassSocket, - CompassSocketServer, - InterServerEvents, - ServerToClientEvents, - SocketData, + type ClientToServerEvents, + type CompassSocket, + type CompassSocketServer, + type InterServerEvents, + type ServerToClientEvents, + type SocketData, } from "@core/types/websocket.types"; import { ENV } from "@backend/common/constants/env.constants"; import { error } from "@backend/common/errors/handlers/error.handler"; @@ -45,10 +45,10 @@ class WebSocketServer { const sessionId = StringV4Schema.parse(socket.data.session.getHandle()); - const userConnections = this.#userConnections.get(userId!) ?? []; + const userConnections = this.#userConnections.get(userId) ?? []; this.#sessionConnections.set(sessionId, socket.id); - this.#userConnections.set(userId!, userConnections?.concat(socket.id)); + this.#userConnections.set(userId, userConnections?.concat(socket.id)); logger.debug(`Connection made to: ${socket.id}`); @@ -79,7 +79,7 @@ class WebSocketServer { FETCH_USER_METADATA, handleWsError(() => userMetadataService - .fetchUserMetadata(socket.data.session!.getUserId()!) + .fetchUserMetadata(socket.data.session.getUserId()) .then((data) => this.handleUserMetadata(sessionId, data)), ), ); @@ -97,12 +97,12 @@ class WebSocketServer { return () => { logger.debug(`Disconnecting from: ${socket.id}`); - const userConnections = this.#userConnections.get(userId!)!; + const userConnections = this.#userConnections.get(userId)!; - this.#sessionConnections.delete(sessionId!); + this.#sessionConnections.delete(sessionId); this.#userConnections.set( - userId!, + userId, userConnections.filter((id) => id !== socket.id), ); }; diff --git a/packages/backend/src/servers/websocket/websocket.util.ts b/packages/backend/src/servers/websocket/websocket.util.ts index 138ffdc15..1b493d1fa 100644 --- a/packages/backend/src/servers/websocket/websocket.util.ts +++ b/packages/backend/src/servers/websocket/websocket.util.ts @@ -1,6 +1,6 @@ -import { Server as HttpServer } from "http"; +import { type Server as HttpServer } from "http"; import { type AddressInfo } from "node:net"; -import { BaseError } from "@core/errors/errors.base"; +import { type BaseError } from "@core/errors/errors.base"; import { Logger } from "@core/logger/winston.logger"; const logger = Logger("app:websocket.util"); diff --git a/packages/backend/src/sync/controllers/sync.controller.test.ts b/packages/backend/src/sync/controllers/sync.controller.test.ts index be66b69c7..b92fcdeb3 100644 --- a/packages/backend/src/sync/controllers/sync.controller.test.ts +++ b/packages/backend/src/sync/controllers/sync.controller.test.ts @@ -1,7 +1,7 @@ -import { ObjectId, WithId } from "mongodb"; +import { ObjectId, type WithId } from "mongodb"; import { randomUUID } from "node:crypto"; -import { DefaultEventsMap } from "socket.io"; -import { Socket } from "socket.io-client"; +import { type DefaultEventsMap } from "socket.io"; +import { type Socket } from "socket.io-client"; import { faker } from "@faker-js/faker"; import { EVENT_CHANGED, @@ -9,7 +9,7 @@ import { } from "@core/constants/websocket.constants"; import { Status } from "@core/errors/status.codes"; import { Resource_Sync, XGoogleResourceState } from "@core/types/sync.types"; -import { Schema_User } from "@core/types/user.types"; +import { type Schema_User } from "@core/types/user.types"; import { isBase, isInstance } from "@core/util/event/event.util"; import { waitUntilEvent } from "@core/util/wait-until-event.util"; import { BaseDriver } from "@backend/__tests__/drivers/base.driver"; diff --git a/packages/backend/src/sync/controllers/sync.controller.ts b/packages/backend/src/sync/controllers/sync.controller.ts index 820b9d1eb..dcf1c9796 100644 --- a/packages/backend/src/sync/controllers/sync.controller.ts +++ b/packages/backend/src/sync/controllers/sync.controller.ts @@ -1,4 +1,4 @@ -import { NextFunction, Request, Response } from "express"; +import { type NextFunction, type Request, type Response } from "express"; import { ObjectId } from "mongodb"; import { ZodError } from "zod/v4"; import { COMPASS_RESOURCE_HEADER } from "@core/constants/core.constants"; @@ -7,8 +7,8 @@ import { Status } from "@core/errors/status.codes"; import { Logger } from "@core/logger/winston.logger"; import { GcalNotificationSchema, - Payload_Sync_Notif, - Resource_Sync, + type Payload_Sync_Notif, + type Resource_Sync, } from "@core/types/sync.types"; import { error } from "@backend/common/errors/handlers/error.handler"; import { SyncError } from "@backend/common/errors/sync/sync.errors"; @@ -184,7 +184,7 @@ export class SyncController { }; static importGCal = async (req: Request, res: Response) => { - const userId = req.session!.getUserId()!; + const userId = req.session!.getUserId(); userService.restartGoogleCalendarSync(userId); diff --git a/packages/backend/src/sync/controllers/sync.debug.controller.ts b/packages/backend/src/sync/controllers/sync.debug.controller.ts index 46770a79b..76f48615f 100644 --- a/packages/backend/src/sync/controllers/sync.debug.controller.ts +++ b/packages/backend/src/sync/controllers/sync.debug.controller.ts @@ -1,8 +1,11 @@ -import { Request, Response } from "express"; -import { SessionRequest } from "supertokens-node/framework/express"; -import { BaseError } from "@core/errors/errors.base"; +import { type Request, type Response } from "express"; +import { type SessionRequest } from "supertokens-node/framework/express"; +import { type BaseError } from "@core/errors/errors.base"; import { getGcalClient } from "@backend/auth/services/google.auth.service"; -import { Res_Promise, SReqBody } from "@backend/common/types/express.types"; +import { + type Res_Promise, + type SReqBody, +} from "@backend/common/types/express.types"; import { webSocketServer } from "@backend/servers/websocket/websocket.server"; import syncService from "../services/sync.service"; import { getSync } from "../util/sync.queries"; diff --git a/packages/backend/src/sync/services/import/sync.import.ts b/packages/backend/src/sync/services/import/sync.import.ts index a64be838a..db5ba8896 100644 --- a/packages/backend/src/sync/services/import/sync.import.ts +++ b/packages/backend/src/sync/services/import/sync.import.ts @@ -1,16 +1,20 @@ -import { ClientSession, ObjectId } from "mongodb"; +import { type ClientSession, type ObjectId } from "mongodb"; import { Origin } from "@core/constants/core.constants"; import { Logger } from "@core/logger/winston.logger"; import { MapEvent } from "@core/mappers/map.event"; import { - RecurrenceWithoutId, - Schema_Event_Recur_Base, - Schema_Event_Recur_Instance, - WithCompassId, - WithoutCompassId, + type RecurrenceWithoutId, + type Schema_Event_Recur_Base, + type Schema_Event_Recur_Instance, + type WithCompassId, + type WithoutCompassId, } from "@core/types/event.types"; -import { gCalendar, gSchema$Event, gSchema$EventBase } from "@core/types/gcal"; -import { Resource_Sync, SyncDetails } from "@core/types/sync.types"; +import { + type gCalendar, + type gSchema$Event, + type gSchema$EventBase, +} from "@core/types/gcal"; +import { Resource_Sync, type SyncDetails } from "@core/types/sync.types"; import { isBaseGCalEvent } from "@core/util/event/gcal.event.util"; import { getGcalClient } from "@backend/auth/services/google.auth.service"; import { Collections } from "@backend/common/constants/collections"; @@ -22,7 +26,7 @@ import { GcalError } from "@backend/common/errors/integration/gcal/gcal.errors"; import { SyncError } from "@backend/common/errors/sync/sync.errors"; import gcalService from "@backend/common/services/gcal/gcal.service"; import mongoService from "@backend/common/services/mongo.service"; -import { EventsToModify } from "@backend/sync/services/import/sync.import.types"; +import { type EventsToModify } from "@backend/sync/services/import/sync.import.types"; import { organizeGcalEventsByType } from "@backend/sync/services/import/sync.import.util"; import { getCalendarsToSync } from "@backend/sync/services/init/sync.init"; import syncService from "@backend/sync/services/sync.service"; diff --git a/packages/backend/src/sync/services/import/sync.import.types.ts b/packages/backend/src/sync/services/import/sync.import.types.ts index 6b949e186..eeb299f06 100644 --- a/packages/backend/src/sync/services/import/sync.import.types.ts +++ b/packages/backend/src/sync/services/import/sync.import.types.ts @@ -1,9 +1,9 @@ -import { ObjectId } from "mongodb"; -import { Schema_Event } from "@core/types/event.types"; +import { type ObjectId } from "mongodb"; +import { type Schema_Event } from "@core/types/event.types"; import { - gSchema$Event, - gSchema$EventBase, - gSchema$EventInstance, + type gSchema$Event, + type gSchema$EventBase, + type gSchema$EventInstance, } from "@core/types/gcal"; export interface EventsToModify { diff --git a/packages/backend/src/sync/services/import/sync.import.util.test.ts b/packages/backend/src/sync/services/import/sync.import.util.test.ts index 601bc27ac..72ab9ae07 100644 --- a/packages/backend/src/sync/services/import/sync.import.util.test.ts +++ b/packages/backend/src/sync/services/import/sync.import.util.test.ts @@ -1,6 +1,6 @@ import { faker } from "@faker-js/faker"; import { gcalEvents } from "@core/__mocks__/v1/events/gcal/gcal.event"; -import { gSchema$Event } from "@core/types/gcal"; +import { type gSchema$Event } from "@core/types/gcal"; import dayjs from "@core/util/date/dayjs"; import { cancelledEventsIds } from "@backend/common/services/gcal/gcal.utils"; import { organizeGcalEventsByType } from "@backend/sync/services/import/sync.import.util"; diff --git a/packages/backend/src/sync/services/import/sync.import.util.ts b/packages/backend/src/sync/services/import/sync.import.util.ts index 0c64283f0..d71c9c531 100644 --- a/packages/backend/src/sync/services/import/sync.import.util.ts +++ b/packages/backend/src/sync/services/import/sync.import.util.ts @@ -1,6 +1,6 @@ -import { AnyBulkWriteOperation } from "mongodb"; -import { Schema_Event_Core } from "@core/types/event.types"; -import { gSchema$Event } from "@core/types/gcal"; +import { type AnyBulkWriteOperation } from "mongodb"; +import { type Schema_Event_Core } from "@core/types/event.types"; +import { type gSchema$Event } from "@core/types/gcal"; import { cancelledEventsIds } from "@backend/common/services/gcal/gcal.utils"; export const assembleEventOperations = ( diff --git a/packages/backend/src/sync/services/init/sync.init.test.ts b/packages/backend/src/sync/services/init/sync.init.test.ts index 2ac940ad2..85587b55a 100644 --- a/packages/backend/src/sync/services/init/sync.init.test.ts +++ b/packages/backend/src/sync/services/init/sync.init.test.ts @@ -1,5 +1,5 @@ import { GoogleCalendarMetadataSchema } from "@core/types/calendar.types"; -import { gCalendar } from "@core/types/gcal"; +import { type gCalendar } from "@core/types/gcal"; import { StringV4Schema } from "@core/types/type.utils"; import { UtilDriver } from "@backend/__tests__/drivers/util.driver"; import { diff --git a/packages/backend/src/sync/services/init/sync.init.ts b/packages/backend/src/sync/services/init/sync.init.ts index fee334fbd..e156704d6 100644 --- a/packages/backend/src/sync/services/init/sync.init.ts +++ b/packages/backend/src/sync/services/init/sync.init.ts @@ -1,4 +1,4 @@ -import { gCalendar } from "@core/types/gcal"; +import { type gCalendar } from "@core/types/gcal"; import { StringV4Schema } from "@core/types/type.utils"; import gcalService from "@backend/common/services/gcal/gcal.service"; diff --git a/packages/backend/src/sync/services/log/sync.logger.ts b/packages/backend/src/sync/services/log/sync.logger.ts index 658114484..1cce25fea 100644 --- a/packages/backend/src/sync/services/log/sync.logger.ts +++ b/packages/backend/src/sync/services/log/sync.logger.ts @@ -1,7 +1,7 @@ import fs from "fs"; import path from "path"; -import { Schema_Event_Core } from "@core/types/event.types"; -import { gSchema$Event } from "@core/types/gcal"; +import { type Schema_Event_Core } from "@core/types/event.types"; +import { type gSchema$Event } from "@core/types/gcal"; import dayjs from "@core/util/date/dayjs"; interface SyncLogData { diff --git a/packages/backend/src/sync/services/maintain/sync.maintenance.ts b/packages/backend/src/sync/services/maintain/sync.maintenance.ts index cd083365a..3b0e6c049 100644 --- a/packages/backend/src/sync/services/maintain/sync.maintenance.ts +++ b/packages/backend/src/sync/services/maintain/sync.maintenance.ts @@ -1,7 +1,7 @@ import { ObjectId } from "mongodb"; import { Logger } from "@core/logger/winston.logger"; -import { Result_Watch_Stop } from "@core/types/sync.types"; -import { Schema_Watch } from "@core/types/watch.types"; +import { type Result_Watch_Stop } from "@core/types/sync.types"; +import { type Schema_Watch } from "@core/types/watch.types"; import dayjs from "@core/util/date/dayjs"; import { getGcalClient } from "@backend/auth/services/google.auth.service"; import { diff --git a/packages/backend/src/sync/services/notify/handler/gcal.notification.handler.test.ts b/packages/backend/src/sync/services/notify/handler/gcal.notification.handler.test.ts index a47c3b044..83f346ec9 100644 --- a/packages/backend/src/sync/services/notify/handler/gcal.notification.handler.test.ts +++ b/packages/backend/src/sync/services/notify/handler/gcal.notification.handler.test.ts @@ -1,4 +1,4 @@ -import { gCalendar } from "@core/types/gcal"; +import { type gCalendar } from "@core/types/gcal"; import { Resource_Sync } from "@core/types/sync.types"; import { cleanupTestDb, diff --git a/packages/backend/src/sync/services/notify/handler/gcal.notification.handler.ts b/packages/backend/src/sync/services/notify/handler/gcal.notification.handler.ts index 7b445a5cf..ff45599b9 100644 --- a/packages/backend/src/sync/services/notify/handler/gcal.notification.handler.ts +++ b/packages/backend/src/sync/services/notify/handler/gcal.notification.handler.ts @@ -1,9 +1,9 @@ import { Logger } from "@core/logger/winston.logger"; -import { gCalendar } from "@core/types/gcal"; +import { type gCalendar } from "@core/types/gcal"; import { Resource_Sync } from "@core/types/sync.types"; import gcalService from "@backend/common/services/gcal/gcal.service"; import { GcalSyncProcessor } from "@backend/sync/services/sync/gcal.sync.processor"; -import { Summary_Sync } from "@backend/sync/sync.types"; +import { type Summary_Sync } from "@backend/sync/sync.types"; import { updateSync } from "@backend/sync/util/sync.queries"; const logger = Logger("app:gcal.notification.handler"); diff --git a/packages/backend/src/sync/services/sync.service.ts b/packages/backend/src/sync/services/sync.service.ts index 041874536..952397d36 100644 --- a/packages/backend/src/sync/services/sync.service.ts +++ b/packages/backend/src/sync/services/sync.service.ts @@ -1,15 +1,15 @@ -import { ClientSession, ObjectId } from "mongodb"; +import { type ClientSession, ObjectId } from "mongodb"; import { RESULT_NOTIFIED_CLIENT } from "@core/constants/websocket.constants"; import { Logger } from "@core/logger/winston.logger"; -import { gCalendar } from "@core/types/gcal"; +import { type gCalendar } from "@core/types/gcal"; import { - Params_WatchEvents, - Payload_Sync_Notif, + type Params_WatchEvents, + type Payload_Sync_Notif, Resource_Sync, - Result_Watch_Stop, + type Result_Watch_Stop, } from "@core/types/sync.types"; import { ExpirationDateSchema } from "@core/types/type.utils"; -import { Schema_Watch, WatchSchema } from "@core/types/watch.types"; +import { type Schema_Watch, WatchSchema } from "@core/types/watch.types"; import { shouldDoIncrementalGCalSync } from "@core/util/event/event.util"; import { getGcalClient } from "@backend/auth/services/google.auth.service"; import { MONGO_BATCH_SIZE } from "@backend/common/constants/backend.constants"; diff --git a/packages/backend/src/sync/services/sync/__tests__/compass-sync-processor-this-event/base.test.ts b/packages/backend/src/sync/services/sync/__tests__/compass-sync-processor-this-event/base.test.ts index f59e45b09..aa13df31f 100644 --- a/packages/backend/src/sync/services/sync/__tests__/compass-sync-processor-this-event/base.test.ts +++ b/packages/backend/src/sync/services/sync/__tests__/compass-sync-processor-this-event/base.test.ts @@ -4,10 +4,10 @@ import { CalendarProvider, Categories_Recurrence, CompassEventStatus, - CompassThisEvent, + type CompassThisEvent, RecurringEventUpdateScope, - Schema_Event_Recur_Base, - WithCompassId, + type Schema_Event_Recur_Base, + type WithCompassId, } from "@core/types/event.types"; import { parseCompassEventDate } from "@core/util/event/event.util"; import { createMockBaseEvent } from "@core/util/test/ccal.event.factory"; diff --git a/packages/backend/src/sync/services/sync/__tests__/compass-sync-processor-this-event/instance.test.ts b/packages/backend/src/sync/services/sync/__tests__/compass-sync-processor-this-event/instance.test.ts index b33d36bb3..6317ac380 100644 --- a/packages/backend/src/sync/services/sync/__tests__/compass-sync-processor-this-event/instance.test.ts +++ b/packages/backend/src/sync/services/sync/__tests__/compass-sync-processor-this-event/instance.test.ts @@ -4,9 +4,9 @@ import { CalendarProvider, Categories_Recurrence, CompassEventStatus, - CompassThisEvent, + type CompassThisEvent, RecurringEventUpdateScope, - Schema_Event, + type Schema_Event, } from "@core/types/event.types"; import { parseCompassEventDate } from "@core/util/event/event.util"; import { createMockBaseEvent } from "@core/util/test/ccal.event.factory"; @@ -76,7 +76,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( switch (calendarProvider) { case CalendarProvider.GOOGLE: - await testCompassSeriesInGcal(baseEvent!, instances); + await testCompassSeriesInGcal(baseEvent, instances); break; } @@ -88,8 +88,8 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( ...instanceUpdate, _id: instanceUpdate._id.toString(), recurrence: { - ...instanceUpdate.recurrence!, - rule: baseEvent.recurrence!.rule, + ...instanceUpdate.recurrence, + rule: baseEvent.recurrence.rule, }, title: faker.lorem.sentence(3), }; @@ -126,7 +126,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( const otherInstances = await mongoService.event .find({ user, - "recurrence.eventId": baseEvent!._id.toString(), + "recurrence.eventId": baseEvent._id.toString(), _id: { $ne: instanceEvent._id }, }) .toArray(); @@ -138,18 +138,18 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( ...instance, _id: instance._id.toString(), title: payload.title, - recurrence: { eventId: baseEvent!._id.toString() }, + recurrence: { eventId: baseEvent._id.toString() }, }), ); // check that the base event was not updated const _baseEvent = await eventService.readById( user, - baseEvent!._id.toString(), + baseEvent._id.toString(), ); expect(_baseEvent).toEqual( - expect.objectContaining({ title: payload!.title }), + expect.objectContaining({ title: payload.title }), ); switch (calendarProvider) { @@ -158,11 +158,11 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // check that the base event has not been updated in gcal await expect( - _getGcal(user, instanceEvent!.gRecurringEventId!), + _getGcal(user, instanceEvent.gRecurringEventId!), ).resolves.toEqual( expect.objectContaining({ - id: instanceEvent!.gRecurringEventId, - summary: payload!.title, + id: instanceEvent.gRecurringEventId, + summary: payload.title, }), ); @@ -172,7 +172,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(_getGcal(user, instance.gEventId!)).resolves.toEqual( expect.objectContaining({ id: instance.gEventId, - summary: payload!.title, + summary: payload.title, }), ), ), @@ -228,7 +228,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // expect event to have instances const instances = await mongoService.event - .find({ user, "recurrence.eventId": event!._id.toString() }) + .find({ user, "recurrence.eventId": event._id.toString() }) .toArray(); expect(instances).toHaveLength(10); // recurrence rule count @@ -237,7 +237,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( instances.map(() => expect.objectContaining({ - recurrence: { eventId: event!._id.toString() }, + recurrence: { eventId: event._id.toString() }, isSomeday: false, updatedAt: expect.any(Date), origin: CalendarProvider.COMPASS, @@ -280,7 +280,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( gcalInstances.map(() => expect.objectContaining({ - recurringEventId: event!.gEventId, + recurringEventId: event.gEventId, }), ), ), @@ -337,7 +337,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.objectContaining({ ...updatedPayload, _id: instanceUpdate._id, - recurrence: { eventId: event!._id.toString() }, + recurrence: { eventId: event._id.toString() }, description: updatedPayload.description, isSomeday: false, updatedAt: expect.any(Date), @@ -349,7 +349,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( const otherInstances = await mongoService.event .find({ user, - "recurrence.eventId": event!._id.toString(), + "recurrence.eventId": event._id.toString(), _id: { $ne: instanceUpdate._id }, }) .toArray(); @@ -359,7 +359,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(otherInstances).toEqual( expect.arrayContaining( otherInstances.map(() => - expect.objectContaining({ description: event!.description }), + expect.objectContaining({ description: event.description }), ), ), ); @@ -367,11 +367,11 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // check that the base event was not updated const baseEvent = await eventService.readById( user, - event!._id.toString(), + event._id.toString(), ); expect(baseEvent).toEqual( - expect.objectContaining({ description: event!.description }), + expect.objectContaining({ description: event.description }), ); switch (calendarProvider) { @@ -399,7 +399,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( ).resolves.toEqual( expect.objectContaining({ id: updatedInstance!.gRecurringEventId, - description: event!.description, + description: event.description, }), ); @@ -409,7 +409,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(_getGcal(user, instance.gEventId!)).resolves.toEqual( expect.objectContaining({ id: instance.gEventId, - description: event!.description, + description: event.description, }), ), ), @@ -467,7 +467,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // expect event to have instances const instances = await mongoService.event - .find({ user, "recurrence.eventId": event!._id.toString() }) + .find({ user, "recurrence.eventId": event._id.toString() }) .toArray(); expect(instances).toHaveLength(10); // recurrence rule count @@ -476,7 +476,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( instances.map(() => expect.objectContaining({ - recurrence: { eventId: event!._id.toString() }, + recurrence: { eventId: event._id.toString() }, isSomeday: false, updatedAt: expect.any(Date), origin: CalendarProvider.COMPASS, @@ -519,7 +519,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( gcalInstances.map(() => expect.objectContaining({ - recurringEventId: event!.gEventId, + recurringEventId: event.gEventId, }), ), ), @@ -576,7 +576,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.objectContaining({ ...updatedPayload, _id: instanceUpdate._id, - recurrence: { eventId: event!._id.toString() }, + recurrence: { eventId: event._id.toString() }, priority: updatedPayload.priority, isSomeday: false, updatedAt: expect.any(Date), @@ -588,7 +588,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( const otherInstances = await mongoService.event .find({ user, - "recurrence.eventId": event!._id.toString(), + "recurrence.eventId": event._id.toString(), _id: { $ne: instanceUpdate._id }, }) .toArray(); @@ -598,7 +598,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(otherInstances).toEqual( expect.arrayContaining( otherInstances.map(() => - expect.objectContaining({ priority: event!.priority }), + expect.objectContaining({ priority: event.priority }), ), ), ); @@ -606,11 +606,11 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // check that the base event was not updated const baseEvent = await eventService.readById( user, - event!._id.toString(), + event._id.toString(), ); expect(baseEvent).toEqual( - expect.objectContaining({ priority: event!.priority }), + expect.objectContaining({ priority: event.priority }), ); switch (calendarProvider) { @@ -716,7 +716,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // expect event to have instances const instances = await mongoService.event - .find({ user, "recurrence.eventId": event!._id.toString() }) + .find({ user, "recurrence.eventId": event._id.toString() }) .toArray(); expect(instances).toHaveLength(10); // recurrence rule count @@ -725,7 +725,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( instances.map(() => expect.objectContaining({ - recurrence: { eventId: event!._id.toString() }, + recurrence: { eventId: event._id.toString() }, isSomeday: false, updatedAt: expect.any(Date), origin: CalendarProvider.COMPASS, @@ -768,7 +768,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( gcalInstances.map(() => expect.objectContaining({ - recurringEventId: event!.gEventId, + recurringEventId: event.gEventId, }), ), ), @@ -827,7 +827,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.objectContaining({ ...updatedPayload, _id: instanceUpdate._id, - recurrence: { eventId: event!._id.toString() }, + recurrence: { eventId: event._id.toString() }, startDate: updatedPayload.startDate, isSomeday: false, updatedAt: expect.any(Date), @@ -839,7 +839,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( const otherInstances = await mongoService.event .find({ user, - "recurrence.eventId": event!._id.toString(), + "recurrence.eventId": event._id.toString(), _id: { $ne: instanceUpdate._id }, }) .toArray(); @@ -849,7 +849,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(otherInstances).toEqual( expect.arrayContaining( otherInstances.map(() => - expect.not.objectContaining({ startDate: event!.startDate }), + expect.not.objectContaining({ startDate: event.startDate }), ), ), ); @@ -857,11 +857,11 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // check that the base event was not updated const baseEvent = await eventService.readById( user, - event!._id.toString(), + event._id.toString(), ); expect(baseEvent).toEqual( - expect.objectContaining({ startDate: event!.startDate }), + expect.objectContaining({ startDate: event.startDate }), ); switch (calendarProvider) { @@ -961,7 +961,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // expect event to have instances const instances = await mongoService.event - .find({ user, "recurrence.eventId": event!._id.toString() }) + .find({ user, "recurrence.eventId": event._id.toString() }) .toArray(); expect(instances).toHaveLength(10); // recurrence rule count @@ -970,7 +970,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( instances.map(() => expect.objectContaining({ - recurrence: { eventId: event!._id.toString() }, + recurrence: { eventId: event._id.toString() }, isSomeday: false, updatedAt: expect.any(Date), origin: CalendarProvider.COMPASS, @@ -1013,7 +1013,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( gcalInstances.map(() => expect.objectContaining({ - recurringEventId: event!.gEventId, + recurringEventId: event.gEventId, }), ), ), @@ -1072,7 +1072,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.objectContaining({ ...updatedPayload, _id: instanceUpdate._id, - recurrence: { eventId: event!._id.toString() }, + recurrence: { eventId: event._id.toString() }, endDate: updatedPayload.endDate, isSomeday: false, updatedAt: expect.any(Date), @@ -1084,7 +1084,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( const otherInstances = await mongoService.event .find({ user, - "recurrence.eventId": event!._id.toString(), + "recurrence.eventId": event._id.toString(), _id: { $ne: instanceUpdate._id }, }) .toArray(); @@ -1094,7 +1094,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(otherInstances).toEqual( expect.arrayContaining( otherInstances.map(() => - expect.not.objectContaining({ endDate: event!.endDate }), + expect.not.objectContaining({ endDate: event.endDate }), ), ), ); @@ -1102,11 +1102,11 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // check that the base event was not updated const baseEvent = await eventService.readById( user, - event!._id.toString(), + event._id.toString(), ); expect(baseEvent).toEqual( - expect.objectContaining({ endDate: event!.endDate }), + expect.objectContaining({ endDate: event.endDate }), ); switch (calendarProvider) { @@ -1206,7 +1206,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // expect event to have instances const instances = await mongoService.event - .find({ user, "recurrence.eventId": event!._id.toString() }) + .find({ user, "recurrence.eventId": event._id.toString() }) .toArray(); expect(instances).toHaveLength(10); // recurrence rule count @@ -1215,7 +1215,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( instances.map(() => expect.objectContaining({ - recurrence: { eventId: event!._id.toString() }, + recurrence: { eventId: event._id.toString() }, isSomeday: false, updatedAt: expect.any(Date), origin: CalendarProvider.COMPASS, @@ -1258,7 +1258,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( gcalInstances.map(() => expect.objectContaining({ - recurringEventId: event!.gEventId, + recurringEventId: event.gEventId, }), ), ), @@ -1315,7 +1315,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( ...updatedPayload, _id: instanceUpdate._id.toString(), recurrence: expect.objectContaining({ - eventId: event!._id.toString(), + eventId: event._id.toString(), rule: expect.arrayContaining(recurrence.rule), }), endDate: updatedPayload.endDate, @@ -1329,7 +1329,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( const otherInstances = await mongoService.event .find({ user, - "recurrence.eventId": event!._id.toString(), + "recurrence.eventId": event._id.toString(), _id: { $ne: instanceUpdate._id }, }) .toArray(); @@ -1339,11 +1339,11 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // check that the base event was not updated const baseEvent = await eventService.readById( user, - event!._id.toString(), + event._id.toString(), ); expect(baseEvent).toEqual( - expect.objectContaining({ recurrence: event!.recurrence }), + expect.objectContaining({ recurrence: event.recurrence }), ); switch (calendarProvider) { @@ -1353,18 +1353,18 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // check that event exist in gcal const gcalEvent = await _getGcal( user, - updatedInstance!.gEventId!, + updatedInstance.gEventId!, ); expect(gcalEvent).not.toHaveProperty("recurrence"); // check that the base event recurrence has not been updated in gcal await expect( - _getGcal(user, updatedInstance!.gRecurringEventId!), + _getGcal(user, updatedInstance.gRecurringEventId!), ).resolves.toEqual( expect.objectContaining({ - id: updatedInstance!.gRecurringEventId, - recurrence: event!.recurrence!.rule, + id: updatedInstance.gRecurringEventId, + recurrence: event.recurrence!.rule, }), ); @@ -1429,7 +1429,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // expect event to have instances const instances = await mongoService.event - .find({ user, "recurrence.eventId": event!._id.toString() }) + .find({ user, "recurrence.eventId": event._id.toString() }) .toArray(); expect(instances).toHaveLength(10); // recurrence rule count @@ -1438,7 +1438,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( instances.map(() => expect.objectContaining({ - recurrence: { eventId: event!._id.toString() }, + recurrence: { eventId: event._id.toString() }, isSomeday: false, updatedAt: expect.any(Date), origin: CalendarProvider.COMPASS, @@ -1479,7 +1479,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( gcalInstances.map(() => expect.objectContaining({ - recurringEventId: event!.gEventId, + recurringEventId: event.gEventId, }), ), ), @@ -1561,7 +1561,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // expect event to have instances const instances = await mongoService.event - .find({ user, "recurrence.eventId": event!._id.toString() }) + .find({ user, "recurrence.eventId": event._id.toString() }) .toArray(); expect(instances).toHaveLength(10); // recurrence rule count @@ -1570,7 +1570,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( instances.map(() => expect.objectContaining({ - recurrence: { eventId: event!._id.toString() }, + recurrence: { eventId: event._id.toString() }, isSomeday: false, updatedAt: expect.any(Date), origin: CalendarProvider.COMPASS, @@ -1611,7 +1611,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( gcalInstances.map(() => expect.objectContaining({ - recurringEventId: event!.gEventId, + recurringEventId: event.gEventId, }), ), ), @@ -1633,7 +1633,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( _id: deletedInstanceId, recurrence: { ...deletedInstance.recurrence, - rule: event!.recurrence!.rule!, + rule: event.recurrence!.rule!, }, } as CompassThisEvent["payload"], applyTo: RecurringEventUpdateScope.THIS_EVENT, @@ -1662,7 +1662,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // check that other instances still exist const otherInstances = await mongoService.event - .find({ user, "recurrence.eventId": event!._id.toString() }) + .find({ user, "recurrence.eventId": event._id.toString() }) .toArray(); expect(otherInstances).toHaveLength(9); // 10 - 1 deleted @@ -1670,7 +1670,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // check that the base event still exist const baseEvent = await eventService.readById( user, - event!._id.toString(), + event._id.toString(), ); expect(baseEvent).toBeDefined(); @@ -1754,8 +1754,8 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( ...instanceToUpdate, _id: instanceToUpdate._id.toString(), recurrence: { - ...instanceToUpdate.recurrence!, - rule: baseEvent.recurrence!.rule, + ...instanceToUpdate.recurrence, + rule: baseEvent.recurrence.rule, }, title: newTitle, description: newDescription, @@ -1796,7 +1796,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( const otherInstances = await mongoService.event .find({ user, - "recurrence.eventId": baseEvent!._id.toString(), + "recurrence.eventId": baseEvent._id.toString(), _id: { $ne: instanceEvent._id }, }) .toArray(); @@ -1811,12 +1811,12 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // Verify the base event was NOT updated const _baseEvent = await eventService.readById( user, - baseEvent!._id.toString(), + baseEvent._id.toString(), ); expect(_baseEvent).toEqual( expect.objectContaining({ - title: payload!.title, + title: payload.title, description: payload.description, }), ); diff --git a/packages/backend/src/sync/services/sync/__tests__/compass-sync-processor-this-event/regular.test.ts b/packages/backend/src/sync/services/sync/__tests__/compass-sync-processor-this-event/regular.test.ts index 16dcd2cc6..413dcbd30 100644 --- a/packages/backend/src/sync/services/sync/__tests__/compass-sync-processor-this-event/regular.test.ts +++ b/packages/backend/src/sync/services/sync/__tests__/compass-sync-processor-this-event/regular.test.ts @@ -4,7 +4,7 @@ import { CalendarProvider, Categories_Recurrence, CompassEventStatus, - CompassThisEvent, + type CompassThisEvent, RecurringEventUpdateScope, } from "@core/types/event.types"; import { parseCompassEventDate } from "@core/util/event/event.util"; @@ -1179,7 +1179,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( switch (calendarProvider) { case CalendarProvider.GOOGLE: - await testCompassSeriesInGcal(baseEvent!, instances); + await testCompassSeriesInGcal(baseEvent, instances); break; } }); diff --git a/packages/backend/src/sync/services/sync/__tests__/compass.sync.processor.all-event.test.ts b/packages/backend/src/sync/services/sync/__tests__/compass.sync.processor.all-event.test.ts index 1e252e740..97e292a94 100644 --- a/packages/backend/src/sync/services/sync/__tests__/compass.sync.processor.all-event.test.ts +++ b/packages/backend/src/sync/services/sync/__tests__/compass.sync.processor.all-event.test.ts @@ -4,10 +4,10 @@ import { Priorities } from "@core/constants/core.constants"; import { CalendarProvider, Categories_Recurrence, - CompassAllEvents, - CompassEvent, + type CompassAllEvents, + type CompassEvent, CompassEventStatus, - CompassThisEvent, + type CompassThisEvent, RecurringEventUpdateScope, } from "@core/types/event.types"; import { parseCompassEventDate } from "@core/util/event/event.util"; @@ -86,7 +86,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // expect event to have instances const instances = await mongoService.event - .find({ user, "recurrence.eventId": event!._id.toString() }) + .find({ user, "recurrence.eventId": event._id.toString() }) .toArray(); expect(instances).toHaveLength(10); // recurrence rule count @@ -95,7 +95,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( instances.map(() => expect.objectContaining({ - recurrence: { eventId: event!._id.toString() }, + recurrence: { eventId: event._id.toString() }, isSomeday: false, updatedAt: expect.any(Date), origin: CalendarProvider.COMPASS, @@ -136,7 +136,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( gcalInstances.map(() => expect.objectContaining({ - recurringEventId: event!.gEventId, + recurringEventId: event.gEventId, }), ), ), @@ -188,7 +188,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(updatedBase).toEqual( expect.objectContaining({ - recurrence: { rule: event!.recurrence?.rule }, + recurrence: { rule: event.recurrence?.rule }, title: updatedPayload.title, isSomeday: false, updatedAt: expect.any(Date), @@ -200,7 +200,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( const updatedInstances = await mongoService.event .find({ user, - "recurrence.eventId": event!._id.toString(), + "recurrence.eventId": event._id.toString(), }) .toArray(); @@ -209,7 +209,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(updatedInstances).toEqual( expect.arrayContaining( updatedInstances.map(() => - expect.objectContaining({ title: updatedPayload!.title }), + expect.objectContaining({ title: updatedPayload.title }), ), ), ); @@ -237,7 +237,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(_getGcal(user, instance.gEventId!)).resolves.toEqual( expect.objectContaining({ id: instance.gEventId, - summary: updatedPayload!.title, + summary: updatedPayload.title, }), ), ), @@ -293,7 +293,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // expect event to have instances const instances = await mongoService.event - .find({ user, "recurrence.eventId": event!._id.toString() }) + .find({ user, "recurrence.eventId": event._id.toString() }) .toArray(); expect(instances).toHaveLength(10); // recurrence rule count @@ -302,7 +302,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( instances.map(() => expect.objectContaining({ - recurrence: { eventId: event!._id.toString() }, + recurrence: { eventId: event._id.toString() }, isSomeday: false, updatedAt: expect.any(Date), origin: CalendarProvider.COMPASS, @@ -343,7 +343,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( gcalInstances.map(() => expect.objectContaining({ - recurringEventId: event!.gEventId, + recurringEventId: event.gEventId, }), ), ), @@ -395,7 +395,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(updatedBase).toEqual( expect.objectContaining({ - recurrence: { rule: event!.recurrence?.rule }, + recurrence: { rule: event.recurrence?.rule }, description: updatedPayload.description, isSomeday: false, updatedAt: expect.any(Date), @@ -407,7 +407,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( const updatedInstances = await mongoService.event .find({ user, - "recurrence.eventId": event!._id.toString(), + "recurrence.eventId": event._id.toString(), }) .toArray(); @@ -417,7 +417,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( updatedInstances.map(() => expect.objectContaining({ - description: updatedPayload!.description, + description: updatedPayload.description, }), ), ), @@ -446,7 +446,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(_getGcal(user, instance.gEventId!)).resolves.toEqual( expect.objectContaining({ id: instance.gEventId, - description: updatedPayload!.description, + description: updatedPayload.description, }), ), ), @@ -504,7 +504,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // expect event to have instances const instances = await mongoService.event - .find({ user, "recurrence.eventId": event!._id.toString() }) + .find({ user, "recurrence.eventId": event._id.toString() }) .toArray(); expect(instances).toHaveLength(10); // recurrence rule count @@ -514,7 +514,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( instances.map(() => expect.objectContaining({ priority: Priorities.SELF, - recurrence: { eventId: event!._id.toString() }, + recurrence: { eventId: event._id.toString() }, isSomeday: false, updatedAt: expect.any(Date), origin: CalendarProvider.COMPASS, @@ -560,7 +560,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( gcalInstances.map(() => expect.objectContaining({ - recurringEventId: event!.gEventId, + recurringEventId: event.gEventId, extendedProperties: expect.objectContaining({ private: expect.objectContaining({ priority: Priorities.SELF, @@ -617,7 +617,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(updatedBase).toEqual( expect.objectContaining({ - recurrence: { rule: event!.recurrence?.rule }, + recurrence: { rule: event.recurrence?.rule }, priority: Priorities.RELATIONS, isSomeday: false, updatedAt: expect.any(Date), @@ -629,7 +629,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( const updatedInstances = await mongoService.event .find({ user, - "recurrence.eventId": event!._id.toString(), + "recurrence.eventId": event._id.toString(), }) .toArray(); @@ -730,7 +730,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // expect event to have instances const instances = await mongoService.event - .find({ user, "recurrence.eventId": event!._id.toString() }) + .find({ user, "recurrence.eventId": event._id.toString() }) .toArray(); expect(instances).toHaveLength(10); // recurrence rule count @@ -739,7 +739,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( instances.map(() => expect.objectContaining({ - recurrence: { eventId: event!._id.toString() }, + recurrence: { eventId: event._id.toString() }, isSomeday: false, updatedAt: expect.any(Date), origin: CalendarProvider.COMPASS, @@ -780,7 +780,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( gcalInstances.map(() => expect.objectContaining({ - recurringEventId: event!.gEventId, + recurringEventId: event.gEventId, }), ), ), @@ -834,7 +834,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(updatedBase).toEqual( expect.objectContaining({ - recurrence: { rule: event!.recurrence?.rule }, + recurrence: { rule: event.recurrence?.rule }, startDate: expect.not.stringMatching(updatedPayload.startDate), isSomeday: false, updatedAt: expect.any(Date), @@ -846,7 +846,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( const updatedInstances = await mongoService.event .find({ user, - "recurrence.eventId": event!._id.toString(), + "recurrence.eventId": event._id.toString(), }) .toArray(); @@ -951,7 +951,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // expect event to have instances const instances = await mongoService.event - .find({ user, "recurrence.eventId": event!._id.toString() }) + .find({ user, "recurrence.eventId": event._id.toString() }) .toArray(); expect(instances).toHaveLength(10); // recurrence rule count @@ -960,7 +960,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( instances.map(() => expect.objectContaining({ - recurrence: { eventId: event!._id.toString() }, + recurrence: { eventId: event._id.toString() }, isSomeday: false, updatedAt: expect.any(Date), origin: CalendarProvider.COMPASS, @@ -1001,7 +1001,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( gcalInstances.map(() => expect.objectContaining({ - recurringEventId: event!.gEventId, + recurringEventId: event.gEventId, }), ), ), @@ -1055,7 +1055,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(updatedBase).toEqual( expect.objectContaining({ - recurrence: { rule: event!.recurrence?.rule }, + recurrence: { rule: event.recurrence?.rule }, endDate: expect.not.stringMatching(updatedPayload.endDate), isSomeday: false, updatedAt: expect.any(Date), @@ -1067,7 +1067,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( const updatedInstances = await mongoService.event .find({ user, - "recurrence.eventId": event!._id.toString(), + "recurrence.eventId": event._id.toString(), }) .toArray(); @@ -1172,7 +1172,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // expect event to have instances const instances = await mongoService.event - .find({ user, "recurrence.eventId": event!._id.toString() }) + .find({ user, "recurrence.eventId": event._id.toString() }) .toArray(); expect(instances).toHaveLength(10); // recurrence rule count @@ -1181,7 +1181,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( instances.map(() => expect.objectContaining({ - recurrence: { eventId: event!._id.toString() }, + recurrence: { eventId: event._id.toString() }, isSomeday: false, updatedAt: expect.any(Date), origin: CalendarProvider.COMPASS, @@ -1224,7 +1224,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( gcalInstances.map(() => expect.objectContaining({ - recurringEventId: event!.gEventId, + recurringEventId: event.gEventId, }), ), ), @@ -1288,7 +1288,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( title: updatedPayload.title, priority: updatedPayload.priority, isAllDay: updatedPayload.isAllDay, - recurrence: { rule: event!.recurrence!.rule }, + recurrence: { rule: event.recurrence!.rule }, user: updatedPayload.user, isSomeday: true, updatedAt: expect.any(Date), @@ -1319,7 +1319,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( newInstances.forEach((instance) => { expect.objectContaining({ - recurrence: { eventId: event!._id.toString() }, + recurrence: { eventId: event._id.toString() }, isSomeday: true, updatedAt: expect.any(Date), origin: CalendarProvider.COMPASS, @@ -1331,9 +1331,9 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // check that the base event has been deleted in gcal await expect( - _getGcal(user, instanceUpdate!.gRecurringEventId!), + _getGcal(user, instanceUpdate.gRecurringEventId!), ).rejects.toThrow( - `Event with id ${instanceUpdate!.gRecurringEventId} not found`, + `Event with id ${instanceUpdate.gRecurringEventId} not found`, ); // check that other instances has been deleted in gcal @@ -1369,7 +1369,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( switch (calendarProvider) { case CalendarProvider.GOOGLE: - await testCompassSeriesInGcal(baseEvent!, instances); + await testCompassSeriesInGcal(baseEvent, instances); break; } @@ -1382,7 +1382,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( _id: instanceToUpdate._id.toString(), recurrence: { rule: ["RRULE:FREQ=DAILY;COUNT=5"], - eventId: instanceToUpdate.recurrence!.eventId, + eventId: instanceToUpdate.recurrence.eventId, }, }; @@ -1406,7 +1406,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( ); const updatedBase = await mongoService.event.findOne({ - _id: new ObjectId(instanceToUpdate.recurrence!.eventId), + _id: new ObjectId(instanceToUpdate.recurrence.eventId), user, }); @@ -1425,7 +1425,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( switch (calendarProvider) { case CalendarProvider.GOOGLE: await testCompassSeriesInGcal( - updatedBaseEvent!, + updatedBaseEvent, updatedInstances, ); break; @@ -1478,7 +1478,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( // expect event to have instances const instances = await mongoService.event - .find({ user, "recurrence.eventId": event!._id.toString() }) + .find({ user, "recurrence.eventId": event._id.toString() }) .toArray(); expect(instances).toHaveLength(10); // recurrence rule count @@ -1487,7 +1487,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( instances.map(() => expect.objectContaining({ - recurrence: { eventId: event!._id.toString() }, + recurrence: { eventId: event._id.toString() }, isSomeday: false, updatedAt: expect.any(Date), origin: CalendarProvider.COMPASS, @@ -1530,7 +1530,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect.arrayContaining( gcalInstances.map(() => expect.objectContaining({ - recurringEventId: event!.gEventId, + recurringEventId: event.gEventId, }), ), ), @@ -1590,7 +1590,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(baseToStandaloneEvent).toEqual( expect.objectContaining({ - _id: new ObjectId(updatedPayload!.recurrence!.eventId), + _id: new ObjectId(updatedPayload.recurrence.eventId), title: updatedPayload.title, priority: updatedPayload.priority, isAllDay: updatedPayload.isAllDay, @@ -1605,7 +1605,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( const otherInstances = await mongoService.event .find({ user, - "recurrence.eventId": event!._id.toString(), + "recurrence.eventId": event._id.toString(), }) .toArray(); @@ -1665,7 +1665,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( switch (calendarProvider) { case CalendarProvider.GOOGLE: - await testCompassSeriesInGcal(baseEvent!, instances); + await testCompassSeriesInGcal(baseEvent, instances); break; } @@ -1676,8 +1676,8 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( const updatedPayload = { ...instanceToUpdate, recurrence: { - rule: baseEvent!.recurrence!.rule, - eventId: instanceToUpdate.recurrence!.eventId, + rule: baseEvent.recurrence.rule, + eventId: instanceToUpdate.recurrence.eventId, }, _id: instanceToUpdate._id.toString(), }; @@ -1712,7 +1712,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( mongoService.event .find({ user: payload.user, - "recurrence.eventId": baseEvent!._id.toString(), + "recurrence.eventId": baseEvent._id.toString(), }) .toArray(), ).resolves.toHaveLength(0); diff --git a/packages/backend/src/sync/services/sync/__tests__/compass.sync.processor.test.ts b/packages/backend/src/sync/services/sync/__tests__/compass.sync.processor.test.ts index b7a692ba3..07a9bab19 100644 --- a/packages/backend/src/sync/services/sync/__tests__/compass.sync.processor.test.ts +++ b/packages/backend/src/sync/services/sync/__tests__/compass.sync.processor.test.ts @@ -5,7 +5,7 @@ import { } from "@core/constants/websocket.constants"; import { Categories_Recurrence, - CompassEvent, + type CompassEvent, CompassEventStatus, RecurringEventUpdateScope, } from "@core/types/event.types"; @@ -15,7 +15,7 @@ import { } from "@core/util/test/ccal.event.factory"; import { webSocketServer } from "@backend/servers/websocket/websocket.server"; import { CompassSyncProcessor } from "@backend/sync/services/sync/compass.sync.processor"; -import { Event_Transition } from "@backend/sync/sync.types"; +import { type Event_Transition } from "@backend/sync/sync.types"; // Import the enum diff --git a/packages/backend/src/sync/services/sync/__tests__/compass.sync.processor.this-and-following-event.test.ts b/packages/backend/src/sync/services/sync/__tests__/compass.sync.processor.this-and-following-event.test.ts index 69148ca72..e2da632d2 100644 --- a/packages/backend/src/sync/services/sync/__tests__/compass.sync.processor.this-and-following-event.test.ts +++ b/packages/backend/src/sync/services/sync/__tests__/compass.sync.processor.this-and-following-event.test.ts @@ -1,15 +1,15 @@ -import { WithId } from "mongodb"; +import { type WithId } from "mongodb"; import { faker } from "@faker-js/faker"; import { Priorities } from "@core/constants/core.constants"; import { CalendarProvider, Categories_Recurrence, CompassEventStatus, - CompassThisAndFollowingEvent, - CompassThisEvent, + type CompassThisAndFollowingEvent, + type CompassThisEvent, RecurringEventUpdateScope, - Schema_Event, - Schema_Event_Recur_Base, + type Schema_Event, + type Schema_Event_Recur_Base, } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; import { parseCompassEventDate } from "@core/util/event/event.util"; @@ -162,7 +162,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(until).toBeDefined(); - const untilDay = dayjs(until!, dayjs.DateFormat.RFC5545); + const untilDay = dayjs(until, dayjs.DateFormat.RFC5545); oldInstances.forEach(({ startDate }) => expect( @@ -195,7 +195,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(newUntil).toBeDefined(); - const newUntilDay = dayjs(newUntil!, dayjs.DateFormat.RFC5545); + const newUntilDay = dayjs(newUntil, dayjs.DateFormat.RFC5545); newInstances.forEach(({ startDate, title }) => { expect( @@ -388,7 +388,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(until).toBeDefined(); - const untilDay = dayjs(until!, dayjs.DateFormat.RFC5545); + const untilDay = dayjs(until, dayjs.DateFormat.RFC5545); oldInstances.forEach(({ startDate }) => expect( @@ -421,7 +421,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(newUntil).toBeDefined(); - const newUntilDay = dayjs(newUntil!, dayjs.DateFormat.RFC5545); + const newUntilDay = dayjs(newUntil, dayjs.DateFormat.RFC5545); newInstances.forEach(({ startDate, description }) => { expect( @@ -616,7 +616,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(until).toBeDefined(); - const untilDay = dayjs(until!, dayjs.DateFormat.RFC5545); + const untilDay = dayjs(until, dayjs.DateFormat.RFC5545); oldInstances.forEach(({ startDate }) => expect( @@ -649,7 +649,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(newUntil).toBeDefined(); - const newUntilDay = dayjs(newUntil!, dayjs.DateFormat.RFC5545); + const newUntilDay = dayjs(newUntil, dayjs.DateFormat.RFC5545); newInstances.forEach(({ startDate, priority }) => { expect( @@ -834,7 +834,7 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( expect(until).toBeDefined(); - const untilDay = dayjs(until!, dayjs.DateFormat.RFC5545); + const untilDay = dayjs(until, dayjs.DateFormat.RFC5545); oldInstances.forEach(({ startDate }) => expect( @@ -884,14 +884,14 @@ describe.each([{ calendarProvider: CalendarProvider.GOOGLE }])( switch (calendarProvider) { case CalendarProvider.GOOGLE: await expect( - _getGcal(user, baseEvent._id.toString()!), + _getGcal(user, baseEvent._id.toString()), ).rejects.toThrow( `Event with id ${baseEvent._id.toString()} not found`, ); instances.forEach(async (instance) => { await expect( - _getGcal(user, instance._id.toString()!), + _getGcal(user, instance._id.toString()), ).rejects.toThrow( `Event with id ${instance._id.toString()} not found`, ); diff --git a/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.delete.test.ts b/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.delete.test.ts index eb513d388..366001934 100644 --- a/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.delete.test.ts +++ b/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.delete.test.ts @@ -1,6 +1,6 @@ import { RRule } from "rrule"; import { Categories_Recurrence } from "@core/types/event.types"; -import { WithGcalId, gSchema$Event } from "@core/types/gcal"; +import { type WithGcalId, type gSchema$Event } from "@core/types/gcal"; import { categorizeEvents } from "@core/util/event/event.util"; import { UtilDriver } from "@backend/__tests__/drivers/util.driver"; import { diff --git a/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.delete.util.ts b/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.delete.util.ts index 73bef05b0..7af28a279 100644 --- a/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.delete.util.ts +++ b/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.delete.util.ts @@ -1,5 +1,5 @@ -import { ObjectId, WithId } from "mongodb"; -import { Schema_User } from "@core/types/user.types"; +import { ObjectId, type WithId } from "mongodb"; +import { type Schema_User } from "@core/types/user.types"; import { createRecurrenceSeries } from "@backend/__tests__/mocks.db/ccal.mock.db.util"; import { mockRecurringGcalEvents } from "@backend/__tests__/mocks.gcal/factories/gcal.event.factory"; diff --git a/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.test.util.ts b/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.test.util.ts index 57dca0891..21251648d 100644 --- a/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.test.util.ts +++ b/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.test.util.ts @@ -1,12 +1,15 @@ -import { Filter, ObjectId, WithId } from "mongodb"; +import { type Filter, ObjectId, type WithId } from "mongodb"; import { - Event_Core, - Schema_Event, - Schema_Event_Recur_Base, - Schema_Event_Recur_Instance, + type Event_Core, + type Schema_Event, + type Schema_Event_Recur_Base, + type Schema_Event_Recur_Instance, } from "@core/types/event.types"; -import { gSchema$EventBase, gSchema$EventInstance } from "@core/types/gcal"; -import { Schema_User } from "@core/types/user.types"; +import { + type gSchema$EventBase, + type gSchema$EventInstance, +} from "@core/types/gcal"; +import { type Schema_User } from "@core/types/user.types"; import dayjs from "@core/util/date/dayjs"; import { categorizeEvents, @@ -14,10 +17,10 @@ import { isInstance, } from "@core/util/event/event.util"; import { getEventsInDb } from "@backend/__tests__/helpers/mock.db.queries"; -import { State_AfterGcalImport } from "@backend/__tests__/helpers/mock.events.init"; +import { type State_AfterGcalImport } from "@backend/__tests__/helpers/mock.events.init"; import { createRecurrenceSeries } from "@backend/__tests__/mocks.db/ccal.mock.db.util"; import { mockRecurringGcalInstances } from "@backend/__tests__/mocks.gcal/factories/gcal.event.factory"; -import { Event_API } from "@backend/common/types/backend.event.types"; +import { type Event_API } from "@backend/common/types/backend.event.types"; import { validateEventSafely } from "@backend/common/validators/validate.event"; /** Utility assertions for the gcal sync processor tests */ @@ -44,7 +47,7 @@ export const createCompassSeriesFromGcalBase = async ( title: gBase.summary as string, user: user._id.toString(), _id: baseCompassId, - gEventId: gBase.id as string, + gEventId: gBase.id, recurrence: { rule: ["RRULE:FREQ=DAILY"], }, diff --git a/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.upsert.base.split.test.ts b/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.upsert.base.split.test.ts index 01897158d..c5f959184 100644 --- a/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.upsert.base.split.test.ts +++ b/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.upsert.base.split.test.ts @@ -1,6 +1,9 @@ import { calendar } from "@googleapis/calendar"; -import { Categories_Recurrence, Schema_Event } from "@core/types/event.types"; -import { gSchema$Event } from "@core/types/gcal"; +import { + Categories_Recurrence, + type Schema_Event, +} from "@core/types/event.types"; +import { type gSchema$Event } from "@core/types/gcal"; import { isInstance } from "@core/util/event/event.util"; import { UtilDriver } from "@backend/__tests__/drivers/util.driver"; import { getEventsInDb } from "@backend/__tests__/helpers/mock.db.queries"; @@ -52,25 +55,25 @@ describe("GcalSyncProcessor: UPSERT: BASE SPLIT", () => { expect(changes).toEqual( expect.arrayContaining([ { - title: gBaseWithUntil.summary as string, + title: gBaseWithUntil.summary, category: Categories_Recurrence.RECURRENCE_BASE, operation: "SERIES_DELETED", transition: ["RECURRENCE_BASE", "RECURRENCE_BASE_CONFIRMED"], }, { - title: gBaseWithUntil.summary as string, + title: gBaseWithUntil.summary, category: Categories_Recurrence.RECURRENCE_BASE, operation: "SERIES_CREATED", transition: ["RECURRENCE_BASE", "RECURRENCE_BASE_CONFIRMED"], }, { - title: gBaseWithUntil.summary as string, + title: gBaseWithUntil.summary, category: Categories_Recurrence.RECURRENCE_BASE, operation: "RECURRENCE_BASE_UPDATED", transition: ["RECURRENCE_BASE", "RECURRENCE_BASE_CONFIRMED"], }, { - title: gBaseWithUntil.summary as string, + title: gBaseWithUntil.summary, category: Categories_Recurrence.RECURRENCE_BASE, operation: "TIMED_INSTANCES_UPDATED", transition: ["RECURRENCE_BASE", "RECURRENCE_BASE_CONFIRMED"], diff --git a/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.upsert.base.test.ts b/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.upsert.base.test.ts index 01cdd9e33..b87be6846 100644 --- a/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.upsert.base.test.ts +++ b/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.upsert.base.test.ts @@ -1,5 +1,5 @@ import { Categories_Recurrence } from "@core/types/event.types"; -import { gSchema$EventBase } from "@core/types/gcal"; +import { type gSchema$EventBase } from "@core/types/gcal"; import dayjs from "@core/util/date/dayjs"; import { categorizeEvents } from "@core/util/event/event.util"; import { UtilDriver } from "@backend/__tests__/drivers/util.driver"; diff --git a/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.upsert.instance.test.ts b/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.upsert.instance.test.ts index 0a902987b..133738a8b 100644 --- a/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.upsert.instance.test.ts +++ b/packages/backend/src/sync/services/sync/__tests__/gcal.sync.processor.upsert.instance.test.ts @@ -1,5 +1,5 @@ import { Categories_Recurrence } from "@core/types/event.types"; -import { gSchema$Event } from "@core/types/gcal"; +import { type gSchema$Event } from "@core/types/gcal"; import { UtilDriver } from "@backend/__tests__/drivers/util.driver"; import { cleanupCollections, @@ -163,7 +163,7 @@ describe("GcalSyncProcessor UPSERT: INSTANCE", () => { user: user._id.toString(), }), mongoService.event.findOne({ - gEventId: base.id!, + gEventId: base.id, user: user._id.toString(), }), mongoService.event.findOne({ @@ -172,7 +172,7 @@ describe("GcalSyncProcessor UPSERT: INSTANCE", () => { }), mongoService.event .find({ - gRecurringEventId: base.id!, + gRecurringEventId: base.id, user: user._id.toString(), gEventId: { $ne: instance.id! }, }) diff --git a/packages/backend/src/sync/services/sync/compass.sync.processor.ts b/packages/backend/src/sync/services/sync/compass.sync.processor.ts index 30fa1c413..759ef606f 100644 --- a/packages/backend/src/sync/services/sync/compass.sync.processor.ts +++ b/packages/backend/src/sync/services/sync/compass.sync.processor.ts @@ -1,17 +1,17 @@ -import { ClientSession } from "mongodb"; +import { type ClientSession } from "mongodb"; import { EVENT_CHANGED, SOMEDAY_EVENT_CHANGED, } from "@core/constants/websocket.constants"; import { Logger } from "@core/logger/winston.logger"; -import { CompassEvent } from "@core/types/event.types"; +import { type CompassEvent } from "@core/types/event.types"; import { GenericError } from "@backend/common/errors/generic/generic.errors"; import { error } from "@backend/common/errors/handlers/error.handler"; import mongoService from "@backend/common/services/mongo.service"; import { CompassEventFactory } from "@backend/event/classes/compass.event.generator"; import { CompassEventParser } from "@backend/event/classes/compass.event.parser"; import { webSocketServer } from "@backend/servers/websocket/websocket.server"; -import { Event_Transition } from "@backend/sync/sync.types"; +import { type Event_Transition } from "@backend/sync/sync.types"; const logger = Logger("app.compass.sync.processor"); diff --git a/packages/backend/src/sync/services/sync/gcal.sync.processor.ts b/packages/backend/src/sync/services/sync/gcal.sync.processor.ts index b2fafc831..40b6c6ade 100644 --- a/packages/backend/src/sync/services/sync/gcal.sync.processor.ts +++ b/packages/backend/src/sync/services/sync/gcal.sync.processor.ts @@ -1,12 +1,12 @@ -import { ClientSession } from "mongodb"; +import { type ClientSession } from "mongodb"; import { Logger } from "@core/logger/winston.logger"; -import { WithGcalId, gSchema$Event } from "@core/types/gcal"; +import { type WithGcalId, type gSchema$Event } from "@core/types/gcal"; import { EventError } from "@backend/common/errors/event/event.errors"; import { GenericError } from "@backend/common/errors/generic/generic.errors"; import { error } from "@backend/common/errors/handlers/error.handler"; import mongoService from "@backend/common/services/mongo.service"; import { GcalEventParser } from "@backend/event/classes/gcal.event.parser"; -import { Event_Transition } from "@backend/sync/sync.types"; +import { type Event_Transition } from "@backend/sync/sync.types"; const logger = Logger("app.gcal.sync.processor"); export class GcalSyncProcessor { diff --git a/packages/backend/src/sync/sync.routes.config.ts b/packages/backend/src/sync/sync.routes.config.ts index f22451f07..c3c3b54a1 100644 --- a/packages/backend/src/sync/sync.routes.config.ts +++ b/packages/backend/src/sync/sync.routes.config.ts @@ -1,4 +1,4 @@ -import express from "express"; +import type express from "express"; import { verifySession } from "supertokens-node/recipe/session/framework/express"; import { GCAL_NOTIFICATION_ENDPOINT, diff --git a/packages/backend/src/sync/sync.types.ts b/packages/backend/src/sync/sync.types.ts index 8265fe4c3..a6d788b12 100644 --- a/packages/backend/src/sync/sync.types.ts +++ b/packages/backend/src/sync/sync.types.ts @@ -1,8 +1,8 @@ -import { ObjectId } from "mongodb"; +import { type ObjectId } from "mongodb"; import { - Categories_Recurrence, - Event_Core, - TransitionCategoriesRecurrence, + type Categories_Recurrence, + type Event_Core, + type TransitionCategoriesRecurrence, } from "@core/types/event.types"; export type Event_Core_WithObjectId = Omit & { diff --git a/packages/backend/src/sync/util/sync.queries.ts b/packages/backend/src/sync/util/sync.queries.ts index f9ee240e0..2da4e70db 100644 --- a/packages/backend/src/sync/util/sync.queries.ts +++ b/packages/backend/src/sync/util/sync.queries.ts @@ -1,10 +1,14 @@ -import { ClientSession, UpdateFilter, UpdateResult } from "mongodb"; +import { + type ClientSession, + type UpdateFilter, + type UpdateResult, +} from "mongodb"; import zod from "zod"; import { Origin } from "@core/constants/core.constants"; import { Resource_Sync, - Schema_Sync, - SyncDetails, + type Schema_Sync, + type SyncDetails, } from "@core/types/sync.types"; import dayjs from "@core/util/date/dayjs"; import mongoService from "@backend/common/services/mongo.service"; diff --git a/packages/backend/src/sync/util/watch.util.ts b/packages/backend/src/sync/util/watch.util.ts index 915f87678..38ef6f175 100644 --- a/packages/backend/src/sync/util/watch.util.ts +++ b/packages/backend/src/sync/util/watch.util.ts @@ -1,6 +1,6 @@ import { Logger } from "@core/logger/winston.logger"; import { zBase64String } from "@core/types/type.utils"; -import { ChannelToken, ChannelTokenSchema } from "@core/types/watch.types"; +import { type ChannelToken, ChannelTokenSchema } from "@core/types/watch.types"; import { ENV } from "@backend/common/constants/env.constants"; const logger = Logger("app:sync.watch.util"); diff --git a/packages/backend/src/user/controllers/user.controller.ts b/packages/backend/src/user/controllers/user.controller.ts index fa448f0f1..608b13aac 100644 --- a/packages/backend/src/user/controllers/user.controller.ts +++ b/packages/backend/src/user/controllers/user.controller.ts @@ -1,9 +1,9 @@ -import { Request, Response } from "express"; +import { type Request, type Response } from "express"; import { BaseError } from "@core/errors/errors.base"; import { Status } from "@core/errors/status.codes"; import { zObjectId } from "@core/types/type.utils"; -import { UserMetadata, UserProfile } from "@core/types/user.types"; -import { SReqBody } from "@backend/common/types/express.types"; +import { type UserMetadata, type UserProfile } from "@core/types/user.types"; +import { type SReqBody } from "@backend/common/types/express.types"; import userMetadataService from "@backend/user/services/user-metadata.service"; import userService from "@backend/user/services/user.service"; diff --git a/packages/backend/src/user/services/user-metadata.service.ts b/packages/backend/src/user/services/user-metadata.service.ts index 35664e5dd..243ae0a7c 100644 --- a/packages/backend/src/user/services/user-metadata.service.ts +++ b/packages/backend/src/user/services/user-metadata.service.ts @@ -1,8 +1,8 @@ import mergeWith from "lodash.mergewith"; import SupertokensUserMetadata, { - JSONObject, + type JSONObject, } from "supertokens-node/recipe/usermetadata"; -import { UserMetadata } from "@core/types/user.types"; +import { type UserMetadata } from "@core/types/user.types"; class UserMetadataService { /* diff --git a/packages/backend/src/user/services/user.service.ts b/packages/backend/src/user/services/user.service.ts index 4193ea7b6..8ea50e097 100644 --- a/packages/backend/src/user/services/user.service.ts +++ b/packages/backend/src/user/services/user.service.ts @@ -1,13 +1,17 @@ -import { TokenPayload } from "google-auth-library"; -import { ClientSession, ObjectId } from "mongodb"; +import { type TokenPayload } from "google-auth-library"; +import { type ClientSession, ObjectId } from "mongodb"; import SupertokensUserMetadata, { - JSONObject, + type JSONObject, } from "supertokens-node/recipe/usermetadata"; import { Logger } from "@core/logger/winston.logger"; import { mapUserToCompass } from "@core/mappers/map.user"; import { Resource_Sync } from "@core/types/sync.types"; import { zObjectId } from "@core/types/type.utils"; -import { Schema_User, UserMetadata, UserProfile } from "@core/types/user.types"; +import { + type Schema_User, + type UserMetadata, + type UserProfile, +} from "@core/types/user.types"; import { shouldImportGCal } from "@core/util/event/event.util"; import compassAuthService from "@backend/auth/services/compass.auth.service"; import { getGcalClient } from "@backend/auth/services/google.auth.service"; @@ -22,7 +26,7 @@ import { webSocketServer } from "@backend/servers/websocket/websocket.server"; import syncService from "@backend/sync/services/sync.service"; import { isUsingHttps } from "@backend/sync/util/sync.util"; import userMetadataService from "@backend/user/services/user-metadata.service"; -import { Summary_Delete } from "@backend/user/types/user.types"; +import { type Summary_Delete } from "@backend/user/types/user.types"; const logger = Logger("app:user.service"); diff --git a/packages/backend/src/user/user.routes.config.ts b/packages/backend/src/user/user.routes.config.ts index 542dac487..d74f8a4a6 100644 --- a/packages/backend/src/user/user.routes.config.ts +++ b/packages/backend/src/user/user.routes.config.ts @@ -1,4 +1,4 @@ -import express from "express"; +import type express from "express"; import { verifySession } from "supertokens-node/recipe/session/framework/express"; import { CommonRoutesConfig } from "@backend/common/common.routes.config"; import userController from "./controllers/user.controller"; diff --git a/packages/core/src/__mocks__/v1/calendarlist/gcal.calendarlist.ts b/packages/core/src/__mocks__/v1/calendarlist/gcal.calendarlist.ts index d84d95ded..f6430ecb5 100644 --- a/packages/core/src/__mocks__/v1/calendarlist/gcal.calendarlist.ts +++ b/packages/core/src/__mocks__/v1/calendarlist/gcal.calendarlist.ts @@ -1,4 +1,4 @@ -import { gSchema$CalendarList } from "@core/types/gcal"; +import { type gSchema$CalendarList } from "@core/types/gcal"; export const gcalCalendarList: gSchema$CalendarList = { kind: "calendar#calendarList", diff --git a/packages/core/src/__mocks__/v1/events/events.22mar.ts b/packages/core/src/__mocks__/v1/events/events.22mar.ts index f6a1d1519..d92ede47d 100644 --- a/packages/core/src/__mocks__/v1/events/events.22mar.ts +++ b/packages/core/src/__mocks__/v1/events/events.22mar.ts @@ -1,6 +1,6 @@ import { ObjectId } from "bson"; import { Priorities } from "@core/constants/core.constants"; -import { Schema_Event, WithMongoId } from "@core/types/event.types"; +import { type Schema_Event, type WithMongoId } from "@core/types/event.types"; const allDayEventsThatShouldMatch: Array< WithMongoId> diff --git a/packages/core/src/__mocks__/v1/events/events.misc.ts b/packages/core/src/__mocks__/v1/events/events.misc.ts index f350454fa..85bc1f0c1 100644 --- a/packages/core/src/__mocks__/v1/events/events.misc.ts +++ b/packages/core/src/__mocks__/v1/events/events.misc.ts @@ -1,6 +1,6 @@ import { ObjectId } from "bson"; import { Origin, Priorities } from "@core/constants/core.constants"; -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; /** * Assortment of events with no direct relation to another diff --git a/packages/core/src/__mocks__/v1/events/events.someday.recur.ts b/packages/core/src/__mocks__/v1/events/events.someday.recur.ts index e60ad7f67..0cf837dd6 100644 --- a/packages/core/src/__mocks__/v1/events/events.someday.recur.ts +++ b/packages/core/src/__mocks__/v1/events/events.someday.recur.ts @@ -1,6 +1,6 @@ import { ObjectId } from "bson"; import { YEAR_MONTH_DAY_FORMAT } from "@core/constants/date.constants"; -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; export const userId = new ObjectId().toString(); diff --git a/packages/core/src/__mocks__/v1/events/gcal/gcal.recurring.ts b/packages/core/src/__mocks__/v1/events/gcal/gcal.recurring.ts index e77d4ceab..243c36fa4 100644 --- a/packages/core/src/__mocks__/v1/events/gcal/gcal.recurring.ts +++ b/packages/core/src/__mocks__/v1/events/gcal/gcal.recurring.ts @@ -1,4 +1,7 @@ -import { gSchema$EventBase, gSchema$EventInstance } from "@core/types/gcal"; +import { + type gSchema$EventBase, + type gSchema$EventInstance, +} from "@core/types/gcal"; export const recurring: [gSchema$EventBase, ...gSchema$EventInstance[]] = [ { diff --git a/packages/core/src/errors/errors.base.ts b/packages/core/src/errors/errors.base.ts index b41090e11..24d8ccbc0 100644 --- a/packages/core/src/errors/errors.base.ts +++ b/packages/core/src/errors/errors.base.ts @@ -1,4 +1,4 @@ -import { Status } from "./status.codes"; +import { type Status } from "./status.codes"; interface ErrorMetadata { description: string; diff --git a/packages/core/src/logger/winston.logger.ts b/packages/core/src/logger/winston.logger.ts index 83f5faa17..c891b1fa9 100644 --- a/packages/core/src/logger/winston.logger.ts +++ b/packages/core/src/logger/winston.logger.ts @@ -1,4 +1,4 @@ -import { TransformableInfo } from "logform"; +import { type TransformableInfo } from "logform"; import * as winston from "winston"; import { MB_50 } from "@core/constants/core.constants"; diff --git a/packages/core/src/mappers/map.calendar.test.ts b/packages/core/src/mappers/map.calendar.test.ts index 3902b6951..8f84e000b 100644 --- a/packages/core/src/mappers/map.calendar.test.ts +++ b/packages/core/src/mappers/map.calendar.test.ts @@ -2,7 +2,7 @@ import { ObjectId } from "bson"; import { createMockCalendarListEntry } from "@core/__tests__/helpers/gcal.factory"; import { MapCalendar } from "@core/mappers/map.calendar"; import { CalendarProvider } from "@core/types/event.types"; -import { gSchema$CalendarListEntry } from "@core/types/gcal"; +import { type gSchema$CalendarListEntry } from "@core/types/gcal"; describe("MapCalendar.gcalToCompass", () => { const baseGoogleCalendar: gSchema$CalendarListEntry = diff --git a/packages/core/src/mappers/map.calendar.ts b/packages/core/src/mappers/map.calendar.ts index eaf161965..9ea32fb6d 100644 --- a/packages/core/src/mappers/map.calendar.ts +++ b/packages/core/src/mappers/map.calendar.ts @@ -4,7 +4,7 @@ import { GoogleCalendarMetadataSchema, } from "@core/types/calendar.types"; import { CalendarProvider } from "@core/types/event.types"; -import { gSchema$CalendarListEntry } from "@core/types/gcal"; +import { type gSchema$CalendarListEntry } from "@core/types/gcal"; import { generateCalendarColorScheme } from "@core/util/color.utils"; import dayjs from "@core/util/date/dayjs"; diff --git a/packages/core/src/mappers/map.event.test.ts b/packages/core/src/mappers/map.event.test.ts index b9151b831..e44ebdc52 100644 --- a/packages/core/src/mappers/map.event.test.ts +++ b/packages/core/src/mappers/map.event.test.ts @@ -1,6 +1,6 @@ import { ObjectId } from "bson"; import { MapEvent } from "@core/mappers/map.event"; -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; import { createMockBaseEvent, createMockInstance, diff --git a/packages/core/src/mappers/map.event.to-compass.test.ts b/packages/core/src/mappers/map.event.to-compass.test.ts index a58cdc2e3..ff1462508 100644 --- a/packages/core/src/mappers/map.event.to-compass.test.ts +++ b/packages/core/src/mappers/map.event.to-compass.test.ts @@ -2,8 +2,8 @@ import { gcalEvents } from "@core/__mocks__/v1/events/gcal/gcal.event"; import { recurring } from "@core/__mocks__/v1/events/gcal/gcal.recurring"; import { timed } from "@core/__mocks__/v1/events/gcal/gcal.timed"; import { Origin, Priorities } from "@core/constants/core.constants"; -import { Schema_Event } from "@core/types/event.types"; -import { gSchema$Event } from "@core/types/gcal"; +import { type Schema_Event } from "@core/types/event.types"; +import { type gSchema$Event } from "@core/types/gcal"; import { MapEvent } from "./map.event"; describe("toCompass", () => { diff --git a/packages/core/src/mappers/map.event.to-gcal.test.ts b/packages/core/src/mappers/map.event.to-gcal.test.ts index 057e922ec..acb8b2c1a 100644 --- a/packages/core/src/mappers/map.event.to-gcal.test.ts +++ b/packages/core/src/mappers/map.event.to-gcal.test.ts @@ -1,4 +1,4 @@ -import { gSchema$Event } from "@core/types/gcal"; +import { type gSchema$Event } from "@core/types/gcal"; import { Origin, Priorities } from "../constants/core.constants"; import { MapEvent } from "./map.event"; diff --git a/packages/core/src/mappers/map.event.ts b/packages/core/src/mappers/map.event.ts index 31701c947..ccb712d61 100644 --- a/packages/core/src/mappers/map.event.ts +++ b/packages/core/src/mappers/map.event.ts @@ -4,16 +4,16 @@ import { Origin, Priorities } from "@core/constants/core.constants"; import { BaseError } from "@core/errors/errors.base"; import { CalendarProvider, - Event_Core, - Schema_Event, - Schema_Event_Recur_Base, - Schema_Event_Recur_Instance, - Schema_Event_Regular, - WithCompassId, - WithMongoId, - WithoutCompassId, + type Event_Core, + type Schema_Event, + type Schema_Event_Recur_Base, + type Schema_Event_Recur_Instance, + type Schema_Event_Regular, + type WithCompassId, + type WithMongoId, + type WithoutCompassId, } from "@core/types/event.types"; -import { WithGcalId, gSchema$Event } from "@core/types/gcal"; +import { type WithGcalId, type gSchema$Event } from "@core/types/gcal"; import dayjs from "@core/util/date/dayjs"; import { isAllDay, diff --git a/packages/core/src/mappers/map.user.ts b/packages/core/src/mappers/map.user.ts index 351c21472..0d0656006 100644 --- a/packages/core/src/mappers/map.user.ts +++ b/packages/core/src/mappers/map.user.ts @@ -1,7 +1,7 @@ -import { TokenPayload } from "google-auth-library"; +import { type TokenPayload } from "google-auth-library"; import { BaseError } from "@core/errors/errors.base"; import { Status } from "@core/errors/status.codes"; -import { Schema_User } from "@core/types/user.types"; +import { type Schema_User } from "@core/types/user.types"; // Map user object given by google signin to our schema // export const mapUserToCompass = ( diff --git a/packages/core/src/mappers/subscriber/map.subscriber.test.ts b/packages/core/src/mappers/subscriber/map.subscriber.test.ts index bdf75028b..8516c491f 100644 --- a/packages/core/src/mappers/subscriber/map.subscriber.test.ts +++ b/packages/core/src/mappers/subscriber/map.subscriber.test.ts @@ -1,4 +1,7 @@ -import { Subscriber, SubscriberSchema } from "@core/types/email/email.types"; +import { + type Subscriber, + SubscriberSchema, +} from "@core/types/email/email.types"; describe("Subscriber", () => { it("parses a valid subscriber", () => { diff --git a/packages/core/src/mappers/subscriber/map.subscriber.ts b/packages/core/src/mappers/subscriber/map.subscriber.ts index 67272de05..8b3e4a0a8 100644 --- a/packages/core/src/mappers/subscriber/map.subscriber.ts +++ b/packages/core/src/mappers/subscriber/map.subscriber.ts @@ -1,5 +1,5 @@ -import { Subscriber } from "@core/types/email/email.types"; -import { Schema_User } from "@core/types/user.types"; +import { type Subscriber } from "@core/types/email/email.types"; +import { type Schema_User } from "@core/types/user.types"; export const mapCompassUserToEmailSubscriber = ( user: Schema_User, diff --git a/packages/core/src/types/auth.types.ts b/packages/core/src/types/auth.types.ts index 690b091e3..5857e8d51 100644 --- a/packages/core/src/types/auth.types.ts +++ b/packages/core/src/types/auth.types.ts @@ -1,4 +1,4 @@ -import { Credentials, TokenPayload } from "google-auth-library"; +import { type Credentials, type TokenPayload } from "google-auth-library"; import type { User } from "supertokens-node"; export interface Result_Auth_Compass { diff --git a/packages/core/src/types/calendar.types.test.ts b/packages/core/src/types/calendar.types.test.ts index 271c610f4..4214a25fe 100644 --- a/packages/core/src/types/calendar.types.test.ts +++ b/packages/core/src/types/calendar.types.test.ts @@ -5,7 +5,7 @@ import { GoogleCalendarMetadataSchema, } from "@core/types/calendar.types"; import { CalendarProvider } from "@core/types/event.types"; -import { gSchema$CalendarListEntry } from "@core/types/gcal"; +import { type gSchema$CalendarListEntry } from "@core/types/gcal"; describe("Calendar Types", () => { const id = faker.internet.email(); diff --git a/packages/core/src/types/event.types.ts b/packages/core/src/types/event.types.ts index 2cdbd56e8..1ae9d5033 100644 --- a/packages/core/src/types/event.types.ts +++ b/packages/core/src/types/event.types.ts @@ -1,4 +1,4 @@ -import { ObjectId } from "bson"; +import { type ObjectId } from "bson"; import type { Query } from "express-serve-static-core"; import { z } from "zod"; import { diff --git a/packages/core/src/types/mongo.types.ts b/packages/core/src/types/mongo.types.ts index a21f5e548..ef036831e 100644 --- a/packages/core/src/types/mongo.types.ts +++ b/packages/core/src/types/mongo.types.ts @@ -1,3 +1,3 @@ -import { ObjectId } from "bson"; +import { type ObjectId } from "bson"; export type InsertedIds = { [key: number]: ObjectId }; diff --git a/packages/core/src/types/sync.types.ts b/packages/core/src/types/sync.types.ts index 8362da19f..564c12218 100644 --- a/packages/core/src/types/sync.types.ts +++ b/packages/core/src/types/sync.types.ts @@ -1,6 +1,6 @@ import type { AnyBulkWriteOperation, BulkWriteResult } from "mongodb"; import { z } from "zod/v4"; -import { BaseError } from "@core/errors/errors.base"; +import { type BaseError } from "@core/errors/errors.base"; import { ExpirationDateSchema, zObjectId } from "@core/types/type.utils"; export interface Params_Sync_Gcal extends Payload_Sync_Notif { diff --git a/packages/core/src/types/user.types.ts b/packages/core/src/types/user.types.ts index d034d0123..09efe2769 100644 --- a/packages/core/src/types/user.types.ts +++ b/packages/core/src/types/user.types.ts @@ -1,5 +1,5 @@ -import SupertokensUserMetadata from "supertokens-node/recipe/usermetadata"; -import { WithCompassId } from "./event.types"; +import type SupertokensUserMetadata from "supertokens-node/recipe/usermetadata"; +import { type WithCompassId } from "./event.types"; export interface Schema_User { email: string; diff --git a/packages/core/src/types/watch.types.test.ts b/packages/core/src/types/watch.types.test.ts index 5413e4a1a..7c51809ff 100644 --- a/packages/core/src/types/watch.types.test.ts +++ b/packages/core/src/types/watch.types.test.ts @@ -1,6 +1,6 @@ import { ObjectId } from "bson"; import { faker } from "@faker-js/faker"; -import { Schema_Watch, WatchSchema } from "@core/types/watch.types"; +import { type Schema_Watch, WatchSchema } from "@core/types/watch.types"; import dayjs from "@core/util/date/dayjs"; describe("Watch Types", () => { diff --git a/packages/core/src/types/websocket.types.ts b/packages/core/src/types/websocket.types.ts index cb75908d2..7a825e4d4 100644 --- a/packages/core/src/types/websocket.types.ts +++ b/packages/core/src/types/websocket.types.ts @@ -1,7 +1,7 @@ -import { Request } from "express"; -import { Socket, Server as SocketIOServer } from "socket.io"; -import { Schema_Event } from "@core/types/event.types"; -import { UserMetadata } from "@core/types/user.types"; +import { type Request } from "express"; +import { type Socket, type Server as SocketIOServer } from "socket.io"; +import { type Schema_Event } from "@core/types/event.types"; +import { type UserMetadata } from "@core/types/user.types"; export interface ClientToServerEvents { EVENT_CHANGE_PROCESSED: () => void; diff --git a/packages/core/src/util/app.util.ts b/packages/core/src/util/app.util.ts index 075c9038b..17594a550 100644 --- a/packages/core/src/util/app.util.ts +++ b/packages/core/src/util/app.util.ts @@ -1,4 +1,4 @@ -import { NodeEnv } from "@core/constants/core.constants"; +import { type NodeEnv } from "@core/constants/core.constants"; import { isDev } from "@core/util/env.util"; export const devAlert = (message: string) => { diff --git a/packages/core/src/util/date/date.util.ts b/packages/core/src/util/date/date.util.ts index 9396dd7f7..83ba07c08 100644 --- a/packages/core/src/util/date/date.util.ts +++ b/packages/core/src/util/date/date.util.ts @@ -1,5 +1,5 @@ import { YEAR_MONTH_DAY_FORMAT } from "@core/constants/date.constants"; -import dayjs, { Dayjs } from "@core/util/date/dayjs"; +import dayjs, { type Dayjs } from "@core/util/date/dayjs"; /** * RFC date format definitions for date parsing and formatting diff --git a/packages/core/src/util/date/dayjs-compass.plugin.ts b/packages/core/src/util/date/dayjs-compass.plugin.ts index 1f4d5c27d..e0a13f1db 100644 --- a/packages/core/src/util/date/dayjs-compass.plugin.ts +++ b/packages/core/src/util/date/dayjs-compass.plugin.ts @@ -1,6 +1,6 @@ import type { Dayjs, PluginFunc } from "dayjs"; import dayjs from "dayjs"; -import winston from "winston"; +import type winston from "winston"; enum DateFormatEnum { RFC5545 = "YYYYMMDD[T]HHmmss[Z]", diff --git a/packages/core/src/util/event/compass.event.rrule.test.ts b/packages/core/src/util/event/compass.event.rrule.test.ts index 6f2b0c209..fcc74334c 100644 --- a/packages/core/src/util/event/compass.event.rrule.test.ts +++ b/packages/core/src/util/event/compass.event.rrule.test.ts @@ -7,7 +7,7 @@ import { gEventToCompassEvent } from "@core/mappers/map.event"; import { CalendarProvider, type Schema_Event_Recur_Base, - WithMongoId, + type WithMongoId, } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; import { CompassEventRRule } from "@core/util/event/compass.event.rrule"; @@ -432,8 +432,8 @@ describe("CompassEventRRule: ", () => { const startDate = parseCompassEventDate(instance.startDate!); const endDate = parseCompassEventDate(instance.endDate!); - const cStartDate = parseCompassEventDate(compassInstance!.startDate!); - const cEndDate = parseCompassEventDate(compassInstance!.endDate!); + const cStartDate = parseCompassEventDate(compassInstance!.startDate); + const cEndDate = parseCompassEventDate(compassInstance!.endDate); expect(startDate.isSame(cStartDate)).toBe(true); expect(endDate.isSame(cEndDate)).toBe(true); diff --git a/packages/core/src/util/event/compass.event.rrule.ts b/packages/core/src/util/event/compass.event.rrule.ts index 8eb99813c..98ff403a3 100644 --- a/packages/core/src/util/event/compass.event.rrule.ts +++ b/packages/core/src/util/event/compass.event.rrule.ts @@ -10,7 +10,7 @@ import type { Schema_Event_Recur_Instance, WithMongoId, } from "@core/types/event.types"; -import dayjs, { Dayjs } from "@core/util/date/dayjs"; +import dayjs, { type Dayjs } from "@core/util/date/dayjs"; import { diffRRuleOptions, getCompassEventDateFormat, @@ -52,7 +52,7 @@ export class CompassEventRRule extends RRule { const opts: Partial = { dtstart, tzid }; const recurrence = event.recurrence?.rule?.join("\n").trim(); const valid = (recurrence?.length ?? 0) > 0; - const rruleSet = valid ? rrulestr(recurrence!, opts) : { origOptions: {} }; + const rruleSet = valid ? rrulestr(recurrence, opts) : { origOptions: {} }; const rruleOptions = { ...rruleSet.origOptions, ..._options }; const options = { ...rruleOptions, dtstart, tzid }; @@ -155,7 +155,7 @@ export class CompassEventRRule extends RRule { const endDate = _endDate.format(this.#dateFormat); const recurrence = { eventId: baseEventId }; const instance = { ...baseData, _id, startDate, endDate, recurrence }; - const providerData = MapEvent.toProviderData(instance, provider!, base); + const providerData = MapEvent.toProviderData(instance, provider, base); return { ...instance, ...providerData }; }); diff --git a/packages/core/src/util/event/event.util.ts b/packages/core/src/util/event/event.util.ts index 164cd8092..d00331f3f 100644 --- a/packages/core/src/util/event/event.util.ts +++ b/packages/core/src/util/event/event.util.ts @@ -1,14 +1,14 @@ -import { RRule } from "rrule"; -import { ParsedOptions } from "rrule/dist/esm/types"; +import { type RRule } from "rrule"; +import { type ParsedOptions } from "rrule/dist/esm/types"; import { - Recurrence, - Schema_Event, - Schema_Event_Recur_Base, - Schema_Event_Recur_Instance, + type Recurrence, + type Schema_Event, + type Schema_Event_Recur_Base, + type Schema_Event_Recur_Instance, } from "@core/types/event.types"; -import { UserMetadata } from "@core/types/user.types"; -import dayjs, { Dayjs } from "@core/util/date/dayjs"; -import { Event_API } from "@backend/common/types/backend.event.types"; +import { type UserMetadata } from "@core/types/user.types"; +import dayjs, { type Dayjs } from "@core/util/date/dayjs"; +import { type Event_API } from "@backend/common/types/backend.event.types"; /** Event utilities for Compass events */ diff --git a/packages/core/src/util/event/gcal.event.util.ts b/packages/core/src/util/event/gcal.event.util.ts index 5e35241a9..a4719fcfa 100644 --- a/packages/core/src/util/event/gcal.event.util.ts +++ b/packages/core/src/util/event/gcal.event.util.ts @@ -1,6 +1,6 @@ import type { calendar_v3 } from "@googleapis/calendar"; -import { gSchema$Event } from "@core/types/gcal"; -import dayjs, { Dayjs } from "@core/util/date/dayjs"; +import { type gSchema$Event } from "@core/types/gcal"; +import dayjs, { type Dayjs } from "@core/util/date/dayjs"; /** Google Calendar event utilities */ export const isCancelledGCalEvent = (e: gSchema$Event): boolean => { diff --git a/packages/core/src/util/test/ccal.event.factory.ts b/packages/core/src/util/test/ccal.event.factory.ts index 34c2a7243..041d6472d 100644 --- a/packages/core/src/util/test/ccal.event.factory.ts +++ b/packages/core/src/util/test/ccal.event.factory.ts @@ -2,11 +2,11 @@ import { ObjectId } from "bson"; import { faker } from "@faker-js/faker"; import { Origin, Priorities } from "@core/constants/core.constants"; import { - Schema_Event, - Schema_Event_Recur_Base, - Schema_Event_Recur_Instance, - Schema_Event_Regular, - WithCompassId, + type Schema_Event, + type Schema_Event_Recur_Base, + type Schema_Event_Recur_Instance, + type Schema_Event_Regular, + type WithCompassId, } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; import { isAllDay, parseCompassEventDate } from "@core/util/event/event.util"; diff --git a/packages/core/src/validators/event.validator.test.ts b/packages/core/src/validators/event.validator.test.ts index 3cd09fcbf..c3b4aac56 100644 --- a/packages/core/src/validators/event.validator.test.ts +++ b/packages/core/src/validators/event.validator.test.ts @@ -1,5 +1,5 @@ import { Origin, Priorities } from "../constants/core.constants"; -import { Schema_Event } from "../types/event.types"; +import { type Schema_Event } from "../types/event.types"; import { validateEvent } from "./event.validator"; describe("validateEvent", () => { diff --git a/packages/core/src/validators/event.validator.ts b/packages/core/src/validators/event.validator.ts index 9e6173f5f..765ad4d66 100644 --- a/packages/core/src/validators/event.validator.ts +++ b/packages/core/src/validators/event.validator.ts @@ -1,7 +1,7 @@ import { CoreEventSchema, - Event_Core, - Schema_Event, + type Event_Core, + type Schema_Event, } from "@core/types/event.types"; export const validateEvent = (event: Schema_Event): Event_Core => { diff --git a/packages/scripts/src/__tests__/integration/2025.10.13T14.18.20.watch-collection.test.ts b/packages/scripts/src/__tests__/integration/2025.10.13T14.18.20.watch-collection.test.ts index 7b6e9d041..9b3541eda 100644 --- a/packages/scripts/src/__tests__/integration/2025.10.13T14.18.20.watch-collection.test.ts +++ b/packages/scripts/src/__tests__/integration/2025.10.13T14.18.20.watch-collection.test.ts @@ -2,7 +2,7 @@ import { ObjectId } from "mongodb"; import { faker } from "@faker-js/faker"; import { zodToMongoSchema } from "@scripts/common/zod-to-mongo-schema"; import Migration from "@scripts/migrations/2025.10.13T14.18.20.watch-collection"; -import { Schema_Watch, WatchSchema } from "@core/types/watch.types"; +import { type Schema_Watch, WatchSchema } from "@core/types/watch.types"; import { cleanupCollections, cleanupTestDb, diff --git a/packages/scripts/src/__tests__/integration/2025.10.18T19.43.00.new-events-collection.test.ts b/packages/scripts/src/__tests__/integration/2025.10.18T19.43.00.new-events-collection.test.ts index 7b0238d71..6c3cee832 100644 --- a/packages/scripts/src/__tests__/integration/2025.10.18T19.43.00.new-events-collection.test.ts +++ b/packages/scripts/src/__tests__/integration/2025.10.18T19.43.00.new-events-collection.test.ts @@ -4,7 +4,7 @@ import { zodToMongoSchema } from "@scripts/common/zod-to-mongo-schema"; import Migration from "@scripts/migrations/2025.10.18T19.43.00.new-events-collection"; import { Origin, Priorities } from "@core/constants/core.constants"; import { CalendarProvider } from "@core/types/event.types"; -import { EventSchema, Schema_Event } from "@core/types/event_new.types"; +import { EventSchema, type Schema_Event } from "@core/types/event_new.types"; import dayjs from "@core/util/date/dayjs"; import { cleanupCollections, diff --git a/packages/scripts/src/cli.validator.ts b/packages/scripts/src/cli.validator.ts index bb733aec9..490cfb8d0 100644 --- a/packages/scripts/src/cli.validator.ts +++ b/packages/scripts/src/cli.validator.ts @@ -1,9 +1,9 @@ -import { Command } from "commander"; +import { type Command } from "commander"; import { ALL_PACKAGES } from "./common/cli.constants"; import { - Options_Cli, - Options_Cli_Build, - Options_Cli_Delete, + type Options_Cli, + type Options_Cli_Build, + type Options_Cli_Delete, Schema_Options_Cli_Build, Schema_Options_Cli_Delete, Schema_Options_Cli_Root, diff --git a/packages/scripts/src/commands/build.ts b/packages/scripts/src/commands/build.ts index 44bcb3e50..608d40bea 100644 --- a/packages/scripts/src/commands/build.ts +++ b/packages/scripts/src/commands/build.ts @@ -1,6 +1,6 @@ import shell from "shelljs"; import { COMPASS_ROOT_DEV, PCKG } from "@scripts/common/cli.constants"; -import { Options_Cli } from "@scripts/common/cli.types"; +import { type Options_Cli } from "@scripts/common/cli.types"; import { getEnvironmentAnswer, log } from "@scripts/common/cli.utils"; import { copyNodeConfigsToBuild, diff --git a/packages/scripts/src/commands/build.util.ts b/packages/scripts/src/commands/build.util.ts index 00e5cbe1c..ed7895ea4 100644 --- a/packages/scripts/src/commands/build.util.ts +++ b/packages/scripts/src/commands/build.util.ts @@ -5,7 +5,7 @@ import { NODE_BUILD, PCKG, } from "@scripts/common/cli.constants"; -import { Options_Cli } from "@scripts/common/cli.types"; +import { type Options_Cli } from "@scripts/common/cli.types"; import { _confirm, fileExists, log } from "@scripts/common/cli.utils"; /** diff --git a/packages/scripts/src/commands/delete.ts b/packages/scripts/src/commands/delete.ts index e1b6a7d8e..ff8a6b163 100644 --- a/packages/scripts/src/commands/delete.ts +++ b/packages/scripts/src/commands/delete.ts @@ -1,12 +1,12 @@ import pkg from "inquirer"; import open, { apps } from "open"; import { CLI_ENV, ENVIRONMENT } from "@scripts/common/cli.constants"; -import { Environment_Cli } from "@scripts/common/cli.types"; +import { type Environment_Cli } from "@scripts/common/cli.types"; import { log } from "@scripts/common/cli.utils"; import mongoService from "@backend/common/services/mongo.service"; import { findCompassUsersBy } from "@backend/user/queries/user.queries"; import userService from "@backend/user/services/user.service"; -import { Summary_Delete } from "@backend/user/types/user.types"; +import { type Summary_Delete } from "@backend/user/types/user.types"; const { prompt } = pkg; diff --git a/packages/scripts/src/commands/migrate.ts b/packages/scripts/src/commands/migrate.ts index 47074bce1..779bd0b06 100644 --- a/packages/scripts/src/commands/migrate.ts +++ b/packages/scripts/src/commands/migrate.ts @@ -3,7 +3,10 @@ import { readFile } from "node:fs/promises"; import { parse, resolve, sep } from "node:path"; import type { MigrationParams, RunnableMigration } from "umzug"; import { MongoDBStorage, Umzug, UmzugCLI } from "umzug"; -import { MigrationContext, MigratorType } from "@scripts/common/cli.types"; +import { + type MigrationContext, + type MigratorType, +} from "@scripts/common/cli.types"; import { Logger } from "@core/logger/winston.logger"; import mongoService from "@backend/common/services/mongo.service"; diff --git a/packages/scripts/src/commands/seed.ts b/packages/scripts/src/commands/seed.ts index 86eb68e3f..21bd17e4c 100644 --- a/packages/scripts/src/commands/seed.ts +++ b/packages/scripts/src/commands/seed.ts @@ -2,7 +2,7 @@ import axios from "axios"; import pkg from "inquirer"; import { ObjectId } from "mongodb"; import { getApiBaseUrl, log } from "@scripts/common/cli.utils"; -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; import { createMockStandaloneEvent } from "@core/util/test/ccal.event.factory"; import compassAuthService from "@backend/auth/services/compass.auth.service"; diff --git a/packages/scripts/src/common/cli.utils.ts b/packages/scripts/src/common/cli.utils.ts index 436c5819f..806ee10ea 100644 --- a/packages/scripts/src/common/cli.utils.ts +++ b/packages/scripts/src/common/cli.utils.ts @@ -2,7 +2,7 @@ import chalk from "chalk"; import pkg from "inquirer"; import shell from "shelljs"; import { ALL_PACKAGES, CLI_ENV } from "./cli.constants"; -import { Environment_Cli } from "./cli.types"; +import { type Environment_Cli } from "./cli.types"; const { prompt } = pkg; diff --git a/packages/scripts/src/common/migrator-template.ts b/packages/scripts/src/common/migrator-template.ts index 078f03dcb..ee156cd98 100644 --- a/packages/scripts/src/common/migrator-template.ts +++ b/packages/scripts/src/common/migrator-template.ts @@ -1,5 +1,5 @@ import type { MigrationParams, RunnableMigration } from "umzug"; -import { MigrationContext } from "@scripts/common/cli.types"; +import { type MigrationContext } from "@scripts/common/cli.types"; export default class Template implements RunnableMigration { readonly name: string = "{{name}}"; diff --git a/packages/scripts/src/common/zod-to-mongo-schema.ts b/packages/scripts/src/common/zod-to-mongo-schema.ts index 837f49b44..34d975caf 100644 --- a/packages/scripts/src/common/zod-to-mongo-schema.ts +++ b/packages/scripts/src/common/zod-to-mongo-schema.ts @@ -197,7 +197,7 @@ const jsonSchemaToMongoSchema = ( result.exclusiveMaximum = schema.exclusiveMaximum; } else { result.exclusiveMaximum = true; - result.maximum = schema.exclusiveMaximum as number; + result.maximum = schema.exclusiveMaximum; } } if (schema.exclusiveMinimum != null) { @@ -205,7 +205,7 @@ const jsonSchemaToMongoSchema = ( result.exclusiveMinimum = schema.exclusiveMinimum; } else { result.exclusiveMinimum = true; - result.minimum = schema.exclusiveMinimum as number; + result.minimum = schema.exclusiveMinimum; } } if (schema.items != null) { @@ -215,18 +215,15 @@ const jsonSchemaToMongoSchema = ( : convertJSONSchema7DefinitionNoBoolean(root, items); } // integer schema - if (schema.maximum != null) result.maximum = schema.maximum as number; - if (schema.maxItems != null) result.maxItems = schema.maxItems as number; - if (schema.maxLength != null) result.maxLength = schema.maxLength as number; - if (schema.maxProperties != null) - result.maxProperties = schema.maxProperties as number; - if (schema.minimum != null) result.minimum = schema.minimum as number; - if (schema.minItems != null) result.minItems = schema.minItems as number; - if (schema.minLength != null) result.minLength = schema.minLength as number; - if (schema.minProperties != null) - result.minProperties = schema.minProperties as number; - if (schema.multipleOf != null) - result.multipleOf = schema.multipleOf as number; + if (schema.maximum != null) result.maximum = schema.maximum; + if (schema.maxItems != null) result.maxItems = schema.maxItems; + if (schema.maxLength != null) result.maxLength = schema.maxLength; + if (schema.maxProperties != null) result.maxProperties = schema.maxProperties; + if (schema.minimum != null) result.minimum = schema.minimum; + if (schema.minItems != null) result.minItems = schema.minItems; + if (schema.minLength != null) result.minLength = schema.minLength; + if (schema.minProperties != null) result.minProperties = schema.minProperties; + if (schema.multipleOf != null) result.multipleOf = schema.multipleOf; if (schema.not != null) result.not = convertJSONSchema7DefinitionNoBoolean( root, @@ -236,7 +233,7 @@ const jsonSchemaToMongoSchema = ( result.oneOf = schema.oneOf.map((s) => convertJSONSchema7DefinitionNoBoolean(root, s as JSONSchema.Schema), ); - if (schema.pattern != null) result.pattern = schema.pattern as string; + if (schema.pattern != null) result.pattern = schema.pattern; if (schema.patternProperties != null) { result.patternProperties = Object.entries(schema.patternProperties).reduce( (acc: NonNullable, [k, v]) => { @@ -263,15 +260,14 @@ const jsonSchemaToMongoSchema = ( {}, ); } - if (schema.required != null) result.required = schema.required as string[]; + if (schema.required != null) result.required = schema.required; if (schema.title != null) result.title = schema.title; if (schema.type != null) { result.bsonType = Array.isArray(schema.type) ? schema.type.map(convertTypeToBsonType) : convertTypeToBsonType(schema.type); } - if (schema.uniqueItems != null) - result.uniqueItems = schema.uniqueItems as boolean; + if (schema.uniqueItems != null) result.uniqueItems = schema.uniqueItems; if ("bsonType" in schema) { result.bsonType = schema["bsonType"] as MongoBsonType | MongoBsonType[]; diff --git a/packages/scripts/src/migrations/2025.10.03T01.19.59.calendar-schema.ts b/packages/scripts/src/migrations/2025.10.03T01.19.59.calendar-schema.ts index 1a07ca25c..c9601a9ba 100644 --- a/packages/scripts/src/migrations/2025.10.03T01.19.59.calendar-schema.ts +++ b/packages/scripts/src/migrations/2025.10.03T01.19.59.calendar-schema.ts @@ -1,5 +1,5 @@ import type { RunnableMigration } from "umzug"; -import { MigrationContext } from "@scripts/common/cli.types"; +import { type MigrationContext } from "@scripts/common/cli.types"; import { zodToMongoSchema } from "@scripts/common/zod-to-mongo-schema"; import { CompassCalendarSchema } from "@core/types/calendar.types"; import { IDSchemaV4 } from "@core/types/type.utils"; diff --git a/packages/scripts/src/migrations/2025.10.13T14.18.20.watch-collection.ts b/packages/scripts/src/migrations/2025.10.13T14.18.20.watch-collection.ts index 4bc5ef9d4..a7f7c19c8 100644 --- a/packages/scripts/src/migrations/2025.10.13T14.18.20.watch-collection.ts +++ b/packages/scripts/src/migrations/2025.10.13T14.18.20.watch-collection.ts @@ -1,5 +1,5 @@ import type { RunnableMigration } from "umzug"; -import { MigrationContext } from "@scripts/common/cli.types"; +import { type MigrationContext } from "@scripts/common/cli.types"; import { zodToMongoSchema } from "@scripts/common/zod-to-mongo-schema"; import { WatchSchema } from "@core/types/watch.types"; import mongoService from "@backend/common/services/mongo.service"; diff --git a/packages/scripts/src/migrations/2025.10.13T14.22.21.migrate-sync-watch-data.ts b/packages/scripts/src/migrations/2025.10.13T14.22.21.migrate-sync-watch-data.ts index a22ce8b0d..9184b145d 100644 --- a/packages/scripts/src/migrations/2025.10.13T14.22.21.migrate-sync-watch-data.ts +++ b/packages/scripts/src/migrations/2025.10.13T14.22.21.migrate-sync-watch-data.ts @@ -1,10 +1,10 @@ import { ObjectId } from "mongodb"; import type { MigrationParams, RunnableMigration } from "umzug"; import { z } from "zod/v4"; -import { MigrationContext } from "@scripts/common/cli.types"; +import { type MigrationContext } from "@scripts/common/cli.types"; import { Resource_Sync } from "@core/types/sync.types"; import { ExpirationDateSchema } from "@core/types/type.utils"; -import { Schema_Watch, WatchSchema } from "@core/types/watch.types"; +import { type Schema_Watch, WatchSchema } from "@core/types/watch.types"; import { getGcalClient } from "@backend/auth/services/google.auth.service"; import { MONGO_BATCH_SIZE } from "@backend/common/constants/backend.constants"; import gcalService from "@backend/common/services/gcal/gcal.service"; diff --git a/packages/scripts/src/migrations/2025.10.14T12.24.01.update-calendar-schema.ts b/packages/scripts/src/migrations/2025.10.14T12.24.01.update-calendar-schema.ts index 581e0402f..76f8c7244 100644 --- a/packages/scripts/src/migrations/2025.10.14T12.24.01.update-calendar-schema.ts +++ b/packages/scripts/src/migrations/2025.10.14T12.24.01.update-calendar-schema.ts @@ -1,5 +1,5 @@ import type { RunnableMigration } from "umzug"; -import { MigrationContext } from "@scripts/common/cli.types"; +import { type MigrationContext } from "@scripts/common/cli.types"; import { zodToMongoSchema } from "@scripts/common/zod-to-mongo-schema"; import { CompassCalendarSchema } from "@core/types/calendar.types"; import { IDSchemaV4 } from "@core/types/type.utils"; diff --git a/packages/scripts/src/migrations/2025.10.16T12.26.00.migrate-calendarlist-to-calendar.ts b/packages/scripts/src/migrations/2025.10.16T12.26.00.migrate-calendarlist-to-calendar.ts index d0a38f364..da06c56fc 100644 --- a/packages/scripts/src/migrations/2025.10.16T12.26.00.migrate-calendarlist-to-calendar.ts +++ b/packages/scripts/src/migrations/2025.10.16T12.26.00.migrate-calendarlist-to-calendar.ts @@ -1,9 +1,9 @@ -import { AnyBulkWriteOperation } from "mongodb"; +import { type AnyBulkWriteOperation } from "mongodb"; import type { MigrationParams, RunnableMigration } from "umzug"; -import { MigrationContext } from "@scripts/common/cli.types"; +import { type MigrationContext } from "@scripts/common/cli.types"; import { MapCalendar } from "@core/mappers/map.calendar"; -import { Schema_Calendar } from "@core/types/calendar.types"; -import { gSchema$CalendarListEntry } from "@core/types/gcal"; +import { type Schema_Calendar } from "@core/types/calendar.types"; +import { type gSchema$CalendarListEntry } from "@core/types/gcal"; import { MONGO_BATCH_SIZE } from "@backend/common/constants/backend.constants"; import { IS_DEV } from "@backend/common/constants/env.constants"; import mongoService from "@backend/common/services/mongo.service"; diff --git a/packages/scripts/src/migrations/2025.10.18T19.43.00.new-events-collection.ts b/packages/scripts/src/migrations/2025.10.18T19.43.00.new-events-collection.ts index f46e4c423..137f6b902 100644 --- a/packages/scripts/src/migrations/2025.10.18T19.43.00.new-events-collection.ts +++ b/packages/scripts/src/migrations/2025.10.18T19.43.00.new-events-collection.ts @@ -1,7 +1,7 @@ import type { RunnableMigration } from "umzug"; -import { MigrationContext } from "@scripts/common/cli.types"; +import { type MigrationContext } from "@scripts/common/cli.types"; import { zodToMongoSchema } from "@scripts/common/zod-to-mongo-schema"; -import { EventSchema, Schema_Event } from "@core/types/event_new.types"; +import { EventSchema, type Schema_Event } from "@core/types/event_new.types"; import mongoService from "@backend/common/services/mongo.service"; export default class Migration implements RunnableMigration { diff --git a/packages/scripts/src/migrations/2025.10.18T20.01.14.migrate-events-to-new-events-collection.ts b/packages/scripts/src/migrations/2025.10.18T20.01.14.migrate-events-to-new-events-collection.ts index c080ae803..93dfecd27 100644 --- a/packages/scripts/src/migrations/2025.10.18T20.01.14.migrate-events-to-new-events-collection.ts +++ b/packages/scripts/src/migrations/2025.10.18T20.01.14.migrate-events-to-new-events-collection.ts @@ -1,13 +1,13 @@ import { ObjectId } from "bson"; import type { MigrationParams, RunnableMigration } from "umzug"; import { z } from "zod/v4"; -import { MigrationContext } from "@scripts/common/cli.types"; +import { type MigrationContext } from "@scripts/common/cli.types"; import { Origin, Priorities } from "@core/constants/core.constants"; import { CalendarProvider } from "@core/types/event.types"; import { EventSchema, GoogleEventMetadataSchema, - Schema_Event, + type Schema_Event, } from "@core/types/event_new.types"; import { zObjectId } from "@core/types/type.utils"; import { parseCompassEventDate } from "@core/util/event/event.util"; diff --git a/packages/scripts/src/seeders/2025.10.01T10.09.22.seed-user-events.ts b/packages/scripts/src/seeders/2025.10.01T10.09.22.seed-user-events.ts index a87f30f6a..001820fab 100644 --- a/packages/scripts/src/seeders/2025.10.01T10.09.22.seed-user-events.ts +++ b/packages/scripts/src/seeders/2025.10.01T10.09.22.seed-user-events.ts @@ -1,11 +1,11 @@ import { ObjectId } from "mongodb"; import type { MigrationParams, RunnableMigration } from "umzug"; import { confirm, input } from "@inquirer/prompts"; -import { MigrationContext } from "@scripts/common/cli.types"; +import { type MigrationContext } from "@scripts/common/cli.types"; import { NodeEnv } from "@core/constants/core.constants"; import { CompassEventStatus, - CompassThisEvent, + type CompassThisEvent, RecurringEventUpdateScope, } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; diff --git a/packages/web/declaration.d.ts b/packages/web/declaration.d.ts index 465277980..6271ca89e 100644 --- a/packages/web/declaration.d.ts +++ b/packages/web/declaration.d.ts @@ -12,7 +12,7 @@ declare module "*.png" { } declare module "*.svg" { - import * as React from "react"; + import type * as React from "react"; const ReactComponent: React.FunctionComponent>; diff --git a/packages/web/src/__tests__/__mocks__/css.stub.js b/packages/web/src/__tests__/__mocks__/css.stub.js index ad49686fe..75791d90a 100644 --- a/packages/web/src/__tests__/__mocks__/css.stub.js +++ b/packages/web/src/__tests__/__mocks__/css.stub.js @@ -1,4 +1,4 @@ // empty object to assist jest in processing // css files -// eslint-disable-next-line no-undef + module.export = {}; diff --git a/packages/web/src/__tests__/__mocks__/file.stub.js b/packages/web/src/__tests__/__mocks__/file.stub.js index c8d7c9e02..2fb6d89a1 100644 --- a/packages/web/src/__tests__/__mocks__/file.stub.js +++ b/packages/web/src/__tests__/__mocks__/file.stub.js @@ -1,3 +1,3 @@ // empty object to assist jest in processing files -// eslint-disable-next-line no-undef + module.exports = "test-file-stub"; diff --git a/packages/web/src/__tests__/__mocks__/mock.render.tsx b/packages/web/src/__tests__/__mocks__/mock.render.tsx index b0bdf7147..b536ff399 100644 --- a/packages/web/src/__tests__/__mocks__/mock.render.tsx +++ b/packages/web/src/__tests__/__mocks__/mock.render.tsx @@ -1,14 +1,14 @@ import { - ComponentType, - PropsWithChildren, - ReactElement, + type ComponentType, + type PropsWithChildren, + type ReactElement, isValidElement, } from "react"; -import { RouterProvider, RouterProviderProps } from "react-router-dom"; +import { RouterProvider, type RouterProviderProps } from "react-router-dom"; import { configureStore } from "@reduxjs/toolkit"; import { - RenderHookOptions, - RenderOptions, + type RenderHookOptions, + type RenderOptions, render, renderHook, } from "@testing-library/react"; diff --git a/packages/web/src/__tests__/__mocks__/state/state.weekEvents.ts b/packages/web/src/__tests__/__mocks__/state/state.weekEvents.ts index bd240ae06..0ab1a57d9 100644 --- a/packages/web/src/__tests__/__mocks__/state/state.weekEvents.ts +++ b/packages/web/src/__tests__/__mocks__/state/state.weekEvents.ts @@ -7,7 +7,7 @@ import { MULTI_WEEK, TY_TIM, } from "@core/__mocks__/v1/events/events.misc"; -import { InitialReduxState } from "@web/__tests__/utils/state/store.test.util"; +import { type InitialReduxState } from "@web/__tests__/utils/state/store.test.util"; import { AuthStatus } from "@web/ducks/auth/slices/auth.slice"; export const preloadedState: InitialReduxState = { diff --git a/packages/web/src/__tests__/jsdom.ts b/packages/web/src/__tests__/jsdom.ts index 016e9f7f7..3ed06cf82 100644 --- a/packages/web/src/__tests__/jsdom.ts +++ b/packages/web/src/__tests__/jsdom.ts @@ -1,4 +1,4 @@ -import { EventEmitter2, ListenerFn } from "eventemitter2"; +import { EventEmitter2, type ListenerFn } from "eventemitter2"; import { TestEnvironment } from "jest-environment-jsdom"; import fetch, { Request } from "node-fetch"; import { diff --git a/packages/web/src/__tests__/utils/agenda/agenda.test.util.tsx b/packages/web/src/__tests__/utils/agenda/agenda.test.util.tsx index 466e8a7be..63727dfc2 100644 --- a/packages/web/src/__tests__/utils/agenda/agenda.test.util.tsx +++ b/packages/web/src/__tests__/utils/agenda/agenda.test.util.tsx @@ -1,5 +1,5 @@ import "@testing-library/jest-dom"; -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; import { createStoreWithEvents } from "@web/__tests__/utils/state/store.test.util"; import * as eventSelectors from "@web/ducks/events/selectors/event.selectors"; import * as reduxStore from "@web/store"; diff --git a/packages/web/src/__tests__/utils/factories/task.factory.ts b/packages/web/src/__tests__/utils/factories/task.factory.ts index debfe95a3..8401e335b 100644 --- a/packages/web/src/__tests__/utils/factories/task.factory.ts +++ b/packages/web/src/__tests__/utils/factories/task.factory.ts @@ -1,4 +1,4 @@ -import { Task } from "@web/common/types/task.types"; +import { type Task } from "@web/common/types/task.types"; import { createObjectIdString } from "@web/common/utils/id/object-id.util"; export const createMockTask = (overrides?: Partial): Task => ({ diff --git a/packages/web/src/__tests__/utils/repositories/repository.test.factory.ts b/packages/web/src/__tests__/utils/repositories/repository.test.factory.ts index 4125c1211..febda387c 100644 --- a/packages/web/src/__tests__/utils/repositories/repository.test.factory.ts +++ b/packages/web/src/__tests__/utils/repositories/repository.test.factory.ts @@ -1,9 +1,9 @@ import { Origin, Priorities } from "@core/constants/core.constants"; -import { Event_Core } from "@core/types/event.types"; +import { type Event_Core } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; import { createMockStandaloneEvent } from "@core/util/test/ccal.event.factory"; import { UNAUTHENTICATED_USER } from "@web/common/constants/auth.constants"; -import { Task } from "@web/common/types/task.types"; +import { type Task } from "@web/common/types/task.types"; import { createObjectIdString } from "@web/common/utils/id/object-id.util"; /** diff --git a/packages/web/src/__tests__/utils/state/draft.test.util.ts b/packages/web/src/__tests__/utils/state/draft.test.util.ts index f630fca88..e571f1a1f 100644 --- a/packages/web/src/__tests__/utils/state/draft.test.util.ts +++ b/packages/web/src/__tests__/utils/state/draft.test.util.ts @@ -1,8 +1,8 @@ import { act } from "react"; import { useDispatch } from "react-redux"; -import { Categories_Event, Schema_Event } from "@core/types/event.types"; +import { Categories_Event, type Schema_Event } from "@core/types/event.types"; import { renderHook } from "@web/__tests__/__mocks__/mock.render"; -import { Schema_WebEvent } from "@web/common/types/web.event.types"; +import { type Schema_WebEvent } from "@web/common/types/web.event.types"; import { assembleGridEvent } from "@web/common/utils/event/event.util"; import { draftSlice } from "@web/ducks/events/slices/draft.slice"; import { useDraftActions } from "@web/views/Calendar/components/Draft/hooks/actions/useDraftActions"; diff --git a/packages/web/src/__tests__/utils/state/store.test.util.ts b/packages/web/src/__tests__/utils/state/store.test.util.ts index e99901784..2751d6e53 100644 --- a/packages/web/src/__tests__/utils/state/store.test.util.ts +++ b/packages/web/src/__tests__/utils/state/store.test.util.ts @@ -1,7 +1,7 @@ -import { PreloadedState, configureStore } from "@reduxjs/toolkit"; -import { Schema_Event } from "@core/types/event.types"; +import { type PreloadedState, configureStore } from "@reduxjs/toolkit"; +import { type Schema_Event } from "@core/types/event.types"; import { sagaMiddleware } from "@web/common/store/middlewares"; -import { RootState } from "@web/store"; +import { type RootState } from "@web/store"; import { reducers } from "@web/store/reducers"; // Type for the simplified test state that matches our mock @@ -165,7 +165,7 @@ export const createStoreWithEvents = ( return configureStore({ reducer: reducers, - preloadedState: preloadedState as PreloadedState, + preloadedState: preloadedState, middleware: (getDefaultMiddleware) => getDefaultMiddleware({ thunk: false, diff --git a/packages/web/src/__tests__/utils/storage/mock-storage-adapter.util.ts b/packages/web/src/__tests__/utils/storage/mock-storage-adapter.util.ts index 14ddd091b..62f3e8ccf 100644 --- a/packages/web/src/__tests__/utils/storage/mock-storage-adapter.util.ts +++ b/packages/web/src/__tests__/utils/storage/mock-storage-adapter.util.ts @@ -1,4 +1,4 @@ -import { StorageAdapter } from "@web/common/storage/adapter/storage.adapter"; +import { type StorageAdapter } from "@web/common/storage/adapter/storage.adapter"; /** * Creates a mock StorageAdapter for tests. diff --git a/packages/web/src/__tests__/utils/tasks/task.test.util.ts b/packages/web/src/__tests__/utils/tasks/task.test.util.ts index 874f288c3..b30d1d46f 100644 --- a/packages/web/src/__tests__/utils/tasks/task.test.util.ts +++ b/packages/web/src/__tests__/utils/tasks/task.test.util.ts @@ -1,5 +1,5 @@ import { screen, waitFor } from "@testing-library/react"; -import userEvent from "@testing-library/user-event"; +import type userEvent from "@testing-library/user-event"; type User = ReturnType; diff --git a/packages/web/src/__tests__/web.test.start.ts b/packages/web/src/__tests__/web.test.start.ts index f3572dff3..e05f47d55 100644 --- a/packages/web/src/__tests__/web.test.start.ts +++ b/packages/web/src/__tests__/web.test.start.ts @@ -14,9 +14,7 @@ mockNodeModules(); beforeEach(() => { jest.clearAllMocks(); - const sessionModule = jest.requireMock( - "supertokens-web-js/recipe/session", - ) as { doesSessionExist?: jest.Mock }; + const sessionModule = jest.requireMock("supertokens-web-js/recipe/session"); sessionModule.doesSessionExist?.mockResolvedValue(true); }); beforeAll(() => server.listen()); diff --git a/packages/web/src/auth/context/UserContext.tsx b/packages/web/src/auth/context/UserContext.tsx index 450e10e94..f222ba219 100644 --- a/packages/web/src/auth/context/UserContext.tsx +++ b/packages/web/src/auth/context/UserContext.tsx @@ -1,5 +1,5 @@ import { createContext } from "react"; -import { UserProfile } from "@core/types/user.types"; +import { type UserProfile } from "@core/types/user.types"; export const UserContext = createContext< | Partial< diff --git a/packages/web/src/auth/context/UserProvider.tsx b/packages/web/src/auth/context/UserProvider.tsx index c11ef0a54..9e47866d0 100644 --- a/packages/web/src/auth/context/UserProvider.tsx +++ b/packages/web/src/auth/context/UserProvider.tsx @@ -1,7 +1,13 @@ import { usePostHog } from "posthog-js/react"; -import { ReactNode, useEffect, useLayoutEffect, useRef, useState } from "react"; +import { + type ReactNode, + useEffect, + useLayoutEffect, + useRef, + useState, +} from "react"; import { Status } from "@core/errors/status.codes"; -import { UserProfile } from "@core/types/user.types"; +import { type UserProfile } from "@core/types/user.types"; import { UserApi } from "@web/common/apis/user.api"; import { hasUserEverAuthenticated } from "@web/common/utils/storage/auth-state.util"; import { showSessionExpiredToast } from "@web/common/utils/toast/error-toast.util"; diff --git a/packages/web/src/auth/hooks/oauth/useGoogleAuth.test.ts b/packages/web/src/auth/hooks/oauth/useGoogleAuth.test.ts index 3cf268cc6..b44373227 100644 --- a/packages/web/src/auth/hooks/oauth/useGoogleAuth.test.ts +++ b/packages/web/src/auth/hooks/oauth/useGoogleAuth.test.ts @@ -7,7 +7,7 @@ import { } from "@web/common/utils/auth/google-auth.util"; import { markUserAsAuthenticated } from "@web/common/utils/storage/auth-state.util"; import { useGoogleLogin } from "@web/components/oauth/google/useGoogleLogin"; -import { SignInUpInput } from "@web/components/oauth/ouath.types"; +import { type SignInUpInput } from "@web/components/oauth/ouath.types"; // Mock dependencies jest.mock("@web/common/utils/auth/google-auth.util"); diff --git a/packages/web/src/auth/hooks/oauth/useGoogleAuthWithOverlay.test.ts b/packages/web/src/auth/hooks/oauth/useGoogleAuthWithOverlay.test.ts index e35d1a48c..5244074e6 100644 --- a/packages/web/src/auth/hooks/oauth/useGoogleAuthWithOverlay.test.ts +++ b/packages/web/src/auth/hooks/oauth/useGoogleAuthWithOverlay.test.ts @@ -1,7 +1,7 @@ import { renderHook, waitFor } from "@testing-library/react"; import { useGoogleAuthWithOverlay } from "@web/auth/hooks/oauth/useGoogleAuthWithOverlay"; import { useGoogleLogin } from "@web/components/oauth/google/useGoogleLogin"; -import { SignInUpInput } from "@web/components/oauth/ouath.types"; +import { type SignInUpInput } from "@web/components/oauth/ouath.types"; jest.mock("@web/components/oauth/google/useGoogleLogin"); diff --git a/packages/web/src/auth/hooks/oauth/useGoogleAuthWithOverlay.ts b/packages/web/src/auth/hooks/oauth/useGoogleAuthWithOverlay.ts index 24e37fc54..e700abb5b 100644 --- a/packages/web/src/auth/hooks/oauth/useGoogleAuthWithOverlay.ts +++ b/packages/web/src/auth/hooks/oauth/useGoogleAuthWithOverlay.ts @@ -1,6 +1,6 @@ import { useCallback } from "react"; import { useGoogleLogin } from "@web/components/oauth/google/useGoogleLogin"; -import { SignInUpInput } from "@web/components/oauth/ouath.types"; +import { type SignInUpInput } from "@web/components/oauth/ouath.types"; interface UseGoogleAuthWithOverlayOptions { onStart?: () => void; diff --git a/packages/web/src/auth/session/SessionProvider.tsx b/packages/web/src/auth/session/SessionProvider.tsx index 91bd46a6c..45ccfe68b 100644 --- a/packages/web/src/auth/session/SessionProvider.tsx +++ b/packages/web/src/auth/session/SessionProvider.tsx @@ -1,4 +1,9 @@ -import { PropsWithChildren, createContext, useEffect, useState } from "react"; +import { + type PropsWithChildren, + createContext, + useEffect, + useState, +} from "react"; import { BehaviorSubject } from "rxjs"; import { distinctUntilChanged, @@ -14,7 +19,7 @@ import { ENV_WEB } from "@web/common/constants/env.constants"; import { ROOT_ROUTES } from "@web/common/constants/routes"; import { markUserAsAuthenticated } from "@web/common/utils/storage/auth-state.util"; import * as socket from "@web/socket/provider/SocketProvider"; -import { CompassSession } from "./session.types"; +import { type CompassSession } from "./session.types"; SuperTokens.init({ appInfo: { diff --git a/packages/web/src/common/apis/auth.api.ts b/packages/web/src/common/apis/auth.api.ts index ca30d7471..e9473db7f 100644 --- a/packages/web/src/common/apis/auth.api.ts +++ b/packages/web/src/common/apis/auth.api.ts @@ -1,6 +1,6 @@ -import { Result_Auth_Compass } from "@core/types/auth.types"; +import { type Result_Auth_Compass } from "@core/types/auth.types"; import { CompassApi } from "@web/common/apis/compass.api"; -import { SignInUpInput } from "@web/components/oauth/ouath.types"; +import { type SignInUpInput } from "@web/components/oauth/ouath.types"; const AuthApi = { async loginOrSignup(data: SignInUpInput): Promise { diff --git a/packages/web/src/common/apis/compass.api.ts b/packages/web/src/common/apis/compass.api.ts index f0552b4c2..07cc93362 100644 --- a/packages/web/src/common/apis/compass.api.ts +++ b/packages/web/src/common/apis/compass.api.ts @@ -1,4 +1,4 @@ -import axios, { AxiosError } from "axios"; +import axios, { type AxiosError } from "axios"; import { GOOGLE_REVOKED } from "@core/constants/websocket.constants"; import { Status } from "@core/errors/status.codes"; import { getApiErrorCode } from "@web/common/apis/compass.api.util"; diff --git a/packages/web/src/common/apis/user.api.ts b/packages/web/src/common/apis/user.api.ts index c7754e9ae..18156473b 100644 --- a/packages/web/src/common/apis/user.api.ts +++ b/packages/web/src/common/apis/user.api.ts @@ -1,4 +1,4 @@ -import { UserMetadata, UserProfile } from "@core/types/user.types"; +import { type UserMetadata, type UserProfile } from "@core/types/user.types"; import { CompassApi } from "@web/common/apis/compass.api"; const UserApi = { diff --git a/packages/web/src/common/classes/Session.ts b/packages/web/src/common/classes/Session.ts index dae10beea..33ff8ab20 100644 --- a/packages/web/src/common/classes/Session.ts +++ b/packages/web/src/common/classes/Session.ts @@ -1,7 +1,7 @@ -import { EventEmitter2, ListenerFn } from "eventemitter2"; +import { EventEmitter2, type ListenerFn } from "eventemitter2"; import { fromEventPattern } from "rxjs"; import SuperTokensSession from "supertokens-web-js/recipe/session"; -import { Event } from "supertokens-website/lib/build/types"; +import { type Event } from "supertokens-website/lib/build/types"; class Session { #emitter: EventEmitter2 = new EventEmitter2({ diff --git a/packages/web/src/common/constants/more.cmd.constants.ts b/packages/web/src/common/constants/more.cmd.constants.ts index 99c69800b..064df0a7a 100644 --- a/packages/web/src/common/constants/more.cmd.constants.ts +++ b/packages/web/src/common/constants/more.cmd.constants.ts @@ -1,4 +1,4 @@ -import { JsonStructureItem } from "react-cmdk"; +import { type JsonStructureItem } from "react-cmdk"; export const moreCommandPaletteItems: Array<{ heading: string; diff --git a/packages/web/src/common/constants/toast.constants.ts b/packages/web/src/common/constants/toast.constants.ts index cb9b19ab1..bb60ac592 100644 --- a/packages/web/src/common/constants/toast.constants.ts +++ b/packages/web/src/common/constants/toast.constants.ts @@ -1,4 +1,4 @@ -import { Id, ToastOptions } from "react-toastify"; +import { type Id, type ToastOptions } from "react-toastify"; import { c } from "@web/common/styles/colors"; import { theme } from "@web/common/styles/theme"; diff --git a/packages/web/src/common/context/compass-refs.tsx b/packages/web/src/common/context/compass-refs.tsx index 3c54252ee..000c1bb23 100644 --- a/packages/web/src/common/context/compass-refs.tsx +++ b/packages/web/src/common/context/compass-refs.tsx @@ -1,4 +1,4 @@ -import { PropsWithChildren, createContext, useRef } from "react"; +import { type PropsWithChildren, createContext, useRef } from "react"; interface CompassRefs { nowLineRef: React.MutableRefObject; diff --git a/packages/web/src/common/context/pointer-position.tsx b/packages/web/src/common/context/pointer-position.tsx index 92f0d3d9c..316b35927 100644 --- a/packages/web/src/common/context/pointer-position.tsx +++ b/packages/web/src/common/context/pointer-position.tsx @@ -1,6 +1,6 @@ import { - PointerEvent, - PropsWithChildren, + type PointerEvent, + type PropsWithChildren, createContext, useCallback, } from "react"; @@ -15,7 +15,7 @@ import { } from "@web/common/constants/web.constants"; import { useMovementEvent } from "@web/common/hooks/useMovementEvent"; import { - DomMovement, + type DomMovement, getElementAtPoint, } from "@web/common/utils/dom/event-emitter.util"; diff --git a/packages/web/src/common/hooks/useAuthCmdItems.ts b/packages/web/src/common/hooks/useAuthCmdItems.ts index 451cb2ca1..f57e52f78 100644 --- a/packages/web/src/common/hooks/useAuthCmdItems.ts +++ b/packages/web/src/common/hooks/useAuthCmdItems.ts @@ -1,4 +1,4 @@ -import { JsonStructureItem } from "react-cmdk"; +import { type JsonStructureItem } from "react-cmdk"; import { useSession } from "@web/auth/hooks/session/useSession"; import { useAuthModal } from "@web/components/AuthModal/hooks/useAuthModal"; diff --git a/packages/web/src/common/hooks/useEventDNDActions.ts b/packages/web/src/common/hooks/useEventDNDActions.ts index 37b5116d9..a4a3ae053 100644 --- a/packages/web/src/common/hooks/useEventDNDActions.ts +++ b/packages/web/src/common/hooks/useEventDNDActions.ts @@ -1,5 +1,10 @@ import { useCallback } from "react"; -import { Active, DragEndEvent, Over, useDndMonitor } from "@dnd-kit/core"; +import { + type Active, + type DragEndEvent, + type Over, + useDndMonitor, +} from "@dnd-kit/core"; import { Categories_Event } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; import { @@ -12,7 +17,7 @@ import { setFloatingReferenceAtCursor, } from "@web/common/hooks/useOpenAtCursor"; import { useUpdateEvent } from "@web/common/hooks/useUpdateEvent"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { reorderGrid } from "@web/common/utils/dom/grid-organization.util"; import { getCalendarEventElementFromGrid } from "@web/common/utils/event/event.util"; import { selectEventById } from "@web/ducks/events/selectors/event.selectors"; diff --git a/packages/web/src/common/hooks/useEventResizeActions.test.ts b/packages/web/src/common/hooks/useEventResizeActions.test.ts index 1233cc84c..22f2541ff 100644 --- a/packages/web/src/common/hooks/useEventResizeActions.test.ts +++ b/packages/web/src/common/hooks/useEventResizeActions.test.ts @@ -1,7 +1,7 @@ import type { MouseEvent as ReactMouseEvent } from "react"; import { act } from "react"; import { renderHook } from "@testing-library/react"; -import { Schema_Event, WithCompassId } from "@core/types/event.types"; +import { type Schema_Event, type WithCompassId } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; import { useEventResizeActions } from "@web/common/hooks/useEventResizeActions"; import { CursorItem, nodeId$, open$ } from "@web/common/hooks/useOpenAtCursor"; diff --git a/packages/web/src/common/hooks/useEventResizeActions.ts b/packages/web/src/common/hooks/useEventResizeActions.ts index 94e17e7ee..ae123b01d 100644 --- a/packages/web/src/common/hooks/useEventResizeActions.ts +++ b/packages/web/src/common/hooks/useEventResizeActions.ts @@ -1,10 +1,10 @@ -import { ResizeCallback, ResizeStartCallback } from "re-resizable"; +import { type ResizeCallback, type ResizeStartCallback } from "re-resizable"; import { useCallback, useRef } from "react"; -import { Schema_Event, WithCompassId } from "@core/types/event.types"; +import { type Schema_Event, type WithCompassId } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; import { CursorItem, nodeId$, open$ } from "@web/common/hooks/useOpenAtCursor"; import { useUpdateEvent } from "@web/common/hooks/useUpdateEvent"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { reorderGrid } from "@web/common/utils/dom/grid-organization.util"; import { selectEventById } from "@web/ducks/events/selectors/event.selectors"; import { store } from "@web/store"; diff --git a/packages/web/src/common/hooks/useFloatingAtCursor.ts b/packages/web/src/common/hooks/useFloatingAtCursor.ts index 1959243ce..45e2dfa00 100644 --- a/packages/web/src/common/hooks/useFloatingAtCursor.ts +++ b/packages/web/src/common/hooks/useFloatingAtCursor.ts @@ -1,9 +1,9 @@ import { useCallback } from "react"; import { - OpenChangeReason, - Placement, - ReferenceType, - UseFloatingOptions, + type OpenChangeReason, + type Placement, + type ReferenceType, + type UseFloatingOptions, autoUpdate, flip, hide, diff --git a/packages/web/src/common/hooks/useKeyboardEvent.ts b/packages/web/src/common/hooks/useKeyboardEvent.ts index 05fcce8c1..47e32b331 100644 --- a/packages/web/src/common/hooks/useKeyboardEvent.ts +++ b/packages/web/src/common/hooks/useKeyboardEvent.ts @@ -1,7 +1,7 @@ -import { DependencyList, useCallback, useEffect, useMemo } from "react"; +import { type DependencyList, useCallback, useEffect, useMemo } from "react"; import { filter, map } from "rxjs/operators"; import { - KeyCombination, + type KeyCombination, globalOnKeyPressHandler, globalOnKeyUpHandler, keyPressed$, diff --git a/packages/web/src/common/hooks/useMainGridSelection.test.ts b/packages/web/src/common/hooks/useMainGridSelection.test.ts index 1250eab65..00be57691 100644 --- a/packages/web/src/common/hooks/useMainGridSelection.test.ts +++ b/packages/web/src/common/hooks/useMainGridSelection.test.ts @@ -1,4 +1,4 @@ -import { PointerEvent as IPointerEvent, act } from "react"; +import { type PointerEvent as IPointerEvent, act } from "react"; import { renderHook } from "@testing-library/react"; import { ID_GRID_MAIN } from "@web/common/constants/web.constants"; import { cursor$, pointerState$ } from "@web/common/context/pointer-position"; diff --git a/packages/web/src/common/hooks/useMainGridSelection.ts b/packages/web/src/common/hooks/useMainGridSelection.ts index 7af04daf2..f4db523db 100644 --- a/packages/web/src/common/hooks/useMainGridSelection.ts +++ b/packages/web/src/common/hooks/useMainGridSelection.ts @@ -16,7 +16,7 @@ import { selectionId$ } from "@web/common/hooks/useMainGridSelectionId"; import { selecting$ } from "@web/common/hooks/useMainGridSelectionState"; import { resizing$ } from "@web/common/hooks/useResizing"; import { - DomMovement, + type DomMovement, getElementAtPoint, selectionStart$, } from "@web/common/utils/dom/event-emitter.util"; @@ -109,7 +109,7 @@ export function useMainGridSelection({ } else { onSelectionEnd?.( selectionId$.getValue()!, - internalSelectionStart$.getValue()!, + internalSelectionStart$.getValue(), delta, ); diff --git a/packages/web/src/common/hooks/useMainGridSelectionActions.ts b/packages/web/src/common/hooks/useMainGridSelectionActions.ts index 32a3ebc46..e040b67c4 100644 --- a/packages/web/src/common/hooks/useMainGridSelectionActions.ts +++ b/packages/web/src/common/hooks/useMainGridSelectionActions.ts @@ -5,7 +5,7 @@ import { CursorItem, openFloatingAtCursor, } from "@web/common/hooks/useOpenAtCursor"; -import { DomMovement } from "@web/common/utils/dom/event-emitter.util"; +import { type DomMovement } from "@web/common/utils/dom/event-emitter.util"; import { reorderGrid } from "@web/common/utils/dom/grid-organization.util"; import { getCalendarEventElementFromGrid } from "@web/common/utils/event/event.util"; import { setDraft, updateDraft } from "@web/store/events"; diff --git a/packages/web/src/common/hooks/useMetaContext.ts b/packages/web/src/common/hooks/useMetaContext.ts index b4e8d80c5..e16665f70 100644 --- a/packages/web/src/common/hooks/useMetaContext.ts +++ b/packages/web/src/common/hooks/useMetaContext.ts @@ -1,4 +1,4 @@ -import { Context, useContext } from "react"; +import { type Context, useContext } from "react"; export function useMetaContext( customContext: Context, diff --git a/packages/web/src/common/hooks/useMovementEvent.ts b/packages/web/src/common/hooks/useMovementEvent.ts index 8543bc056..3bca03b87 100644 --- a/packages/web/src/common/hooks/useMovementEvent.ts +++ b/packages/web/src/common/hooks/useMovementEvent.ts @@ -1,6 +1,6 @@ import { - DependencyList, - PointerEvent, + type DependencyList, + type PointerEvent, useCallback, useEffect, useMemo, @@ -8,7 +8,7 @@ import { import { BehaviorSubject, EMPTY, NEVER, fromEvent, iif, merge, of } from "rxjs"; import { filter, map, switchMap } from "rxjs/operators"; import { - DomMovement, + type DomMovement, domMovement$, globalMovementHandler, } from "@web/common/utils/dom/event-emitter.util"; diff --git a/packages/web/src/common/hooks/useOpenAtCursor.test.ts b/packages/web/src/common/hooks/useOpenAtCursor.test.ts index 37c7d4054..d10a31053 100644 --- a/packages/web/src/common/hooks/useOpenAtCursor.test.ts +++ b/packages/web/src/common/hooks/useOpenAtCursor.test.ts @@ -1,5 +1,5 @@ import { act } from "react"; -import { Placement, Strategy } from "@floating-ui/react"; +import { type Placement, type Strategy } from "@floating-ui/react"; import { renderHook } from "@testing-library/react"; import { CursorItem, diff --git a/packages/web/src/common/hooks/useOpenAtCursor.ts b/packages/web/src/common/hooks/useOpenAtCursor.ts index eb8f8cfe4..c129ec07e 100644 --- a/packages/web/src/common/hooks/useOpenAtCursor.ts +++ b/packages/web/src/common/hooks/useOpenAtCursor.ts @@ -1,6 +1,11 @@ import { useEffect, useState } from "react"; -import { BehaviorSubject, Observable, distinctUntilChanged, share } from "rxjs"; -import { Placement, Strategy } from "@floating-ui/react"; +import { + BehaviorSubject, + type Observable, + distinctUntilChanged, + share, +} from "rxjs"; +import { type Placement, type Strategy } from "@floating-ui/react"; export enum CursorItem { EventForm = "EventForm", diff --git a/packages/web/src/common/hooks/usePointerPosition.test.tsx b/packages/web/src/common/hooks/usePointerPosition.test.tsx index 0c2b8136f..f3cb6b5cb 100644 --- a/packages/web/src/common/hooks/usePointerPosition.test.tsx +++ b/packages/web/src/common/hooks/usePointerPosition.test.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import type React from "react"; import { renderHook } from "@testing-library/react"; import { PointerPositionContext, diff --git a/packages/web/src/common/hooks/usePointerState.test.ts b/packages/web/src/common/hooks/usePointerState.test.ts index be5bb6f8f..9c79f3f3c 100644 --- a/packages/web/src/common/hooks/usePointerState.test.ts +++ b/packages/web/src/common/hooks/usePointerState.test.ts @@ -1,13 +1,13 @@ -import { PointerEvent, act } from "react"; +import { type PointerEvent, act } from "react"; import { renderHook } from "@testing-library/react"; import { - PointerState, + type PointerState, pointerState$, } from "@web/common/context/pointer-position"; import { usePointerState } from "@web/common/hooks/usePointerState"; const excludeEvent = (state: PointerState): Omit => { - // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars + // eslint-disable-next-line @typescript-eslint/no-unused-vars const { event, ...rest } = state; return rest; }; diff --git a/packages/web/src/common/hooks/usePointerState.ts b/packages/web/src/common/hooks/usePointerState.ts index 0fbf5c547..9029d8deb 100644 --- a/packages/web/src/common/hooks/usePointerState.ts +++ b/packages/web/src/common/hooks/usePointerState.ts @@ -1,6 +1,6 @@ import { useEffect, useState } from "react"; import { - PointerState, + type PointerState, pointerState$, } from "@web/common/context/pointer-position"; diff --git a/packages/web/src/common/hooks/useResizeId.ts b/packages/web/src/common/hooks/useResizeId.ts index d8b0a8f42..00c536975 100644 --- a/packages/web/src/common/hooks/useResizeId.ts +++ b/packages/web/src/common/hooks/useResizeId.ts @@ -1,6 +1,6 @@ import { useEffect, useState } from "react"; import { BehaviorSubject } from "rxjs"; -import { UniqueIdentifier } from "@dnd-kit/core"; +import { type UniqueIdentifier } from "@dnd-kit/core"; export const resizeId$ = new BehaviorSubject(null); diff --git a/packages/web/src/common/hooks/useUpdateEvent.test.ts b/packages/web/src/common/hooks/useUpdateEvent.test.ts index b23ae8b55..96c0e923b 100644 --- a/packages/web/src/common/hooks/useUpdateEvent.test.ts +++ b/packages/web/src/common/hooks/useUpdateEvent.test.ts @@ -1,7 +1,7 @@ import { renderHook } from "@testing-library/react"; -import { Schema_Event, WithCompassId } from "@core/types/event.types"; +import { type Schema_Event, type WithCompassId } from "@core/types/event.types"; import { useUpdateEvent } from "@web/common/hooks/useUpdateEvent"; -import { Schema_WebEvent } from "@web/common/types/web.event.types"; +import { type Schema_WebEvent } from "@web/common/types/web.event.types"; import { editEventSlice } from "@web/ducks/events/slices/event.slice"; import { eventsStore, setDraft } from "@web/store/events"; import { useAppDispatch } from "@web/store/store.hooks"; diff --git a/packages/web/src/common/hooks/useUpdateEvent.ts b/packages/web/src/common/hooks/useUpdateEvent.ts index 097f50b79..972a35402 100644 --- a/packages/web/src/common/hooks/useUpdateEvent.ts +++ b/packages/web/src/common/hooks/useUpdateEvent.ts @@ -1,13 +1,13 @@ import fastDeepEqual from "fast-deep-equal/es6"; import { useCallback } from "react"; import { getEntity } from "@ngneat/elf-entities"; -import { Schema_Event, WithCompassId } from "@core/types/event.types"; -import { SliceStateContext } from "@web/common/store/helpers"; -import { Payload_EditEvent } from "@web/ducks/events/event.types"; +import { type Schema_Event, type WithCompassId } from "@core/types/event.types"; +import { type SliceStateContext } from "@web/common/store/helpers"; +import { type Payload_EditEvent } from "@web/ducks/events/event.types"; import { editEventSlice } from "@web/ducks/events/slices/event.slice"; import { eventsStore, setDraft } from "@web/store/events"; import { useAppDispatch } from "@web/store/store.hooks"; -import { Schema_GridEvent } from "../types/web.event.types"; +import { type Schema_GridEvent } from "../types/web.event.types"; export function useUpdateEvent() { const dispatch = useAppDispatch(); diff --git a/packages/web/src/common/parsers/dirty.parser.test.ts b/packages/web/src/common/parsers/dirty.parser.test.ts index a300ff8c2..98e33bf93 100644 --- a/packages/web/src/common/parsers/dirty.parser.test.ts +++ b/packages/web/src/common/parsers/dirty.parser.test.ts @@ -5,7 +5,7 @@ import { createMockStandaloneEvent, } from "@core/util/test/ccal.event.factory"; import { DirtyParser } from "@web/common/parsers/dirty.parser"; -import { Schema_WebEvent } from "../types/web.event.types"; +import { type Schema_WebEvent } from "../types/web.event.types"; describe("WebEventParser", () => { it("should return false when draft and original events are identical", () => { diff --git a/packages/web/src/common/parsers/dirty.parser.ts b/packages/web/src/common/parsers/dirty.parser.ts index cb280d75b..7ac9c3ecd 100644 --- a/packages/web/src/common/parsers/dirty.parser.ts +++ b/packages/web/src/common/parsers/dirty.parser.ts @@ -1,4 +1,4 @@ -import { Schema_WebEvent } from "@web/common/types/web.event.types"; +import { type Schema_WebEvent } from "@web/common/types/web.event.types"; /** * Parser for determining if an event has been modified (is dirty) diff --git a/packages/web/src/common/parsers/view.parser.test.ts b/packages/web/src/common/parsers/view.parser.test.ts index 8aced7661..bf5953c38 100644 --- a/packages/web/src/common/parsers/view.parser.test.ts +++ b/packages/web/src/common/parsers/view.parser.test.ts @@ -2,7 +2,7 @@ import { ObjectId } from "bson"; import { Origin, Priorities } from "@core/constants/core.constants"; import dayjs from "@core/util/date/dayjs"; import { EventInViewParser } from "@web/common/parsers/view.parser"; -import { Schema_WebEvent } from "@web/common/types/web.event.types"; +import { type Schema_WebEvent } from "@web/common/types/web.event.types"; describe("EventInViewParser", () => { const createMockEvent = ( diff --git a/packages/web/src/common/parsers/view.parser.ts b/packages/web/src/common/parsers/view.parser.ts index b60e489d2..10795e1fc 100644 --- a/packages/web/src/common/parsers/view.parser.ts +++ b/packages/web/src/common/parsers/view.parser.ts @@ -1,6 +1,6 @@ -import dayjs, { Dayjs } from "@core/util/date/dayjs"; -import { Schema_WebEvent } from "@web/common/types/web.event.types"; -import { WeekNavigationSource } from "@web/views/Calendar/hooks/useWeek"; +import dayjs, { type Dayjs } from "@core/util/date/dayjs"; +import { type Schema_WebEvent } from "@web/common/types/web.event.types"; +import { type WeekNavigationSource } from "@web/views/Calendar/hooks/useWeek"; export class EventInViewParser { private readonly event: Schema_WebEvent; diff --git a/packages/web/src/common/repositories/event/event.repository.interface.ts b/packages/web/src/common/repositories/event/event.repository.interface.ts index 5c1dce468..a190b67fb 100644 --- a/packages/web/src/common/repositories/event/event.repository.interface.ts +++ b/packages/web/src/common/repositories/event/event.repository.interface.ts @@ -1,10 +1,10 @@ import { - Params_Events, - Payload_Order, - RecurringEventUpdateScope, - Schema_Event, + type Params_Events, + type Payload_Order, + type RecurringEventUpdateScope, + type Schema_Event, } from "@core/types/event.types"; -import { Response_GetEventsSuccess } from "@web/ducks/events/event.types"; +import { type Response_GetEventsSuccess } from "@web/ducks/events/event.types"; export interface EventRepository { create(event: Schema_Event | Schema_Event[]): Promise; diff --git a/packages/web/src/common/repositories/event/event.repository.util.ts b/packages/web/src/common/repositories/event/event.repository.util.ts index c2c219838..60e97c377 100644 --- a/packages/web/src/common/repositories/event/event.repository.util.ts +++ b/packages/web/src/common/repositories/event/event.repository.util.ts @@ -1,5 +1,5 @@ import { hasUserEverAuthenticated } from "@web/common/utils/storage/auth-state.util"; -import { EventRepository } from "./event.repository.interface"; +import { type EventRepository } from "./event.repository.interface"; import { LocalEventRepository } from "./local.event.repository"; import { RemoteEventRepository } from "./remote.event.repository"; diff --git a/packages/web/src/common/repositories/event/local.event.repository.test.ts b/packages/web/src/common/repositories/event/local.event.repository.test.ts index 1916dcf73..1104f34be 100644 --- a/packages/web/src/common/repositories/event/local.event.repository.test.ts +++ b/packages/web/src/common/repositories/event/local.event.repository.test.ts @@ -1,8 +1,8 @@ import { - Event_Core, - Params_Events, - Payload_Order, - Schema_Event, + type Event_Core, + type Params_Events, + type Payload_Order, + type Schema_Event, } from "@core/types/event.types"; import { isDateRangeOverlapping } from "@core/util/date/date.util"; import dayjs from "@core/util/date/dayjs"; diff --git a/packages/web/src/common/repositories/event/local.event.repository.ts b/packages/web/src/common/repositories/event/local.event.repository.ts index e8a6a7fad..e0a364e45 100644 --- a/packages/web/src/common/repositories/event/local.event.repository.ts +++ b/packages/web/src/common/repositories/event/local.event.repository.ts @@ -1,13 +1,13 @@ import { - Event_Core, - Params_Events, - Payload_Order, - RecurringEventUpdateScope, - Schema_Event, + type Event_Core, + type Params_Events, + type Payload_Order, + type RecurringEventUpdateScope, + type Schema_Event, } from "@core/types/event.types"; import { getStorageAdapter } from "@web/common/storage/adapter/adapter"; -import { Response_GetEventsSuccess } from "@web/ducks/events/event.types"; -import { EventRepository } from "./event.repository.interface"; +import { type Response_GetEventsSuccess } from "@web/ducks/events/event.types"; +import { type EventRepository } from "./event.repository.interface"; /** * Local event repository implementation using the storage adapter. diff --git a/packages/web/src/common/repositories/event/remote.event.repository.test.ts b/packages/web/src/common/repositories/event/remote.event.repository.test.ts index 2311207ff..29a0459ad 100644 --- a/packages/web/src/common/repositories/event/remote.event.repository.test.ts +++ b/packages/web/src/common/repositories/event/remote.event.repository.test.ts @@ -1,8 +1,8 @@ import { - Params_Events, - Payload_Order, + type Params_Events, + type Payload_Order, RecurringEventUpdateScope, - Schema_Event, + type Schema_Event, } from "@core/types/event.types"; import { EventApi } from "@web/ducks/events/event.api"; import { RemoteEventRepository } from "./remote.event.repository"; diff --git a/packages/web/src/common/repositories/event/remote.event.repository.ts b/packages/web/src/common/repositories/event/remote.event.repository.ts index 49d3e3421..572a0c6aa 100644 --- a/packages/web/src/common/repositories/event/remote.event.repository.ts +++ b/packages/web/src/common/repositories/event/remote.event.repository.ts @@ -1,12 +1,12 @@ import { - Params_Events, - Payload_Order, - RecurringEventUpdateScope, - Schema_Event, + type Params_Events, + type Payload_Order, + type RecurringEventUpdateScope, + type Schema_Event, } from "@core/types/event.types"; import { EventApi } from "@web/ducks/events/event.api"; -import { Response_GetEventsSuccess } from "@web/ducks/events/event.types"; -import { EventRepository } from "./event.repository.interface"; +import { type Response_GetEventsSuccess } from "@web/ducks/events/event.types"; +import { type EventRepository } from "./event.repository.interface"; export class RemoteEventRepository implements EventRepository { async create(event: Schema_Event | Schema_Event[]): Promise { diff --git a/packages/web/src/common/repositories/task/cloud.task.repository.ts b/packages/web/src/common/repositories/task/cloud.task.repository.ts index 1fe68866a..0114fbfec 100644 --- a/packages/web/src/common/repositories/task/cloud.task.repository.ts +++ b/packages/web/src/common/repositories/task/cloud.task.repository.ts @@ -1,5 +1,5 @@ -import { Task } from "@web/common/types/task.types"; -import { TaskRepository } from "./task.repository"; +import { type Task } from "@web/common/types/task.types"; +import { type TaskRepository } from "./task.repository"; export class CloudTaskRepository implements TaskRepository { private createNotImplementedError(method: string): Error { diff --git a/packages/web/src/common/repositories/task/local.task.repository.ts b/packages/web/src/common/repositories/task/local.task.repository.ts index 3019ece4d..66eb3459d 100644 --- a/packages/web/src/common/repositories/task/local.task.repository.ts +++ b/packages/web/src/common/repositories/task/local.task.repository.ts @@ -1,7 +1,7 @@ import { getStorageAdapter } from "@web/common/storage/adapter/adapter"; -import { Task } from "@web/common/types/task.types"; +import { type Task } from "@web/common/types/task.types"; import { dispatchTasksSavedEvent } from "@web/common/utils/storage/storage.util"; -import { TaskRepository } from "./task.repository"; +import { type TaskRepository } from "./task.repository"; /** * Local task repository implementation using the storage adapter. diff --git a/packages/web/src/common/repositories/task/task.repository.ts b/packages/web/src/common/repositories/task/task.repository.ts index 16b27e44e..5fccf55ff 100644 --- a/packages/web/src/common/repositories/task/task.repository.ts +++ b/packages/web/src/common/repositories/task/task.repository.ts @@ -1,4 +1,4 @@ -import { Task } from "@web/common/types/task.types"; +import { type Task } from "@web/common/types/task.types"; export interface TaskRepository { get(dateKey: string): Promise; diff --git a/packages/web/src/common/repositories/task/task.repository.util.ts b/packages/web/src/common/repositories/task/task.repository.util.ts index 4e7ea4d53..3386c5acc 100644 --- a/packages/web/src/common/repositories/task/task.repository.util.ts +++ b/packages/web/src/common/repositories/task/task.repository.util.ts @@ -1,6 +1,6 @@ import { CloudTaskRepository } from "./cloud.task.repository"; import { LocalTaskRepository } from "./local.task.repository"; -import { TaskRepository } from "./task.repository"; +import { type TaskRepository } from "./task.repository"; export type TaskStorageMode = "local" | "cloud"; diff --git a/packages/web/src/common/services/task/task-storage-migration.service.test.ts b/packages/web/src/common/services/task/task-storage-migration.service.test.ts index 081a2b821..851313ed0 100644 --- a/packages/web/src/common/services/task/task-storage-migration.service.test.ts +++ b/packages/web/src/common/services/task/task-storage-migration.service.test.ts @@ -1,6 +1,6 @@ import { createMockTask } from "@web/__tests__/utils/factories/task.factory"; import { - MigrateLocalToCloudParams, + type MigrateLocalToCloudParams, migrateLocalToCloud, } from "./task-storage-migration.service"; diff --git a/packages/web/src/common/services/task/task-storage-migration.service.ts b/packages/web/src/common/services/task/task-storage-migration.service.ts index 6847dca1c..891b1367f 100644 --- a/packages/web/src/common/services/task/task-storage-migration.service.ts +++ b/packages/web/src/common/services/task/task-storage-migration.service.ts @@ -1,4 +1,4 @@ -import { TaskRepository } from "@web/common/repositories/task/task.repository"; +import { type TaskRepository } from "@web/common/repositories/task/task.repository"; export interface TaskStorageMigrationFailure { dateKey: string; diff --git a/packages/web/src/common/storage/adapter/adapter.ts b/packages/web/src/common/storage/adapter/adapter.ts index f8a01db74..04117abd1 100644 --- a/packages/web/src/common/storage/adapter/adapter.ts +++ b/packages/web/src/common/storage/adapter/adapter.ts @@ -1,5 +1,5 @@ import { IndexedDBAdapter } from "./indexeddb.adapter"; -import { StorageAdapter } from "./storage.adapter"; +import { type StorageAdapter } from "./storage.adapter"; let adapter: StorageAdapter | null = null; let initPromise: Promise | null = null; diff --git a/packages/web/src/common/storage/adapter/indexeddb.adapter.test.ts b/packages/web/src/common/storage/adapter/indexeddb.adapter.test.ts index 51afc6dcc..9ba79d46a 100644 --- a/packages/web/src/common/storage/adapter/indexeddb.adapter.test.ts +++ b/packages/web/src/common/storage/adapter/indexeddb.adapter.test.ts @@ -3,7 +3,7 @@ * * Uses fake-indexeddb (see web.test.start.ts) for in-memory IndexedDB support. */ -import { Event_Core } from "@core/types/event.types"; +import { type Event_Core } from "@core/types/event.types"; import { createMockTask } from "@web/__tests__/utils/factories/task.factory"; import { createTestEvent } from "@web/__tests__/utils/repositories/repository.test.factory"; import { clearCompassLocalDb } from "@web/__tests__/utils/storage/indexeddb.test.util"; diff --git a/packages/web/src/common/storage/adapter/indexeddb.adapter.ts b/packages/web/src/common/storage/adapter/indexeddb.adapter.ts index 4e76c204e..21971b111 100644 --- a/packages/web/src/common/storage/adapter/indexeddb.adapter.ts +++ b/packages/web/src/common/storage/adapter/indexeddb.adapter.ts @@ -1,8 +1,8 @@ -import Dexie, { Table } from "dexie"; -import { Event_Core } from "@core/types/event.types"; +import Dexie, { type Table } from "dexie"; +import { type Event_Core } from "@core/types/event.types"; import { isDateRangeOverlapping } from "@core/util/date/date.util"; import { - Task, + type Task, normalizeTask, normalizeTasks, } from "@web/common/types/task.types"; @@ -11,7 +11,11 @@ import { extractDataFromLegacySchema, isPrimaryKeyUpgradeError, } from "./legacy-primary-key.migration"; -import { MigrationRecord, StorageAdapter, StoredTask } from "./storage.adapter"; +import { + type MigrationRecord, + type StorageAdapter, + type StoredTask, +} from "./storage.adapter"; /** * Dexie database schema for Compass local storage. diff --git a/packages/web/src/common/storage/adapter/legacy-primary-key.migration.ts b/packages/web/src/common/storage/adapter/legacy-primary-key.migration.ts index 17bdff0a9..6c0044a32 100644 --- a/packages/web/src/common/storage/adapter/legacy-primary-key.migration.ts +++ b/packages/web/src/common/storage/adapter/legacy-primary-key.migration.ts @@ -1,6 +1,6 @@ -import Dexie, { Table } from "dexie"; -import { Event_Core } from "@core/types/event.types"; -import { StoredTask } from "./storage.adapter"; +import Dexie, { type Table } from "dexie"; +import { type Event_Core } from "@core/types/event.types"; +import { type StoredTask } from "./storage.adapter"; const DB_NAME = "compass-local"; diff --git a/packages/web/src/common/storage/adapter/storage.adapter.ts b/packages/web/src/common/storage/adapter/storage.adapter.ts index e8fa380f1..acf4b5a36 100644 --- a/packages/web/src/common/storage/adapter/storage.adapter.ts +++ b/packages/web/src/common/storage/adapter/storage.adapter.ts @@ -1,5 +1,5 @@ -import { Event_Core } from "@core/types/event.types"; -import { Task } from "@web/common/types/task.types"; +import { type Event_Core } from "@core/types/event.types"; +import { type Task } from "@web/common/types/task.types"; /** * Record of a completed migration. diff --git a/packages/web/src/common/storage/migrations/data/task-id-to-underscore-id.test.ts b/packages/web/src/common/storage/migrations/data/task-id-to-underscore-id.test.ts index f21aa7740..6bcf0fd62 100644 --- a/packages/web/src/common/storage/migrations/data/task-id-to-underscore-id.test.ts +++ b/packages/web/src/common/storage/migrations/data/task-id-to-underscore-id.test.ts @@ -1,5 +1,5 @@ import { createMockTask } from "@web/__tests__/utils/factories/task.factory"; -import { StorageAdapter } from "@web/common/storage/adapter/storage.adapter"; +import { type StorageAdapter } from "@web/common/storage/adapter/storage.adapter"; import { taskIdToUnderscoreIdMigration } from "./task-id-to-underscore-id"; function createMockAdapter(): jest.Mocked { diff --git a/packages/web/src/common/storage/migrations/data/task-id-to-underscore-id.ts b/packages/web/src/common/storage/migrations/data/task-id-to-underscore-id.ts index 80c0954c7..40961e4f6 100644 --- a/packages/web/src/common/storage/migrations/data/task-id-to-underscore-id.ts +++ b/packages/web/src/common/storage/migrations/data/task-id-to-underscore-id.ts @@ -1,6 +1,9 @@ -import { Task } from "@web/common/types/task.types"; -import { StorageAdapter, StoredTask } from "../../adapter/storage.adapter"; -import { DataMigration } from "../migration.types"; +import { type Task } from "@web/common/types/task.types"; +import { + type StorageAdapter, + type StoredTask, +} from "../../adapter/storage.adapter"; +import { type DataMigration } from "../migration.types"; type RawStoredTask = StoredTask & { id?: string }; diff --git a/packages/web/src/common/storage/migrations/external/demo-data-seed.test.ts b/packages/web/src/common/storage/migrations/external/demo-data-seed.test.ts index c0189113f..1b4573bbd 100644 --- a/packages/web/src/common/storage/migrations/external/demo-data-seed.test.ts +++ b/packages/web/src/common/storage/migrations/external/demo-data-seed.test.ts @@ -2,14 +2,17 @@ * Tests for the demo data seed migration. */ import { Priorities } from "@core/constants/core.constants"; -import { CompassCoreEventSchema, Event_Core } from "@core/types/event.types"; +import { + CompassCoreEventSchema, + type Event_Core, +} from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; import { createMockTask } from "@web/__tests__/utils/factories/task.factory"; import { createMockStorageAdapter } from "@web/__tests__/utils/storage/mock-storage-adapter.util"; -import { Task } from "@web/common/types/task.types"; +import { type Task } from "@web/common/types/task.types"; import { GridEventSchema, - Schema_GridEvent, + type Schema_GridEvent, } from "@web/common/types/web.event.types"; import { demoDataSeedMigration } from "./demo-data-seed"; @@ -31,7 +34,7 @@ describe("demoDataSeedMigration", () => { expect(adapter.putTasks).toHaveBeenCalled(); // Verify events were created (7 total: 5 today + 2 someday) - const eventsCall = adapter.putEvents.mock.calls[0][0] as Event_Core[]; + const eventsCall = adapter.putEvents.mock.calls[0][0]; expect(eventsCall).toHaveLength(7); // Verify tasks were created for 3 days @@ -74,7 +77,7 @@ describe("demoDataSeedMigration", () => { await demoDataSeedMigration.migrate(adapter); - const eventsCall = adapter.putEvents.mock.calls[0][0] as Event_Core[]; + const eventsCall = adapter.putEvents.mock.calls[0][0]; const today = dayjs().toYearMonthDayString(); // Check that at least one timed event starts today @@ -111,7 +114,7 @@ describe("demoDataSeedMigration", () => { const yesterdayCall = putTasksCalls.find((call) => call[0] === yesterday); expect(yesterdayCall).toBeDefined(); - const yesterdayTasks = yesterdayCall![1] as Task[]; + const yesterdayTasks = yesterdayCall![1]; expect(yesterdayTasks.every((t) => t.status === "completed")).toBe(true); }); @@ -120,7 +123,7 @@ describe("demoDataSeedMigration", () => { await demoDataSeedMigration.migrate(adapter); - const eventsCall = adapter.putEvents.mock.calls[0][0] as Event_Core[]; + const eventsCall = adapter.putEvents.mock.calls[0][0]; const priorities = new Set(eventsCall.map((e) => e.priority)); expect(priorities.has(Priorities.WORK)).toBe(true); @@ -134,7 +137,7 @@ describe("demoDataSeedMigration", () => { await demoDataSeedMigration.migrate(adapter); - const eventsCall = adapter.putEvents.mock.calls[0][0] as Event_Core[]; + const eventsCall = adapter.putEvents.mock.calls[0][0]; const somedayEvents = eventsCall.filter((e) => e.isSomeday); expect(somedayEvents).toHaveLength(2); @@ -145,7 +148,7 @@ describe("demoDataSeedMigration", () => { await demoDataSeedMigration.migrate(adapter); - const eventsCall = adapter.putEvents.mock.calls[0][0] as Event_Core[]; + const eventsCall = adapter.putEvents.mock.calls[0][0]; const allDayEvents = eventsCall.filter((e) => e.isAllDay); expect(allDayEvents).toHaveLength(1); @@ -157,7 +160,7 @@ describe("demoDataSeedMigration", () => { await demoDataSeedMigration.migrate(adapter); - const eventsCall = adapter.putEvents.mock.calls[0][0] as Event_Core[]; + const eventsCall = adapter.putEvents.mock.calls[0][0]; const timedEvents = eventsCall.filter((e) => !e.isSomeday && !e.isAllDay); // RFC3339 offset format: "2026-02-19T16:30:00-08:00" (no milliseconds, offset instead of Z) @@ -176,7 +179,7 @@ describe("demoDataSeedMigration", () => { await demoDataSeedMigration.migrate(adapter); - const eventsCall = adapter.putEvents.mock.calls[0][0] as Event_Core[]; + const eventsCall = adapter.putEvents.mock.calls[0][0]; const timedEvents = eventsCall.filter( (e) => !e.isSomeday && !e.isAllDay, ) as Schema_GridEvent[]; @@ -202,7 +205,7 @@ describe("demoDataSeedMigration", () => { await demoDataSeedMigration.migrate(adapter); - const eventsCall = adapter.putEvents.mock.calls[0][0] as Event_Core[]; + const eventsCall = adapter.putEvents.mock.calls[0][0]; for (const event of eventsCall) { if (!event.isSomeday && !event.isAllDay) { diff --git a/packages/web/src/common/storage/migrations/external/demo-data-seed.ts b/packages/web/src/common/storage/migrations/external/demo-data-seed.ts index b62f16a84..5b3f9db40 100644 --- a/packages/web/src/common/storage/migrations/external/demo-data-seed.ts +++ b/packages/web/src/common/storage/migrations/external/demo-data-seed.ts @@ -1,15 +1,15 @@ import { Origin, Priorities } from "@core/constants/core.constants"; -import { Event_Core } from "@core/types/event.types"; +import { type Event_Core } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; import { UNAUTHENTICATED_USER } from "@web/common/constants/auth.constants"; import { VIEW_SHORTCUTS } from "@web/common/constants/shortcuts.constants"; -import { Task } from "@web/common/types/task.types"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Task } from "@web/common/types/task.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { gridEventDefaultPosition } from "@web/common/utils/event/event.util"; import { createObjectIdString } from "@web/common/utils/id/object-id.util"; import { getModifierKeyLabel } from "@web/common/utils/shortcut/shortcut.util"; -import { StorageAdapter } from "../../adapter/storage.adapter"; -import { ExternalMigration } from "../migration.types"; +import { type StorageAdapter } from "../../adapter/storage.adapter"; +import { type ExternalMigration } from "../migration.types"; type Event_WithPosition = Event_Core & Pick; type Event_Seeded = Event_Core | Event_WithPosition; diff --git a/packages/web/src/common/storage/migrations/external/localstorage-tasks.test.ts b/packages/web/src/common/storage/migrations/external/localstorage-tasks.test.ts index 031a99ada..34b3d3f7a 100644 --- a/packages/web/src/common/storage/migrations/external/localstorage-tasks.test.ts +++ b/packages/web/src/common/storage/migrations/external/localstorage-tasks.test.ts @@ -2,7 +2,7 @@ * Tests for the localStorage tasks migration. */ import { createMockTask } from "@web/__tests__/utils/factories/task.factory"; -import { StorageAdapter } from "@web/common/storage/adapter/storage.adapter"; +import { type StorageAdapter } from "@web/common/storage/adapter/storage.adapter"; import { localStorageTasksMigration } from "./localstorage-tasks"; const TASK_KEY_PREFIX = "compass.today.tasks."; diff --git a/packages/web/src/common/storage/migrations/external/localstorage-tasks.ts b/packages/web/src/common/storage/migrations/external/localstorage-tasks.ts index 02cc5338d..de531fadf 100644 --- a/packages/web/src/common/storage/migrations/external/localstorage-tasks.ts +++ b/packages/web/src/common/storage/migrations/external/localstorage-tasks.ts @@ -1,6 +1,6 @@ -import { Task, isTask } from "@web/common/types/task.types"; -import { StorageAdapter } from "../../adapter/storage.adapter"; -import { ExternalMigration } from "../migration.types"; +import { type Task, isTask } from "@web/common/types/task.types"; +import { type StorageAdapter } from "../../adapter/storage.adapter"; +import { type ExternalMigration } from "../migration.types"; const TASK_KEY_PREFIX = "compass.today.tasks."; diff --git a/packages/web/src/common/storage/migrations/migration.types.ts b/packages/web/src/common/storage/migrations/migration.types.ts index ecdc22436..2f2c0db64 100644 --- a/packages/web/src/common/storage/migrations/migration.types.ts +++ b/packages/web/src/common/storage/migrations/migration.types.ts @@ -1,4 +1,4 @@ -import { StorageAdapter } from "../adapter/storage.adapter"; +import { type StorageAdapter } from "../adapter/storage.adapter"; /** * Data migration - transforms existing data within storage. diff --git a/packages/web/src/common/storage/migrations/migrations.ts b/packages/web/src/common/storage/migrations/migrations.ts index bcb58f932..ede3f8a6e 100644 --- a/packages/web/src/common/storage/migrations/migrations.ts +++ b/packages/web/src/common/storage/migrations/migrations.ts @@ -1,8 +1,8 @@ -import { StorageAdapter } from "../adapter/storage.adapter"; +import { type StorageAdapter } from "../adapter/storage.adapter"; import { taskIdToUnderscoreIdMigration } from "./data/task-id-to-underscore-id"; import { demoDataSeedMigration } from "./external/demo-data-seed"; import { localStorageTasksMigration } from "./external/localstorage-tasks"; -import { DataMigration, ExternalMigration } from "./migration.types"; +import { type DataMigration, type ExternalMigration } from "./migration.types"; // ─── Migration Registry ────────────────────────────────────────────────────── // Add new migrations to these arrays. They run in order. diff --git a/packages/web/src/common/store/helpers/index.ts b/packages/web/src/common/store/helpers/index.ts index 9ad701710..0a111bcd8 100644 --- a/packages/web/src/common/store/helpers/index.ts +++ b/packages/web/src/common/store/helpers/index.ts @@ -1,9 +1,9 @@ import { produce } from "immer"; import { - ActionCreatorWithPayload, - PayloadAction, - SliceCaseReducers, - ValidateSliceCaseReducers, + type ActionCreatorWithPayload, + type PayloadAction, + type SliceCaseReducers, + type ValidateSliceCaseReducers, createSlice, } from "@reduxjs/toolkit"; diff --git a/packages/web/src/common/styles/default-theme.d.ts b/packages/web/src/common/styles/default-theme.d.ts index 0f11c2f53..67d28d78a 100644 --- a/packages/web/src/common/styles/default-theme.d.ts +++ b/packages/web/src/common/styles/default-theme.d.ts @@ -1,5 +1,5 @@ import "styled-components"; -import { textDark, textLight } from "./colors"; +import { type textDark, type textLight } from "./colors"; declare module "styled-components" { export interface DefaultTheme { @@ -83,9 +83,7 @@ declare module "styled-components" { extraBold: number; }; }; - getContrastText: ( - backgroundColor: string, - ) => typeof textLight | typeof textDark; + getContrastText: (backgroundColor: string) => typeof textLight; transition: { default: string; }; diff --git a/packages/web/src/common/styles/theme.ts b/packages/web/src/common/styles/theme.ts index 8be9e05d6..13af7d2de 100644 --- a/packages/web/src/common/styles/theme.ts +++ b/packages/web/src/common/styles/theme.ts @@ -1,4 +1,4 @@ -import { DefaultTheme } from "styled-components"; +import { type DefaultTheme } from "styled-components"; import { c, textDark, textLight } from "@web/common/styles/colors"; export const theme: DefaultTheme = { @@ -82,9 +82,7 @@ export const theme: DefaultTheme = { extraBold: 900, }, }, - getContrastText: ( - backgroundColor: string, - ): typeof textLight | typeof textDark => { + getContrastText: (backgroundColor: string): typeof textLight => { // Convert hex to RGB const hex = backgroundColor.replace("#", ""); const r = parseInt(hex.substring(0, 2), 16); diff --git a/packages/web/src/common/types/dnd.types.ts b/packages/web/src/common/types/dnd.types.ts index a780f6309..f82f3a44c 100644 --- a/packages/web/src/common/types/dnd.types.ts +++ b/packages/web/src/common/types/dnd.types.ts @@ -1,4 +1,4 @@ -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; export enum Category_DragItem { EVENT_SOMEDAY = "event_someday", diff --git a/packages/web/src/common/types/util.types.ts b/packages/web/src/common/types/util.types.ts index 30227ca74..4e378a646 100644 --- a/packages/web/src/common/types/util.types.ts +++ b/packages/web/src/common/types/util.types.ts @@ -1,4 +1,4 @@ -import { Dayjs } from "@core/util/date/dayjs"; +import { type Dayjs } from "@core/util/date/dayjs"; export interface AssignResult { fits: boolean; diff --git a/packages/web/src/common/types/web.event.types.ts b/packages/web/src/common/types/web.event.types.ts index fd82a51b6..4c489211f 100644 --- a/packages/web/src/common/types/web.event.types.ts +++ b/packages/web/src/common/types/web.event.types.ts @@ -2,10 +2,10 @@ import { z } from "zod"; import { CompassCoreEventSchema, CompassEventRecurrence, - Schema_Event, + type Schema_Event, } from "@core/types/event.types"; import { IDSchema } from "@core/types/type.utils"; -import { SelectOption } from "@web/common/types/component.types"; +import { type SelectOption } from "@web/common/types/component.types"; const WebEventRecurrence = z.union([ z.undefined(), diff --git a/packages/web/src/common/utils/auth/google-auth.util.test.ts b/packages/web/src/common/utils/auth/google-auth.util.test.ts index 28c57ab0f..1b4ee691a 100644 --- a/packages/web/src/common/utils/auth/google-auth.util.test.ts +++ b/packages/web/src/common/utils/auth/google-auth.util.test.ts @@ -3,7 +3,7 @@ import { Origin } from "@core/constants/core.constants"; import { AuthApi } from "@web/common/apis/auth.api"; import { GOOGLE_REVOKED_TOAST_ID } from "@web/common/constants/toast.constants"; import { syncLocalEventsToCloud } from "@web/common/utils/sync/local-event-sync.util"; -import { SignInUpInput } from "@web/components/oauth/ouath.types"; +import { type SignInUpInput } from "@web/components/oauth/ouath.types"; import { Sync_AsyncStateContextReason } from "@web/ducks/events/context/sync.context"; import { eventsEntitiesSlice } from "@web/ducks/events/slices/event.slice"; import { triggerFetch } from "@web/ducks/events/slices/sync.slice"; diff --git a/packages/web/src/common/utils/auth/google-auth.util.ts b/packages/web/src/common/utils/auth/google-auth.util.ts index 9d2b42f92..c4ed2b27a 100644 --- a/packages/web/src/common/utils/auth/google-auth.util.ts +++ b/packages/web/src/common/utils/auth/google-auth.util.ts @@ -3,7 +3,7 @@ import { Origin } from "@core/constants/core.constants"; import { AuthApi } from "@web/common/apis/auth.api"; import { GOOGLE_REVOKED_TOAST_ID } from "@web/common/constants/toast.constants"; import { syncLocalEventsToCloud } from "@web/common/utils/sync/local-event-sync.util"; -import { SignInUpInput } from "@web/components/oauth/ouath.types"; +import { type SignInUpInput } from "@web/components/oauth/ouath.types"; import { Sync_AsyncStateContextReason } from "@web/ducks/events/context/sync.context"; import { eventsEntitiesSlice } from "@web/ducks/events/slices/event.slice"; import { triggerFetch } from "@web/ducks/events/slices/sync.slice"; diff --git a/packages/web/src/common/utils/datetime/web.date.util.test.ts b/packages/web/src/common/utils/datetime/web.date.util.test.ts index 9231fb5d6..db3159b56 100644 --- a/packages/web/src/common/utils/datetime/web.date.util.test.ts +++ b/packages/web/src/common/utils/datetime/web.date.util.test.ts @@ -1,5 +1,5 @@ import { YEAR_MONTH_DAY_FORMAT } from "@core/constants/date.constants"; -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; import { arraysAreEqual } from "@web/__tests__/utils/web.test.util"; import { diff --git a/packages/web/src/common/utils/datetime/web.date.util.ts b/packages/web/src/common/utils/datetime/web.date.util.ts index b99da71ef..e1f37c0b2 100644 --- a/packages/web/src/common/utils/datetime/web.date.util.ts +++ b/packages/web/src/common/utils/datetime/web.date.util.ts @@ -5,12 +5,12 @@ import { YMDHAM_FORMAT, YMDHM_FORMAT, } from "@core/constants/date.constants"; -import { Categories_Event, Schema_Event } from "@core/types/event.types"; -import dayjs, { Dayjs } from "@core/util/date/dayjs"; +import { Categories_Event, type Schema_Event } from "@core/types/event.types"; +import dayjs, { type Dayjs } from "@core/util/date/dayjs"; import { ACCEPTED_TIMES } from "@web/common/constants/web.constants"; import { theme } from "@web/common/styles/theme"; -import { Option_Time } from "@web/common/types/util.types"; -import { Schema_SelectedDates } from "@web/common/types/web.event.types"; +import { type Option_Time } from "@web/common/types/util.types"; +import { type Schema_SelectedDates } from "@web/common/types/web.event.types"; import { roundToNext } from "@web/common/utils/round/round.util"; import { GRID_TIME_STEP } from "@web/views/Calendar/layout.constants"; diff --git a/packages/web/src/common/utils/datetime/web.datetime.util.ts b/packages/web/src/common/utils/datetime/web.datetime.util.ts index ce69ff0f7..b321f60f5 100644 --- a/packages/web/src/common/utils/datetime/web.datetime.util.ts +++ b/packages/web/src/common/utils/datetime/web.datetime.util.ts @@ -5,10 +5,10 @@ * should go in @core/ */ import { YMDHAM_FORMAT } from "@core/constants/date.constants"; -import dayjs, { Dayjs } from "@core/util/date/dayjs"; +import dayjs, { type Dayjs } from "@core/util/date/dayjs"; import { - Params_DateChange, - Params_TimeChange, + type Params_DateChange, + type Params_TimeChange, } from "@web/common/types/util.types"; export const shouldAdjustComplimentDate = ( diff --git a/packages/web/src/common/utils/dom/event-emitter.util.ts b/packages/web/src/common/utils/dom/event-emitter.util.ts index 6b2198651..7243efdf6 100644 --- a/packages/web/src/common/utils/dom/event-emitter.util.ts +++ b/packages/web/src/common/utils/dom/event-emitter.util.ts @@ -1,5 +1,5 @@ import { EventEmitter2 } from "eventemitter2"; -import { PointerEvent } from "react"; +import { type PointerEvent } from "react"; import { BehaviorSubject, Subject } from "rxjs"; import { StringV4Schema } from "@core/types/type.utils"; import { isLeftClick } from "../mouse/mouse.util"; diff --git a/packages/web/src/common/utils/dom/event-target-visibility.util.test.ts b/packages/web/src/common/utils/dom/event-target-visibility.util.test.ts index 28a3610ad..d55d4155a 100644 --- a/packages/web/src/common/utils/dom/event-target-visibility.util.test.ts +++ b/packages/web/src/common/utils/dom/event-target-visibility.util.test.ts @@ -1,4 +1,4 @@ -import { SyntheticEvent } from "react"; +import { type SyntheticEvent } from "react"; import { onEventTargetVisibility } from "@web/common/utils/dom/event-target-visibility.util"; // Mock IntersectionObserver diff --git a/packages/web/src/common/utils/dom/event-target-visibility.util.ts b/packages/web/src/common/utils/dom/event-target-visibility.util.ts index d3c27f0c5..646c6182c 100644 --- a/packages/web/src/common/utils/dom/event-target-visibility.util.ts +++ b/packages/web/src/common/utils/dom/event-target-visibility.util.ts @@ -1,4 +1,4 @@ -import { SyntheticEvent } from "react"; +import { type SyntheticEvent } from "react"; /** * onEventTargetVisibility diff --git a/packages/web/src/common/utils/dom/grid-organization.util.ts b/packages/web/src/common/utils/dom/grid-organization.util.ts index dc5e675dc..5532a0ab0 100644 --- a/packages/web/src/common/utils/dom/grid-organization.util.ts +++ b/packages/web/src/common/utils/dom/grid-organization.util.ts @@ -1,4 +1,4 @@ -import { CSSProperties } from "react"; +import { type CSSProperties } from "react"; import { BehaviorSubject } from "rxjs"; import { CLASS_TIMED_CALENDAR_EVENT, diff --git a/packages/web/src/common/utils/draft/draft.util.ts b/packages/web/src/common/utils/draft/draft.util.ts index 55c936700..8239a3aa3 100644 --- a/packages/web/src/common/utils/draft/draft.util.ts +++ b/packages/web/src/common/utils/draft/draft.util.ts @@ -1,18 +1,18 @@ -import { MouseEvent } from "react"; -import { Dispatch } from "redux"; +import { type MouseEvent } from "react"; +import { type Dispatch } from "redux"; import { Categories_Event } from "@core/types/event.types"; -import dayjs, { Dayjs } from "@core/util/date/dayjs"; +import dayjs, { type Dayjs } from "@core/util/date/dayjs"; import { ID_GRID_EVENTS_ALLDAY, ID_GRID_EVENTS_TIMED, } from "@web/common/constants/web.constants"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { assembleDefaultEvent } from "@web/common/utils/event/event.util"; import { getElemById, getX } from "@web/common/utils/grid/grid.util"; import { roundToNext } from "@web/common/utils/round/round.util"; import { draftSlice } from "@web/ducks/events/slices/draft.slice"; -import { Activity_DraftEvent } from "@web/ducks/events/slices/draft.slice.types"; -import { DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; +import { type Activity_DraftEvent } from "@web/ducks/events/slices/draft.slice.types"; +import { type DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; import { DRAFT_DURATION_MIN, GRID_TIME_STEP, diff --git a/packages/web/src/common/utils/draft/someday.draft.util.test.ts b/packages/web/src/common/utils/draft/someday.draft.util.test.ts index 52cbf4790..6dc1f468d 100644 --- a/packages/web/src/common/utils/draft/someday.draft.util.test.ts +++ b/packages/web/src/common/utils/draft/someday.draft.util.test.ts @@ -3,7 +3,7 @@ import dayjs from "@core/util/date/dayjs"; import { createSomedayDraft } from "@web/common/utils/draft/someday.draft.util"; import { assembleDefaultEvent } from "@web/common/utils/event/event.util"; import { draftSlice } from "@web/ducks/events/slices/draft.slice"; -import { Activity_DraftEvent } from "@web/ducks/events/slices/draft.slice.types"; +import { type Activity_DraftEvent } from "@web/ducks/events/slices/draft.slice.types"; // Mock assembleDefaultEvent since it makes external calls jest.mock("../event/event.util", () => ({ diff --git a/packages/web/src/common/utils/draft/someday.draft.util.ts b/packages/web/src/common/utils/draft/someday.draft.util.ts index a1ca99f58..1bca12fb4 100644 --- a/packages/web/src/common/utils/draft/someday.draft.util.ts +++ b/packages/web/src/common/utils/draft/someday.draft.util.ts @@ -1,9 +1,9 @@ -import { Dispatch } from "redux"; +import { type Dispatch } from "redux"; import { YEAR_MONTH_DAY_FORMAT } from "@core/constants/date.constants"; import { Categories_Event } from "@core/types/event.types"; -import { Dayjs } from "@core/util/date/dayjs"; +import { type Dayjs } from "@core/util/date/dayjs"; import { draftSlice } from "@web/ducks/events/slices/draft.slice"; -import { Activity_DraftEvent } from "@web/ducks/events/slices/draft.slice.types"; +import { type Activity_DraftEvent } from "@web/ducks/events/slices/draft.slice.types"; import { assembleDefaultEvent } from "../event/event.util"; /** @deprecated diff --git a/packages/web/src/common/utils/event/event.util.test.ts b/packages/web/src/common/utils/event/event.util.test.ts index b94aa1e22..650fb26e7 100644 --- a/packages/web/src/common/utils/event/event.util.test.ts +++ b/packages/web/src/common/utils/event/event.util.test.ts @@ -1,8 +1,8 @@ import { ObjectId } from "bson"; import { createMockStandaloneEvent } from "@core/util/test/ccal.event.factory"; import { - Schema_GridEvent, - Schema_WebEvent, + type Schema_GridEvent, + type Schema_WebEvent, } from "@web/common/types/web.event.types"; import { addId, isEventInRange } from "@web/common/utils/event/event.util"; import { _assembleGridEvent } from "@web/ducks/events/sagas/saga.util"; diff --git a/packages/web/src/common/utils/event/event.util.ts b/packages/web/src/common/utils/event/event.util.ts index e2ed7c43a..80a2f7d5f 100644 --- a/packages/web/src/common/utils/event/event.util.ts +++ b/packages/web/src/common/utils/event/event.util.ts @@ -1,13 +1,13 @@ -import { DropResult } from "@hello-pangea/dnd"; +import { type DropResult } from "@hello-pangea/dnd"; import { Origin, Priorities } from "@core/constants/core.constants"; import { YEAR_MONTH_DAY_COMPACT_FORMAT } from "@core/constants/date.constants"; import { Status } from "@core/errors/status.codes"; import { Categories_Event, - Schema_Event, - Schema_Event_Recur_Base, + type Schema_Event, + type Schema_Event_Recur_Base, } from "@core/types/event.types"; -import dayjs, { Dayjs } from "@core/util/date/dayjs"; +import dayjs, { type Dayjs } from "@core/util/date/dayjs"; import { getUserId } from "@web/auth/auth.util"; import { CLASS_TIMED_CALENDAR_EVENT, @@ -17,11 +17,11 @@ import { ID_GRID_MAIN, } from "@web/common/constants/web.constants"; import { isElementInViewport } from "@web/common/context/pointer-position"; -import { PartialMouseEvent } from "@web/common/types/util.types"; +import { type PartialMouseEvent } from "@web/common/types/util.types"; import { - Schema_GridEvent, - Schema_WebEvent, - WithId, + type Schema_GridEvent, + type Schema_WebEvent, + type WithId, } from "@web/common/types/web.event.types"; import { createObjectIdString } from "@web/common/utils/id/object-id.util"; import { @@ -107,11 +107,11 @@ export const assembleGridEvent = (event: Schema_WebEvent): Schema_GridEvent => { ...event, position: gridEventDefaultPosition, _id: event._id!, - startDate: event.startDate!, - endDate: event.endDate!, + startDate: event.startDate, + endDate: event.endDate, origin: event.origin ?? Origin.COMPASS, priority: event.priority ?? Priorities.UNASSIGNED, - user: event.user!, + user: event.user, recurrence: event.recurrence, }; diff --git a/packages/web/src/common/utils/event/someday.event.util.test.ts b/packages/web/src/common/utils/event/someday.event.util.test.ts index 3bfe9a434..9c323eee5 100644 --- a/packages/web/src/common/utils/event/someday.event.util.test.ts +++ b/packages/web/src/common/utils/event/someday.event.util.test.ts @@ -6,7 +6,7 @@ import { RRULE, RRULE_COUNT_WEEKS, } from "@core/constants/core.constants"; -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; import { createMockBaseEvent, @@ -14,8 +14,8 @@ import { } from "@core/util/test/ccal.event.factory"; import { COLUMN_MONTH, COLUMN_WEEK } from "@web/common/constants/web.constants"; import { - Schema_SomedayEvent, - Schema_SomedayEventsColumn, + type Schema_SomedayEvent, + type Schema_SomedayEventsColumn, } from "@web/common/types/web.event.types"; import { categorizeSomedayEvents, diff --git a/packages/web/src/common/utils/event/someday.event.util.ts b/packages/web/src/common/utils/event/someday.event.util.ts index d1a66a8e1..aa01fe9cc 100644 --- a/packages/web/src/common/utils/event/someday.event.util.ts +++ b/packages/web/src/common/utils/event/someday.event.util.ts @@ -1,14 +1,14 @@ import uniqby from "lodash.uniqby"; -import { Categories_Event, Schema_Event } from "@core/types/event.types"; -import dayjs, { Dayjs } from "@core/util/date/dayjs"; +import { Categories_Event, type Schema_Event } from "@core/types/event.types"; +import dayjs, { type Dayjs } from "@core/util/date/dayjs"; import { COLUMN_MONTH, COLUMN_WEEK, ID_SOMEDAY_EVENT_ACTION_MENU, } from "@web/common/constants/web.constants"; import { - Schema_SomedayEvent, - Schema_SomedayEventsColumn, + type Schema_SomedayEvent, + type Schema_SomedayEventsColumn, } from "@web/common/types/web.event.types"; import { validateSomedayEvents } from "@web/common/validators/someday.event.validator"; diff --git a/packages/web/src/common/utils/grid/assign.row.test.ts b/packages/web/src/common/utils/grid/assign.row.test.ts index 0804496c4..1e2d3fc5c 100644 --- a/packages/web/src/common/utils/grid/assign.row.test.ts +++ b/packages/web/src/common/utils/grid/assign.row.test.ts @@ -1,6 +1,6 @@ import { v4 as uuidv4 } from "uuid"; import { mar13To19 } from "@core/__mocks__/v1/events/events.allday.3"; -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; import { assignEventsToRow } from "@web/common/utils/grid/assign.row"; const assignsRowNumberToEachEvent = (events: Schema_Event[]) => { diff --git a/packages/web/src/common/utils/grid/assign.row.ts b/packages/web/src/common/utils/grid/assign.row.ts index 678654d7d..3869a15aa 100644 --- a/packages/web/src/common/utils/grid/assign.row.ts +++ b/packages/web/src/common/utils/grid/assign.row.ts @@ -1,6 +1,6 @@ -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { assignEventToRow } from "./grid.util"; export const assignEventsToRow = ( diff --git a/packages/web/src/common/utils/grid/grid.util.ts b/packages/web/src/common/utils/grid/grid.util.ts index 7e71031f5..547849f96 100644 --- a/packages/web/src/common/utils/grid/grid.util.ts +++ b/packages/web/src/common/utils/grid/grid.util.ts @@ -1,6 +1,9 @@ -import { MouseEvent } from "react"; -import dayjs, { Dayjs } from "@core/util/date/dayjs"; -import { AssignResult, WidthPercentages } from "@web/common/types/util.types"; +import { type MouseEvent } from "react"; +import dayjs, { type Dayjs } from "@core/util/date/dayjs"; +import { + type AssignResult, + type WidthPercentages, +} from "@web/common/types/util.types"; import { AFTER_TMRW_MULTIPLE, DIVIDER_GRID, diff --git a/packages/web/src/common/utils/mouse/mouse.util.test.ts b/packages/web/src/common/utils/mouse/mouse.util.test.ts index 9314b6883..cc27295bc 100644 --- a/packages/web/src/common/utils/mouse/mouse.util.test.ts +++ b/packages/web/src/common/utils/mouse/mouse.util.test.ts @@ -1,4 +1,4 @@ -import { MouseEvent } from "react"; +import { type MouseEvent } from "react"; import { isLeftClick, isRightClick } from "./mouse.util"; describe("mouse.util", () => { diff --git a/packages/web/src/common/utils/mouse/mouse.util.ts b/packages/web/src/common/utils/mouse/mouse.util.ts index 6363e01ca..fdbc6f6d4 100644 --- a/packages/web/src/common/utils/mouse/mouse.util.ts +++ b/packages/web/src/common/utils/mouse/mouse.util.ts @@ -1,4 +1,4 @@ -import { MouseEvent } from "react"; +import { type MouseEvent } from "react"; export const isRightClick = (e: MouseEvent) => { return e.button === 2; diff --git a/packages/web/src/common/utils/overlap/overlap.test.ts b/packages/web/src/common/utils/overlap/overlap.test.ts index e4410b18a..df2c000e1 100644 --- a/packages/web/src/common/utils/overlap/overlap.test.ts +++ b/packages/web/src/common/utils/overlap/overlap.test.ts @@ -1,6 +1,6 @@ import { Categories_Event } from "@core/types/event.types"; import { getUserId } from "@web/auth/auth.util"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { assembleDefaultEvent, gridEventDefaultPosition, diff --git a/packages/web/src/common/utils/overlap/overlap.ts b/packages/web/src/common/utils/overlap/overlap.ts index 521535fb0..60ee4eae8 100644 --- a/packages/web/src/common/utils/overlap/overlap.ts +++ b/packages/web/src/common/utils/overlap/overlap.ts @@ -1,6 +1,6 @@ import dayjs from "@core/util/date/dayjs"; import { theme } from "@web/common/styles/theme"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; export const adjustOverlappingEvents = ( events: Schema_GridEvent[], diff --git a/packages/web/src/common/utils/position/position.util.ts b/packages/web/src/common/utils/position/position.util.ts index 6815e35b1..fa2f6cc2c 100644 --- a/packages/web/src/common/utils/position/position.util.ts +++ b/packages/web/src/common/utils/position/position.util.ts @@ -1,10 +1,10 @@ import { MS_IN_HR } from "@core/constants/core.constants"; import { HOURS_AM_FORMAT } from "@core/constants/date.constants"; -import dayjs, { Dayjs } from "@core/util/date/dayjs"; +import dayjs, { type Dayjs } from "@core/util/date/dayjs"; import { ACCEPTED_TIMES } from "@web/common/constants/web.constants"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { Category } from "@web/ducks/events/event.types"; -import { Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; +import { type Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; import { DRAFT_PADDING_BOTTOM, EVENT_ALLDAY_HEIGHT, diff --git a/packages/web/src/common/utils/shortcut/data/shortcuts.data.ts b/packages/web/src/common/utils/shortcut/data/shortcuts.data.ts index 11691f31e..2507a6d97 100644 --- a/packages/web/src/common/utils/shortcut/data/shortcuts.data.ts +++ b/packages/web/src/common/utils/shortcut/data/shortcuts.data.ts @@ -1,6 +1,6 @@ import dayjs from "@core/util/date/dayjs"; import { VIEW_SHORTCUTS } from "@web/common/constants/shortcuts.constants"; -import { Shortcut } from "@web/common/types/global.shortcut.types"; +import { type Shortcut } from "@web/common/types/global.shortcut.types"; import { getModifierKey } from "@web/common/utils/shortcut/shortcut.util"; interface ShortcutsConfig { diff --git a/packages/web/src/common/utils/shortcut/shortcut.util.tsx b/packages/web/src/common/utils/shortcut/shortcut.util.tsx index 18b1efbb3..2ff612c90 100644 --- a/packages/web/src/common/utils/shortcut/shortcut.util.tsx +++ b/packages/web/src/common/utils/shortcut/shortcut.util.tsx @@ -1,7 +1,7 @@ import { CommandIcon, ControlIcon, - Icon, + type Icon, WindowsLogoIcon, } from "@phosphor-icons/react"; import { DesktopOS, getDesktopOS } from "@web/common/utils/device/device.util"; diff --git a/packages/web/src/common/utils/storage/auth-state.util.ts b/packages/web/src/common/utils/storage/auth-state.util.ts index 77389ff2e..2da5091a7 100644 --- a/packages/web/src/common/utils/storage/auth-state.util.ts +++ b/packages/web/src/common/utils/storage/auth-state.util.ts @@ -1,5 +1,5 @@ import { - AuthState, + type AuthState, AuthStateSchema, DEFAULT_AUTH_STATE, } from "@web/common/constants/auth.constants"; diff --git a/packages/web/src/common/utils/storage/storage.util.ts b/packages/web/src/common/utils/storage/storage.util.ts index 898791af5..208edf191 100644 --- a/packages/web/src/common/utils/storage/storage.util.ts +++ b/packages/web/src/common/utils/storage/storage.util.ts @@ -1,8 +1,8 @@ import dayjs from "@core/util/date/dayjs"; import { getTaskRepository } from "@web/common/repositories/task/task.repository.util"; import { ensureStorageReady } from "@web/common/storage/adapter/adapter"; -import { Task } from "@web/common/types/task.types"; -import { CompassTasksSavedEventDetail } from "./storage.types"; +import { type Task } from "@web/common/types/task.types"; +import { type CompassTasksSavedEventDetail } from "./storage.types"; export const TODAY_TASKS_STORAGE_KEY_PREFIX = "compass.today.tasks"; export const COMPASS_TASKS_SAVED_EVENT_NAME = "compass.tasks.saved" as const; diff --git a/packages/web/src/common/utils/sync/local-event-sync.util.test.ts b/packages/web/src/common/utils/sync/local-event-sync.util.test.ts index f971806e4..89941ecb2 100644 --- a/packages/web/src/common/utils/sync/local-event-sync.util.test.ts +++ b/packages/web/src/common/utils/sync/local-event-sync.util.test.ts @@ -1,4 +1,4 @@ -import { Event_Core } from "@core/types/event.types"; +import { type Event_Core } from "@core/types/event.types"; import { createMockStandaloneEvent } from "@core/util/test/ccal.event.factory"; import { ensureStorageReady, diff --git a/packages/web/src/common/utils/sync/local-event-sync.util.ts b/packages/web/src/common/utils/sync/local-event-sync.util.ts index fb136d0da..f0cc55ecb 100644 --- a/packages/web/src/common/utils/sync/local-event-sync.util.ts +++ b/packages/web/src/common/utils/sync/local-event-sync.util.ts @@ -1,4 +1,4 @@ -import { Event_Core } from "@core/types/event.types"; +import { type Event_Core } from "@core/types/event.types"; import { ensureStorageReady, getStorageAdapter, @@ -14,7 +14,7 @@ export async function syncLocalEventsToCloud(): Promise { return 0; } - await EventApi.create(events as Event_Core[]); + await EventApi.create(events); await adapter.clearAllEvents(); return events.length; diff --git a/packages/web/src/common/utils/task/sort.task.test.ts b/packages/web/src/common/utils/task/sort.task.test.ts index 2d78b6a01..4f08a0b99 100644 --- a/packages/web/src/common/utils/task/sort.task.test.ts +++ b/packages/web/src/common/utils/task/sort.task.test.ts @@ -1,5 +1,5 @@ import { createMockTask } from "@web/__tests__/utils/factories/task.factory"; -import { Task } from "../../types/task.types"; +import { type Task } from "../../types/task.types"; import { getIncompleteTasksSorted, sortTasksByStatus } from "./sort.task"; describe("sort.task", () => { diff --git a/packages/web/src/common/utils/task/sort.task.ts b/packages/web/src/common/utils/task/sort.task.ts index f2b28f416..defa63756 100644 --- a/packages/web/src/common/utils/task/sort.task.ts +++ b/packages/web/src/common/utils/task/sort.task.ts @@ -1,4 +1,4 @@ -import { Task } from "@web/common/types/task.types"; +import { type Task } from "@web/common/types/task.types"; /** * Sorts tasks by status, placing incomplete tasks first and completed tasks last. diff --git a/packages/web/src/common/utils/toast/error-toast.util.ts b/packages/web/src/common/utils/toast/error-toast.util.ts index 08cfcbf4a..50f194f27 100644 --- a/packages/web/src/common/utils/toast/error-toast.util.ts +++ b/packages/web/src/common/utils/toast/error-toast.util.ts @@ -1,5 +1,10 @@ import { createElement } from "react"; -import { Id, ToastContent, ToastOptions, toast } from "react-toastify"; +import { + type Id, + type ToastContent, + type ToastOptions, + toast, +} from "react-toastify"; import { toastDefaultOptions } from "@web/common/constants/toast.constants"; import { SessionExpiredToast } from "@web/common/utils/toast/session-expired.toast"; diff --git a/packages/web/src/common/utils/toast/session-expired.toast.tsx b/packages/web/src/common/utils/toast/session-expired.toast.tsx index a9e5f2c32..e66826b1e 100644 --- a/packages/web/src/common/utils/toast/session-expired.toast.tsx +++ b/packages/web/src/common/utils/toast/session-expired.toast.tsx @@ -1,4 +1,4 @@ -import { Id, toast } from "react-toastify"; +import { type Id, toast } from "react-toastify"; import { useGoogleAuth } from "@web/auth/hooks/oauth/useGoogleAuth"; interface SessionExpiredToastProps { diff --git a/packages/web/src/common/validators/grid.event.validator.test.ts b/packages/web/src/common/validators/grid.event.validator.test.ts index 0a14c655c..23090aa8c 100644 --- a/packages/web/src/common/validators/grid.event.validator.test.ts +++ b/packages/web/src/common/validators/grid.event.validator.test.ts @@ -1,6 +1,6 @@ import { ObjectId } from "bson"; import { Origin, Priorities } from "@core/constants/core.constants"; -import { Schema_GridEvent } from "../types/web.event.types"; +import { type Schema_GridEvent } from "../types/web.event.types"; import { validateGridEvent } from "./grid.event.validator"; describe("validateGridEvent", () => { diff --git a/packages/web/src/common/validators/grid.event.validator.ts b/packages/web/src/common/validators/grid.event.validator.ts index 6a54b620a..31a502daa 100644 --- a/packages/web/src/common/validators/grid.event.validator.ts +++ b/packages/web/src/common/validators/grid.event.validator.ts @@ -1,11 +1,11 @@ import { GridEventSchema, - Schema_GridEvent, - Schema_WebEvent, + type Schema_GridEvent, + type Schema_WebEvent, } from "@web/common/types/web.event.types"; export const validateGridEvent = (event: Schema_WebEvent): Schema_GridEvent => { - const result = GridEventSchema.parse(event) as Schema_GridEvent; + const result = GridEventSchema.parse(event); return result; }; diff --git a/packages/web/src/common/validators/someday.event.validator.ts b/packages/web/src/common/validators/someday.event.validator.ts index e088b20cd..d94203c4a 100644 --- a/packages/web/src/common/validators/someday.event.validator.ts +++ b/packages/web/src/common/validators/someday.event.validator.ts @@ -1,6 +1,6 @@ import { - Schema_SomedayEvent, - Schema_WebEvent, + type Schema_SomedayEvent, + type Schema_WebEvent, SomedayEventSchema, } from "../types/web.event.types"; diff --git a/packages/web/src/components/AbsoluteOverflowLoader/AbsoluteOverflowLoader.tsx b/packages/web/src/components/AbsoluteOverflowLoader/AbsoluteOverflowLoader.tsx index e52189aec..6bd604d0e 100644 --- a/packages/web/src/components/AbsoluteOverflowLoader/AbsoluteOverflowLoader.tsx +++ b/packages/web/src/components/AbsoluteOverflowLoader/AbsoluteOverflowLoader.tsx @@ -1,4 +1,8 @@ -import { AlignItems, JustifyContent, Props } from "@web/components/Flex/styled"; +import { + AlignItems, + JustifyContent, + type Props, +} from "@web/components/Flex/styled"; import { Styled, StyledSpinner } from "./styled"; export const AbsoluteOverflowLoader = (props: Props) => ( diff --git a/packages/web/src/components/AuthModal/AccountIcon.tsx b/packages/web/src/components/AuthModal/AccountIcon.tsx index 9f50d0971..f7ac7cccf 100644 --- a/packages/web/src/components/AuthModal/AccountIcon.tsx +++ b/packages/web/src/components/AuthModal/AccountIcon.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import { type FC } from "react"; import { UserCircleDashedIcon, UserCircleIcon } from "@phosphor-icons/react"; import { useSession } from "@web/auth/hooks/session/useSession"; import { TooltipWrapper } from "@web/components/Tooltip/TooltipWrapper"; diff --git a/packages/web/src/components/AuthModal/AuthModal.test.tsx b/packages/web/src/components/AuthModal/AuthModal.test.tsx index 6796989e1..525f22f3a 100644 --- a/packages/web/src/components/AuthModal/AuthModal.test.tsx +++ b/packages/web/src/components/AuthModal/AuthModal.test.tsx @@ -1,4 +1,4 @@ -import { ReactElement, ReactNode } from "react"; +import { type ReactElement, type ReactNode } from "react"; import { MemoryRouter } from "react-router-dom"; import "@testing-library/jest-dom"; import { render, screen, waitFor } from "@testing-library/react"; diff --git a/packages/web/src/components/AuthModal/AuthModal.tsx b/packages/web/src/components/AuthModal/AuthModal.tsx index e1657edb7..74d4ff5d8 100644 --- a/packages/web/src/components/AuthModal/AuthModal.tsx +++ b/packages/web/src/components/AuthModal/AuthModal.tsx @@ -1,7 +1,10 @@ -import { FC, useCallback, useEffect, useRef, useState } from "react"; +import { type FC, useCallback, useEffect, useRef, useState } from "react"; import { DotIcon } from "@phosphor-icons/react"; import { useGoogleAuth } from "@web/auth/hooks/oauth/useGoogleAuth"; -import { LogInFormData, SignUpFormData } from "@web/auth/schemas/auth.schemas"; +import { + type LogInFormData, + type SignUpFormData, +} from "@web/auth/schemas/auth.schemas"; import { OverlayPanel } from "@web/components/OverlayPanel/OverlayPanel"; import { GoogleButton } from "@web/components/oauth/google/GoogleButton"; import { AuthButton } from "./components/AuthButton"; diff --git a/packages/web/src/components/AuthModal/AuthModalProvider.tsx b/packages/web/src/components/AuthModal/AuthModalProvider.tsx index b20f1bdf2..d33e25757 100644 --- a/packages/web/src/components/AuthModal/AuthModalProvider.tsx +++ b/packages/web/src/components/AuthModal/AuthModalProvider.tsx @@ -1,4 +1,4 @@ -import { FC, ReactNode } from "react"; +import { type FC, type ReactNode } from "react"; import { AuthModalContext, useAuthModalState } from "./hooks/useAuthModal"; interface AuthModalProviderProps { diff --git a/packages/web/src/components/AuthModal/components/AuthButton.tsx b/packages/web/src/components/AuthModal/components/AuthButton.tsx index c6d26f91d..2ab20ec59 100644 --- a/packages/web/src/components/AuthModal/components/AuthButton.tsx +++ b/packages/web/src/components/AuthModal/components/AuthButton.tsx @@ -1,5 +1,5 @@ import clsx from "clsx"; -import { ButtonHTMLAttributes, FC } from "react"; +import { type ButtonHTMLAttributes, type FC } from "react"; interface AuthButtonProps extends ButtonHTMLAttributes { /** Visual variant of the button */ diff --git a/packages/web/src/components/AuthModal/components/AuthInput.tsx b/packages/web/src/components/AuthModal/components/AuthInput.tsx index c7de75ab7..c0cbe8382 100644 --- a/packages/web/src/components/AuthModal/components/AuthInput.tsx +++ b/packages/web/src/components/AuthModal/components/AuthInput.tsx @@ -1,5 +1,5 @@ import clsx from "clsx"; -import { InputHTMLAttributes, forwardRef, useId } from "react"; +import { type InputHTMLAttributes, forwardRef, useId } from "react"; interface AuthInputProps extends Omit, "className"> { diff --git a/packages/web/src/components/AuthModal/forms/ForgotPasswordForm.tsx b/packages/web/src/components/AuthModal/forms/ForgotPasswordForm.tsx index 27093a557..959313fd7 100644 --- a/packages/web/src/components/AuthModal/forms/ForgotPasswordForm.tsx +++ b/packages/web/src/components/AuthModal/forms/ForgotPasswordForm.tsx @@ -1,6 +1,6 @@ -import { FC, useState } from "react"; +import { type FC, useState } from "react"; import { - ForgotPasswordFormData, + type ForgotPasswordFormData, ForgotPasswordSchema, } from "@web/auth/schemas/auth.schemas"; import { AuthButton } from "../components/AuthButton"; diff --git a/packages/web/src/components/AuthModal/forms/LogInForm.tsx b/packages/web/src/components/AuthModal/forms/LogInForm.tsx index 552dd3722..c2ae0ccd9 100644 --- a/packages/web/src/components/AuthModal/forms/LogInForm.tsx +++ b/packages/web/src/components/AuthModal/forms/LogInForm.tsx @@ -1,5 +1,8 @@ -import { FC } from "react"; -import { LogInFormData, LogInSchema } from "@web/auth/schemas/auth.schemas"; +import { type FC } from "react"; +import { + type LogInFormData, + LogInSchema, +} from "@web/auth/schemas/auth.schemas"; import { AuthButton } from "../components/AuthButton"; import { AuthInput } from "../components/AuthInput"; import { useZodForm } from "../hooks/useZodForm"; diff --git a/packages/web/src/components/AuthModal/forms/SignUpForm.tsx b/packages/web/src/components/AuthModal/forms/SignUpForm.tsx index e5eac0f5c..cc920dbef 100644 --- a/packages/web/src/components/AuthModal/forms/SignUpForm.tsx +++ b/packages/web/src/components/AuthModal/forms/SignUpForm.tsx @@ -1,5 +1,8 @@ -import { ChangeEvent, FC, useCallback } from "react"; -import { SignUpFormData, SignUpSchema } from "@web/auth/schemas/auth.schemas"; +import { type ChangeEvent, type FC, useCallback } from "react"; +import { + type SignUpFormData, + SignUpSchema, +} from "@web/auth/schemas/auth.schemas"; import { AuthButton } from "../components/AuthButton"; import { AuthInput } from "../components/AuthInput"; import { useZodForm } from "../hooks/useZodForm"; diff --git a/packages/web/src/components/AuthModal/hooks/useAuthUrlParam.ts b/packages/web/src/components/AuthModal/hooks/useAuthUrlParam.ts index 47edef852..61ca9fb5a 100644 --- a/packages/web/src/components/AuthModal/hooks/useAuthUrlParam.ts +++ b/packages/web/src/components/AuthModal/hooks/useAuthUrlParam.ts @@ -1,5 +1,5 @@ import { useEffect, useRef } from "react"; -import { AuthView } from "./useAuthModal"; +import { type AuthView } from "./useAuthModal"; /** * Maps URL parameter values to AuthView types diff --git a/packages/web/src/components/AuthModal/hooks/useZodForm.ts b/packages/web/src/components/AuthModal/hooks/useZodForm.ts index 373ef886a..fbab6952c 100644 --- a/packages/web/src/components/AuthModal/hooks/useZodForm.ts +++ b/packages/web/src/components/AuthModal/hooks/useZodForm.ts @@ -1,5 +1,11 @@ -import { ChangeEvent, FormEvent, useCallback, useMemo, useState } from "react"; -import { z } from "zod"; +import { + type ChangeEvent, + type FormEvent, + useCallback, + useMemo, + useState, +} from "react"; +import { type z } from "zod"; /** * Extracts field errors from a ZodError as Record diff --git a/packages/web/src/components/Button/styled.ts b/packages/web/src/components/Button/styled.ts index 3aaf02fa6..527d05ce3 100644 --- a/packages/web/src/components/Button/styled.ts +++ b/packages/web/src/components/Button/styled.ts @@ -1,5 +1,5 @@ import styled from "styled-components"; -import { Priorities, Priority } from "@core/constants/core.constants"; +import { Priorities, type Priority } from "@core/constants/core.constants"; import { brighten, darken } from "@core/util/color.utils"; import { colorByPriority } from "@web/common/styles/theme.util"; diff --git a/packages/web/src/components/CompassProvider/CompassProvider.tsx b/packages/web/src/components/CompassProvider/CompassProvider.tsx index a9fd23f8a..c7edff969 100644 --- a/packages/web/src/components/CompassProvider/CompassProvider.tsx +++ b/packages/web/src/components/CompassProvider/CompassProvider.tsx @@ -1,5 +1,5 @@ import { PostHogProvider } from "posthog-js/react"; -import { PropsWithChildren } from "react"; +import { type PropsWithChildren } from "react"; import { Provider } from "react-redux"; import { ToastContainer } from "react-toastify"; import { ThemeProvider } from "styled-components"; diff --git a/packages/web/src/components/ContextMenu/ContextMenu.tsx b/packages/web/src/components/ContextMenu/ContextMenu.tsx index 79ff36ade..5d5be0471 100644 --- a/packages/web/src/components/ContextMenu/ContextMenu.tsx +++ b/packages/web/src/components/ContextMenu/ContextMenu.tsx @@ -1,14 +1,14 @@ import React from "react"; import styled from "styled-components"; import { - FloatingContext, + type FloatingContext, useClick, useDismiss, useInteractions, useRole, } from "@floating-ui/react"; import { ZIndex } from "@web/common/constants/web.constants"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { ContextMenuItems } from "./ContextMenuItems"; const MenuWrapper = styled.ul` diff --git a/packages/web/src/components/ContextMenu/ContextMenuItems.test.tsx b/packages/web/src/components/ContextMenu/ContextMenuItems.test.tsx index c30bffbdc..1a949dcb9 100644 --- a/packages/web/src/components/ContextMenu/ContextMenuItems.test.tsx +++ b/packages/web/src/components/ContextMenu/ContextMenuItems.test.tsx @@ -3,10 +3,10 @@ import userEvent from "@testing-library/user-event"; import { createMockStandaloneEvent } from "@core/util/test/ccal.event.factory"; import { render } from "@web/__tests__/__mocks__/mock.render"; import { - InitialReduxState, + type InitialReduxState, createInitialState, } from "@web/__tests__/utils/state/store.test.util"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { gridEventDefaultPosition } from "@web/common/utils/event/event.util"; import { ContextMenuItems } from "./ContextMenuItems"; @@ -61,7 +61,7 @@ const createStateWithPendingEvents = ( return { ...baseState, events: { - ...baseState.events!, + ...baseState.events, pendingEvents: { eventIds: pendingEventIds, }, diff --git a/packages/web/src/components/ContextMenu/ContextMenuItems.tsx b/packages/web/src/components/ContextMenu/ContextMenuItems.tsx index 0f3555b17..976ac97fc 100644 --- a/packages/web/src/components/ContextMenu/ContextMenuItems.tsx +++ b/packages/web/src/components/ContextMenu/ContextMenuItems.tsx @@ -1,9 +1,10 @@ -import React, { useState } from "react"; +import type React from "react"; +import { useState } from "react"; import { Copy, PenNib, Trash } from "@phosphor-icons/react"; import { Priorities } from "@core/constants/core.constants"; import { ID_CONTEXT_MENU_ITEMS } from "@web/common/constants/web.constants"; import { colorByPriority } from "@web/common/styles/theme.util"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { assembleGridEvent } from "@web/common/utils/event/event.util"; import { getSomedayEventCategory } from "@web/common/utils/event/someday.event.util"; import { diff --git a/packages/web/src/components/ContextMenu/GridContextMenuWrapper.tsx b/packages/web/src/components/ContextMenu/GridContextMenuWrapper.tsx index b7fc74ca2..3e83be026 100644 --- a/packages/web/src/components/ContextMenu/GridContextMenuWrapper.tsx +++ b/packages/web/src/components/ContextMenu/GridContextMenuWrapper.tsx @@ -1,4 +1,5 @@ -import React, { useState } from "react"; +import type React from "react"; +import { useState } from "react"; import { autoUpdate, flip, diff --git a/packages/web/src/components/DND/DNDContext.tsx b/packages/web/src/components/DND/DNDContext.tsx index 670dc547d..c323c108f 100644 --- a/packages/web/src/components/DND/DNDContext.tsx +++ b/packages/web/src/components/DND/DNDContext.tsx @@ -1,4 +1,4 @@ -import { PropsWithChildren, useCallback } from "react"; +import { type PropsWithChildren, useCallback } from "react"; import { DndContext, KeyboardSensor, diff --git a/packages/web/src/components/DND/DNDOverlay.tsx b/packages/web/src/components/DND/DNDOverlay.tsx index 1b73ffbe0..5e556f501 100644 --- a/packages/web/src/components/DND/DNDOverlay.tsx +++ b/packages/web/src/components/DND/DNDOverlay.tsx @@ -1,9 +1,9 @@ -import { PropsWithChildren, useMemo } from "react"; +import { type PropsWithChildren, useMemo } from "react"; import { createPortal } from "react-dom"; import { DragOverlay, useDndContext } from "@dnd-kit/core"; import { restrictToVerticalAxis } from "@dnd-kit/modifiers"; import { Categories_Event } from "@core/types/event.types"; -import { DraggableDNDData } from "@web/components/DND/Draggable"; +import { type DraggableDNDData } from "@web/components/DND/Draggable"; import { AllDayAgendaEvent } from "@web/views/Day/components/Agenda/Events/AllDayAgendaEvent/AllDayAgendaEvent"; import { TimedAgendaEvent } from "@web/views/Day/components/Agenda/Events/TimedAgendaEvent/TimedAgendaEvent"; @@ -32,7 +32,7 @@ export function DNDOverlay({ children }: PropsWithChildren) { switch (type) { case Categories_Event.TIMED: - return ; + return ; case Categories_Event.ALLDAY: return ; default: diff --git a/packages/web/src/components/DND/Draggable.tsx b/packages/web/src/components/DND/Draggable.tsx index 97dab9599..96b70fcef 100644 --- a/packages/web/src/components/DND/Draggable.tsx +++ b/packages/web/src/components/DND/Draggable.tsx @@ -1,23 +1,23 @@ import { ObjectId } from "bson"; import { - DetailedHTMLProps, - ForwardedRef, - HTMLAttributes, - ReactHTML, + type DetailedHTMLProps, + type ForwardedRef, + type HTMLAttributes, + type ReactHTML, cloneElement, createElement, forwardRef, isValidElement, } from "react"; import { - UniqueIdentifier, - UseDraggableArguments, + type UniqueIdentifier, + type UseDraggableArguments, useDraggable, } from "@dnd-kit/core"; import { CSS } from "@dnd-kit/utilities"; import { useMergeRefs } from "@floating-ui/react"; -import { Categories_Event } from "@core/types/event.types"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Categories_Event } from "@core/types/event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; export interface DraggableDNDData { type: Categories_Event; diff --git a/packages/web/src/components/DND/Droppable.tsx b/packages/web/src/components/DND/Droppable.tsx index 35dd53b11..d94d1cf80 100644 --- a/packages/web/src/components/DND/Droppable.tsx +++ b/packages/web/src/components/DND/Droppable.tsx @@ -1,16 +1,16 @@ import { ObjectId } from "bson"; import { - DetailedHTMLProps, - ForwardedRef, - HTMLAttributes, - ReactHTML, + type DetailedHTMLProps, + type ForwardedRef, + type HTMLAttributes, + type ReactHTML, createElement, forwardRef, useCallback, } from "react"; import { - UniqueIdentifier, - UseDroppableArguments, + type UniqueIdentifier, + type UseDroppableArguments, useDroppable, } from "@dnd-kit/core"; import { useMergeRefs } from "@floating-ui/react"; diff --git a/packages/web/src/components/DND/Resizable.tsx b/packages/web/src/components/DND/Resizable.tsx index d0d104e0e..4126888b1 100644 --- a/packages/web/src/components/DND/Resizable.tsx +++ b/packages/web/src/components/DND/Resizable.tsx @@ -1,20 +1,20 @@ import { Resizable as ReResizable, - ResizableProps, - ResizeCallback, - ResizeStartCallback, + type ResizableProps, + type ResizeCallback, + type ResizeStartCallback, } from "re-resizable"; import { - PropsWithChildren, + type PropsWithChildren, cloneElement, isValidElement, useCallback, } from "react"; -import { UniqueIdentifier } from "@dnd-kit/core"; +import { type UniqueIdentifier } from "@dnd-kit/core"; import { usePointerPosition } from "@web/common/hooks/usePointerPosition"; import { resizeId$ } from "@web/common/hooks/useResizeId"; import { resizing$ } from "@web/common/hooks/useResizing"; -import { DNDChildProps } from "@web/components/DND/Draggable"; +import { type DNDChildProps } from "@web/components/DND/Draggable"; interface Props extends ResizableProps { id: UniqueIdentifier; diff --git a/packages/web/src/components/DatePicker/DatePicker.tsx b/packages/web/src/components/DatePicker/DatePicker.tsx index 4ca7ab989..1ce63e51a 100644 --- a/packages/web/src/components/DatePicker/DatePicker.tsx +++ b/packages/web/src/components/DatePicker/DatePicker.tsx @@ -1,6 +1,7 @@ import classNames from "classnames"; -import React, { useEffect, useRef } from "react"; -import ReactDatePicker, { ReactDatePickerProps } from "react-datepicker"; +import type React from "react"; +import { useEffect, useRef } from "react"; +import ReactDatePicker, { type ReactDatePickerProps } from "react-datepicker"; import { darken, isDark } from "@core/util/color.utils"; import dayjs from "@core/util/date/dayjs"; import { theme } from "@web/common/styles/theme"; diff --git a/packages/web/src/components/Divider/Divider.tsx b/packages/web/src/components/Divider/Divider.tsx index aaec20735..e0110c61d 100644 --- a/packages/web/src/components/Divider/Divider.tsx +++ b/packages/web/src/components/Divider/Divider.tsx @@ -1,6 +1,8 @@ -import React, { HTMLAttributes, useEffect, useState } from "react"; +import { type HTMLAttributes } from "react"; +import type React from "react"; +import { useEffect, useState } from "react"; import { StyledDivider } from "./styled"; -import { Props } from "./types"; +import { type Props } from "./types"; export const Divider: React.FC> = ( props, diff --git a/packages/web/src/components/Divider/styled.ts b/packages/web/src/components/Divider/styled.ts index ec427fe4b..84602f77c 100644 --- a/packages/web/src/components/Divider/styled.ts +++ b/packages/web/src/components/Divider/styled.ts @@ -1,6 +1,6 @@ import styled from "styled-components"; import { getGradient } from "@web/common/styles/theme.util"; -import { Props } from "./types"; +import { type Props } from "./types"; export const StyledDivider = styled.div` background: ${({ color }) => getGradient(color)}; diff --git a/packages/web/src/components/FloatingEventForm/FloatingEventForm.tsx b/packages/web/src/components/FloatingEventForm/FloatingEventForm.tsx index c04f5d74b..6a9f63cff 100644 --- a/packages/web/src/components/FloatingEventForm/FloatingEventForm.tsx +++ b/packages/web/src/components/FloatingEventForm/FloatingEventForm.tsx @@ -2,11 +2,11 @@ import { useCallback, useMemo } from "react"; import { FloatingFocusManager, FloatingPortal, - UseInteractionsReturn, - useFloating, + type UseInteractionsReturn, + type useFloating, } from "@floating-ui/react"; import { getEntity } from "@ngneat/elf-entities"; -import { Schema_Event, WithCompassId } from "@core/types/event.types"; +import { type Schema_Event, type WithCompassId } from "@core/types/event.types"; import { useGridMaxZIndex } from "@web/common/hooks/useGridMaxZIndex"; import { CursorItem, diff --git a/packages/web/src/components/Focusable/Focusable.tsx b/packages/web/src/components/Focusable/Focusable.tsx index e2dfbc7f9..2dd053abe 100644 --- a/packages/web/src/components/Focusable/Focusable.tsx +++ b/packages/web/src/components/Focusable/Focusable.tsx @@ -1,13 +1,13 @@ import { - FocusEvent, - HTMLAttributes, - PropsWithChildren, + type FocusEvent, + type HTMLAttributes, + type PropsWithChildren, forwardRef, useCallback, useState, } from "react"; -import { StyledComponent } from "styled-components"; -import { UnderlinedInput } from "@web/common/types/component.types"; +import { type StyledComponent } from "styled-components"; +import { type UnderlinedInput } from "@web/common/types/component.types"; import { Divider } from "@web/components/Divider"; export interface Props extends UnderlinedInput, HTMLAttributes { diff --git a/packages/web/src/components/IconButton/IconButton.tsx b/packages/web/src/components/IconButton/IconButton.tsx index 2ccc0f5b4..e180b9a4f 100644 --- a/packages/web/src/components/IconButton/IconButton.tsx +++ b/packages/web/src/components/IconButton/IconButton.tsx @@ -1,5 +1,5 @@ -import React from "react"; -import { IconButtonProps, StyledIconButton } from "./styled"; +import type React from "react"; +import { type IconButtonProps, StyledIconButton } from "./styled"; const IconButton: React.FC = ({ size = "medium", diff --git a/packages/web/src/components/IconProvider/IconProvider.tsx b/packages/web/src/components/IconProvider/IconProvider.tsx index 01a0e7676..05fd626b5 100644 --- a/packages/web/src/components/IconProvider/IconProvider.tsx +++ b/packages/web/src/components/IconProvider/IconProvider.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import type React from "react"; import { IconContext } from "@phosphor-icons/react"; export const IconProvider = ({ children }: { children: React.ReactNode }) => { diff --git a/packages/web/src/components/Icons/icon.types.ts b/packages/web/src/components/Icons/icon.types.ts index 3ce8a6803..54e1b938b 100644 --- a/packages/web/src/components/Icons/icon.types.ts +++ b/packages/web/src/components/Icons/icon.types.ts @@ -1,4 +1,4 @@ -import { IconProps as PhosphorIconProps } from "@phosphor-icons/react"; +import { type IconProps as PhosphorIconProps } from "@phosphor-icons/react"; export interface IconProps extends PhosphorIconProps { ref?: React.Ref; diff --git a/packages/web/src/components/Icons/styled.ts b/packages/web/src/components/Icons/styled.ts index acc674d1c..6fc39b5f3 100644 --- a/packages/web/src/components/Icons/styled.ts +++ b/packages/web/src/components/Icons/styled.ts @@ -1,5 +1,5 @@ import { css } from "styled-components"; -import { IconProps } from "@phosphor-icons/react"; +import { type IconProps } from "@phosphor-icons/react"; export const iconStyles = css` transition: filter 0.2s ease; diff --git a/packages/web/src/components/Input/Input.tsx b/packages/web/src/components/Input/Input.tsx index 0f7a90e30..3918148f5 100644 --- a/packages/web/src/components/Input/Input.tsx +++ b/packages/web/src/components/Input/Input.tsx @@ -1,15 +1,15 @@ import React, { - ForwardRefRenderFunction, - HTMLAttributes, - Ref, + type ForwardRefRenderFunction, + type HTMLAttributes, + type Ref, forwardRef, } from "react"; import { - ClassNamedComponent, - UnderlinedInput, + type ClassNamedComponent, + type UnderlinedInput, } from "@web/common/types/component.types"; import { Focusable } from "../Focusable/Focusable"; -import { StyledInput, Props as StyledProps } from "./styled"; +import { StyledInput, type Props as StyledProps } from "./styled"; export interface Props extends ClassNamedComponent, diff --git a/packages/web/src/components/LoginAbsoluteOverflowLoader/LoginAbsoluteOverflowLoader.tsx b/packages/web/src/components/LoginAbsoluteOverflowLoader/LoginAbsoluteOverflowLoader.tsx index 3cb6e88ff..79e975851 100644 --- a/packages/web/src/components/LoginAbsoluteOverflowLoader/LoginAbsoluteOverflowLoader.tsx +++ b/packages/web/src/components/LoginAbsoluteOverflowLoader/LoginAbsoluteOverflowLoader.tsx @@ -1,5 +1,9 @@ import React, { useEffect, useState } from "react"; -import { AlignItems, JustifyContent, Props } from "@web/components/Flex/styled"; +import { + AlignItems, + JustifyContent, + type Props, +} from "@web/components/Flex/styled"; import { LoadingMessage, ProgressBar, Styled, StyledSpinner } from "./styled"; /** diff --git a/packages/web/src/components/MobileGate/MobileGate.tsx b/packages/web/src/components/MobileGate/MobileGate.tsx index bc1c48e9f..61b849945 100644 --- a/packages/web/src/components/MobileGate/MobileGate.tsx +++ b/packages/web/src/components/MobileGate/MobileGate.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import type React from "react"; const WAITLIST_URL = "https://tylerdane.kit.com/compass-mobile"; diff --git a/packages/web/src/components/OverlayPanel/OverlayPanel.tsx b/packages/web/src/components/OverlayPanel/OverlayPanel.tsx index bb21ba9fe..f5aa030fa 100644 --- a/packages/web/src/components/OverlayPanel/OverlayPanel.tsx +++ b/packages/web/src/components/OverlayPanel/OverlayPanel.tsx @@ -1,5 +1,5 @@ import clsx from "clsx"; -import { ReactNode } from "react"; +import { type ReactNode } from "react"; interface Props { /** Icon or element displayed at the top of the panel */ diff --git a/packages/web/src/components/Shortcuts/ShortcutHint.tsx b/packages/web/src/components/Shortcuts/ShortcutHint.tsx index 24dfad942..7241774b6 100644 --- a/packages/web/src/components/Shortcuts/ShortcutHint.tsx +++ b/packages/web/src/components/Shortcuts/ShortcutHint.tsx @@ -1,4 +1,4 @@ -import { HTMLProps, ReactNode } from "react"; +import { type HTMLProps, type ReactNode } from "react"; export function ShortcutHint({ children, diff --git a/packages/web/src/components/Shortcuts/ShortcutList.tsx b/packages/web/src/components/Shortcuts/ShortcutList.tsx index fc567fe1e..5525da91d 100644 --- a/packages/web/src/components/Shortcuts/ShortcutList.tsx +++ b/packages/web/src/components/Shortcuts/ShortcutList.tsx @@ -1,4 +1,4 @@ -import { Shortcut } from "@web/common/types/global.shortcut.types"; +import { type Shortcut } from "@web/common/types/global.shortcut.types"; import { ShortCutLabel } from "@web/common/utils/shortcut/shortcut.util"; import { ShortcutHint } from "@web/components/Shortcuts/ShortcutHint"; diff --git a/packages/web/src/components/Shortcuts/ShortcutOverlay/ShortcutSection.tsx b/packages/web/src/components/Shortcuts/ShortcutOverlay/ShortcutSection.tsx index 4eb2d5d76..1604ec50a 100644 --- a/packages/web/src/components/Shortcuts/ShortcutOverlay/ShortcutSection.tsx +++ b/packages/web/src/components/Shortcuts/ShortcutOverlay/ShortcutSection.tsx @@ -1,4 +1,4 @@ -import { Shortcut } from "@web/common/types/global.shortcut.types"; +import { type Shortcut } from "@web/common/types/global.shortcut.types"; import { ShortcutList } from "../ShortcutList"; export const ShortcutSection = ({ diff --git a/packages/web/src/components/Shortcuts/ShortcutOverlay/ShortcutsOverlay.tsx b/packages/web/src/components/Shortcuts/ShortcutOverlay/ShortcutsOverlay.tsx index d9daac96b..e434be516 100644 --- a/packages/web/src/components/Shortcuts/ShortcutOverlay/ShortcutsOverlay.tsx +++ b/packages/web/src/components/Shortcuts/ShortcutOverlay/ShortcutsOverlay.tsx @@ -1,6 +1,6 @@ import classNames from "classnames"; import { useGridMaxZIndex } from "@web/common/hooks/useGridMaxZIndex"; -import { Shortcut } from "@web/common/types/global.shortcut.types"; +import { type Shortcut } from "@web/common/types/global.shortcut.types"; import { ShortcutSection } from "./ShortcutSection"; export interface ShortcutOverlaySection { diff --git a/packages/web/src/components/Textarea/Textarea.tsx b/packages/web/src/components/Textarea/Textarea.tsx index 4073f9c75..1f6cdad03 100644 --- a/packages/web/src/components/Textarea/Textarea.tsx +++ b/packages/web/src/components/Textarea/Textarea.tsx @@ -1,12 +1,12 @@ import { - ForwardRefRenderFunction, - ForwardedRef, + type ForwardRefRenderFunction, + type ForwardedRef, forwardRef, useRef, } from "react"; import { Focusable } from "@web/components/Focusable/Focusable"; import { StyledTextarea } from "./styled"; -import { TextareaProps } from "./types"; +import { type TextareaProps } from "./types"; const _Textarea: ForwardRefRenderFunction< HTMLTextAreaElement, diff --git a/packages/web/src/components/Textarea/styled.ts b/packages/web/src/components/Textarea/styled.ts index 9faec6fbb..58d3ab541 100644 --- a/packages/web/src/components/Textarea/styled.ts +++ b/packages/web/src/components/Textarea/styled.ts @@ -1,6 +1,6 @@ import TextareaAutoSize from "react-textarea-autosize"; import styled from "styled-components"; -import { TextareaProps } from "./types"; +import { type TextareaProps } from "./types"; export const StyledTextarea = styled(TextareaAutoSize)` border: none; diff --git a/packages/web/src/components/Textarea/types.ts b/packages/web/src/components/Textarea/types.ts index eb5f66a98..c48e3a315 100644 --- a/packages/web/src/components/Textarea/types.ts +++ b/packages/web/src/components/Textarea/types.ts @@ -1,7 +1,7 @@ -import { TextareaAutosizeProps } from "react-textarea-autosize"; +import { type TextareaAutosizeProps } from "react-textarea-autosize"; import { - ClassNamedComponent, - UnderlinedInput, + type ClassNamedComponent, + type UnderlinedInput, } from "@web/common/types/component.types"; export interface TextareaProps diff --git a/packages/web/src/components/Tooltip/Description/TooltipDescription.tsx b/packages/web/src/components/Tooltip/Description/TooltipDescription.tsx index f8db442bf..c306449dc 100644 --- a/packages/web/src/components/Tooltip/Description/TooltipDescription.tsx +++ b/packages/web/src/components/Tooltip/Description/TooltipDescription.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import { type FC } from "react"; import { Text } from "@web/components/Text"; interface Props { diff --git a/packages/web/src/components/Tooltip/Tooltip.tsx b/packages/web/src/components/Tooltip/Tooltip.tsx index add81ee3f..bd2004d9b 100644 --- a/packages/web/src/components/Tooltip/Tooltip.tsx +++ b/packages/web/src/components/Tooltip/Tooltip.tsx @@ -1,6 +1,6 @@ import { - HTMLProps, - ReactNode, + type HTMLProps, + type ReactNode, cloneElement, forwardRef, isValidElement, @@ -8,7 +8,7 @@ import { import { FloatingPortal, useMergeRefs } from "@floating-ui/react"; import { ZIndex } from "@web/common/constants/web.constants"; import { useGridMaxZIndex } from "@web/common/hooks/useGridMaxZIndex"; -import { TooltipOptions } from "./tooltip.types"; +import { type TooltipOptions } from "./tooltip.types"; import { TooltipContext, useTooltip, useTooltipContext } from "./useTooltip"; export function Tooltip({ diff --git a/packages/web/src/components/Tooltip/TooltipWrapper.tsx b/packages/web/src/components/Tooltip/TooltipWrapper.tsx index d709bbe1e..e77ac4779 100644 --- a/packages/web/src/components/Tooltip/TooltipWrapper.tsx +++ b/packages/web/src/components/Tooltip/TooltipWrapper.tsx @@ -1,4 +1,6 @@ -import React, { ReactNode, useState } from "react"; +import { type ReactNode } from "react"; +import type React from "react"; +import { useState } from "react"; import { AlignItems } from "@web/components/Flex/styled"; import { Text } from "@web/components/Text"; import { diff --git a/packages/web/src/components/Tooltip/useTooltip.ts b/packages/web/src/components/Tooltip/useTooltip.ts index e2a1363d0..c30300bb4 100644 --- a/packages/web/src/components/Tooltip/useTooltip.ts +++ b/packages/web/src/components/Tooltip/useTooltip.ts @@ -11,7 +11,7 @@ import { useInteractions, useRole, } from "@floating-ui/react"; -import { TooltipOptions } from "./tooltip.types"; +import { type TooltipOptions } from "./tooltip.types"; export function useTooltip({ initialOpen = false, diff --git a/packages/web/src/components/oauth/google/GoogleButton.tsx b/packages/web/src/components/oauth/google/GoogleButton.tsx index 7b0f9aa52..b8850916a 100644 --- a/packages/web/src/components/oauth/google/GoogleButton.tsx +++ b/packages/web/src/components/oauth/google/GoogleButton.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import type React from "react"; /** * Monochrome Google "G" logo SVG diff --git a/packages/web/src/components/oauth/google/useGoogleLogin.ts b/packages/web/src/components/oauth/google/useGoogleLogin.ts index baab56a77..7d1140c07 100644 --- a/packages/web/src/components/oauth/google/useGoogleLogin.ts +++ b/packages/web/src/components/oauth/google/useGoogleLogin.ts @@ -1,7 +1,7 @@ import { useCallback, useRef, useState } from "react"; import { v4 as uuidv4 } from "uuid"; import { useGoogleLogin as useGoogleLoginBase } from "@react-oauth/google"; -import { SignInUpInput } from "@web/components/oauth/ouath.types"; +import { type SignInUpInput } from "@web/components/oauth/ouath.types"; const SCOPES_REQUIRED = [ "https://www.googleapis.com/auth/userinfo.email", diff --git a/packages/web/src/components/oauth/ouath.types.ts b/packages/web/src/components/oauth/ouath.types.ts index cbedb56b9..04c745cde 100644 --- a/packages/web/src/components/oauth/ouath.types.ts +++ b/packages/web/src/components/oauth/ouath.types.ts @@ -1,4 +1,4 @@ -import { CodeResponse } from "@react-oauth/google"; +import { type CodeResponse } from "@react-oauth/google"; export interface SignInUpInput { thirdPartyId: string; diff --git a/packages/web/src/ducks/auth/selectors/auth.selectors.ts b/packages/web/src/ducks/auth/selectors/auth.selectors.ts index 7863604ea..9f26602b1 100644 --- a/packages/web/src/ducks/auth/selectors/auth.selectors.ts +++ b/packages/web/src/ducks/auth/selectors/auth.selectors.ts @@ -1,4 +1,4 @@ -import { RootState } from "@web/store"; +import { type RootState } from "@web/store"; export const selectAuthState = ({ auth }: RootState) => auth; diff --git a/packages/web/src/ducks/auth/slices/auth.slice.ts b/packages/web/src/ducks/auth/slices/auth.slice.ts index 81ac8e51b..554a506c3 100644 --- a/packages/web/src/ducks/auth/slices/auth.slice.ts +++ b/packages/web/src/ducks/auth/slices/auth.slice.ts @@ -1,4 +1,4 @@ -import { PayloadAction, createSlice } from "@reduxjs/toolkit"; +import { type PayloadAction, createSlice } from "@reduxjs/toolkit"; export type AuthStatus = "idle" | "authenticating" | "success" | "error"; diff --git a/packages/web/src/ducks/events/event.api.ts b/packages/web/src/ducks/events/event.api.ts index fe03395ba..ec9d018c1 100644 --- a/packages/web/src/ducks/events/event.api.ts +++ b/packages/web/src/ducks/events/event.api.ts @@ -1,12 +1,12 @@ -import { AxiosPromise } from "axios"; +import { type AxiosPromise } from "axios"; import { - Params_Events, - Payload_Order, - RecurringEventUpdateScope, - Schema_Event, + type Params_Events, + type Payload_Order, + type RecurringEventUpdateScope, + type Schema_Event, } from "@core/types/event.types"; import { CompassApi } from "@web/common/apis/compass.api"; -import { Response_HttpPaginatedSuccess } from "@web/common/types/api.types"; +import { type Response_HttpPaginatedSuccess } from "@web/common/types/api.types"; const EventApi = { create: (event: Schema_Event | Schema_Event[]) => { diff --git a/packages/web/src/ducks/events/event.types.ts b/packages/web/src/ducks/events/event.types.ts index 40d049e05..667b4e15b 100644 --- a/packages/web/src/ducks/events/event.types.ts +++ b/packages/web/src/ducks/events/event.types.ts @@ -1,20 +1,20 @@ -import { Action } from "redux"; -import { PayloadAction } from "@reduxjs/toolkit"; -import { Priorities } from "@core/constants/core.constants"; +import { type Action } from "redux"; +import { type PayloadAction } from "@reduxjs/toolkit"; +import { type Priorities } from "@core/constants/core.constants"; import { - RecurringEventUpdateScope, - Schema_Event, - WithCompassId, + type RecurringEventUpdateScope, + type Schema_Event, + type WithCompassId, } from "@core/types/event.types"; -import { SliceStateContext } from "@web/common/store/helpers"; +import { type SliceStateContext } from "@web/common/store/helpers"; import { - Filters_Pagination, - Response_HttpPaginatedSuccess, + type Filters_Pagination, + type Response_HttpPaginatedSuccess, } from "@web/common/types/api.types"; -import { Payload_NormalizedAsyncAction } from "@web/common/types/entity.types"; +import { type Payload_NormalizedAsyncAction } from "@web/common/types/entity.types"; import { - Schema_GridEvent, - Schema_WebEvent, + type Schema_GridEvent, + type Schema_WebEvent, } from "@web/common/types/web.event.types"; export type Action_ConvertEvent = PayloadAction; diff --git a/packages/web/src/ducks/events/sagas/event.sagas.test.ts b/packages/web/src/ducks/events/sagas/event.sagas.test.ts index 64548a7f5..b4fa49698 100644 --- a/packages/web/src/ducks/events/sagas/event.sagas.test.ts +++ b/packages/web/src/ducks/events/sagas/event.sagas.test.ts @@ -1,5 +1,5 @@ -import { AxiosResponse } from "axios"; -import { Schema_Event } from "@core/types/event.types"; +import { type AxiosResponse } from "axios"; +import { type Schema_Event } from "@core/types/event.types"; import { createMockStandaloneEvent } from "@core/util/test/ccal.event.factory"; import { createStoreWithEvents } from "@web/__tests__/utils/state/store.test.util"; import { session } from "@web/common/classes/Session"; @@ -9,8 +9,8 @@ import { } from "@web/common/storage/adapter/adapter"; import { sagaMiddleware } from "@web/common/store/middlewares"; import { - Schema_GridEvent, - Schema_WebEvent, + type Schema_GridEvent, + type Schema_WebEvent, } from "@web/common/types/web.event.types"; import { EventApi } from "@web/ducks/events/event.api"; import { selectEventById } from "@web/ducks/events/selectors/event.selectors"; @@ -19,7 +19,7 @@ import { createEventSlice, editEventSlice, } from "@web/ducks/events/slices/event.slice"; -import { RootState } from "@web/store"; +import { type RootState } from "@web/store"; import { sagas } from "@web/store/sagas"; import { OnSubmitParser } from "@web/views/Calendar/components/Draft/hooks/actions/submit.parser"; @@ -97,7 +97,7 @@ describe("createEvent saga - optimistic rendering", () => { // Verify event is still in state while API call is pending const stateDuringApiCall = store.getState(); const eventDuringApiCall = selectEventById( - stateDuringApiCall as RootState, + stateDuringApiCall, optimisticId, ); @@ -123,10 +123,7 @@ describe("createEvent saga - optimistic rendering", () => { // Verify event is still in state after API call completes with the SAME ID const stateAfterApiCall = store.getState(); - const eventAfterApiCall = selectEventById( - stateAfterApiCall as RootState, - optimisticId, - ); + const eventAfterApiCall = selectEventById(stateAfterApiCall, optimisticId); // Event should still exist with same ID expect(eventAfterApiCall).not.toBeNull(); @@ -166,7 +163,7 @@ describe("createEvent saga - optimistic rendering", () => { expect(eventIds[0]).toBe(eventId); // Verify the event is confirmed (not optimistic anymore) - const finalEvent = selectEventById(finalState as RootState, eventId); + const finalEvent = selectEventById(finalState, eventId); expect(finalEvent).not.toBeNull(); expect(finalEvent?._id).toBe(eventId); }); @@ -187,7 +184,7 @@ describe("createEvent saga - optimistic rendering", () => { // Check 1: Immediately after dispatch (should be optimistic) const check1 = store.getState(); - const event1 = selectEventById(check1 as RootState, eventId); + const event1 = selectEventById(check1, eventId); expect(event1).not.toBeNull(); expect(event1?._id).toBe(eventId); @@ -196,7 +193,7 @@ describe("createEvent saga - optimistic rendering", () => { // Check 2: After API call completes (should still have same ID but not optimistic) const check2 = store.getState(); - const event2 = selectEventById(check2 as RootState, eventId); + const event2 = selectEventById(check2, eventId); expect(event2).not.toBeNull(); expect(event2?._id).toBe(eventId); @@ -287,7 +284,7 @@ describe("pending events state management", () => { const eventIds = Object.keys(eventEntities); const eventId = eventIds[0]; - const isPending = selectIsEventPending(state as RootState, eventId); + const isPending = selectIsEventPending(state, eventId); expect(isPending).toBe(true); expect(state.events.pendingEvents.eventIds).toContain(eventId); }); @@ -308,7 +305,7 @@ describe("pending events state management", () => { await new Promise((resolve) => setTimeout(resolve, 100)); const finalState = store.getState(); - const isPending = selectIsEventPending(finalState as RootState, eventId); + const isPending = selectIsEventPending(finalState, eventId); expect(isPending).toBe(false); expect(finalState.events.pendingEvents.eventIds).not.toContain(eventId); }); @@ -349,7 +346,7 @@ describe("pending events state management", () => { // Now edit the event - get the actual event from store const existingEvent = selectEventById( - stateAfterCreate as RootState, + stateAfterCreate, eventId, ) as Schema_GridEvent; const updatedEvent = { @@ -364,10 +361,7 @@ describe("pending events state management", () => { store.dispatch(editAction); const stateAfterEdit = store.getState(); - const isPending = selectIsEventPending( - stateAfterEdit as RootState, - eventId, - ); + const isPending = selectIsEventPending(stateAfterEdit, eventId); expect(isPending).toBe(true); expect(stateAfterEdit.events.pendingEvents.eventIds).toContain(eventId); }); @@ -388,7 +382,7 @@ describe("pending events state management", () => { // Now edit the event - get the actual event from store const existingEvent = selectEventById( - stateAfterCreate as RootState, + stateAfterCreate, eventId, ) as Schema_GridEvent; const updatedEvent = { @@ -406,7 +400,7 @@ describe("pending events state management", () => { await new Promise((resolve) => setTimeout(resolve, 100)); const finalState = store.getState(); - const isPending = selectIsEventPending(finalState as RootState, eventId); + const isPending = selectIsEventPending(finalState, eventId); expect(isPending).toBe(false); expect(finalState.events.pendingEvents.eventIds).not.toContain(eventId); }); @@ -431,7 +425,7 @@ describe("pending events state management", () => { // Now edit the event - get the actual event from store const existingEvent = selectEventById( - stateAfterCreate as RootState, + stateAfterCreate, eventId, ) as Schema_GridEvent; const updatedEvent = { @@ -529,7 +523,7 @@ describe("createEvent saga - unauthenticated users", () => { const eventId = eventIds[0]; // Event should not be pending anymore - const isPending = selectIsEventPending(state as RootState, eventId); + const isPending = selectIsEventPending(state, eventId); expect(isPending).toBe(false); expect(state.events.pendingEvents.eventIds).not.toContain(eventId); }); @@ -545,7 +539,7 @@ describe("createEvent saga - unauthenticated users", () => { await new Promise((resolve) => setTimeout(resolve, 100)); // Verify event was saved successfully (no error and event exists in store) - const state = store.getState() as RootState; + const state = store.getState(); const eventEntities = state.events.entities.value || {}; const eventIds = Object.keys(eventEntities); expect(eventIds.length).toBeGreaterThan(0); diff --git a/packages/web/src/ducks/events/sagas/event.sagas.ts b/packages/web/src/ducks/events/sagas/event.sagas.ts index ed26beeb6..790d72f34 100644 --- a/packages/web/src/ducks/events/sagas/event.sagas.ts +++ b/packages/web/src/ducks/events/sagas/event.sagas.ts @@ -2,30 +2,30 @@ import { normalize } from "normalizr"; import { call, put, select } from "@redux-saga/core/effects"; import { YEAR_MONTH_DAY_FORMAT } from "@core/constants/date.constants"; import { - Params_Events, + type Params_Events, RecurringEventUpdateScope, - Schema_Event, + type Schema_Event, } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; import { session } from "@web/common/classes/Session"; import { getEventRepository } from "@web/common/repositories/event/event.repository.util"; -import { Response_HttpPaginatedSuccess } from "@web/common/types/api.types"; -import { Payload_NormalizedAsyncAction } from "@web/common/types/entity.types"; +import { type Response_HttpPaginatedSuccess } from "@web/common/types/api.types"; +import { type Payload_NormalizedAsyncAction } from "@web/common/types/entity.types"; import { - Schema_GridEvent, - Schema_OptimisticEvent, + type Schema_GridEvent, + type Schema_OptimisticEvent, } from "@web/common/types/web.event.types"; import { handleError } from "@web/common/utils/event/event.util"; import { - Action_ConvertEvent, - Action_CreateEvent, - Action_DeleteEvent, - Action_EditEvent, - Action_GetEvents, - Action_GetPaginatedEvents, - Entities_Event, - Response_GetEventsSaga, - Response_GetEventsSuccess, + type Action_ConvertEvent, + type Action_CreateEvent, + type Action_DeleteEvent, + type Action_EditEvent, + type Action_GetEvents, + type Action_GetPaginatedEvents, + type Entities_Event, + type Response_GetEventsSaga, + type Response_GetEventsSuccess, } from "@web/ducks/events/event.types"; import { EventDateUtils, @@ -45,7 +45,7 @@ import { } from "@web/ducks/events/slices/event.slice"; import { pendingEventsSlice } from "@web/ducks/events/slices/pending.slice"; import { getWeekEventsSlice } from "@web/ducks/events/slices/week.slice"; -import { RootState } from "@web/store"; +import { type RootState } from "@web/store"; export function* convertCalendarToSomedayEvent({ payload, @@ -85,8 +85,8 @@ export function* convertCalendarToSomedayEvent({ ); } - yield put(getWeekEventsSlice.actions.insert(payload.event._id!)); - yield put(getDayEventsSlice.actions.insert(payload.event._id!)); + yield put(getWeekEventsSlice.actions.insert(payload.event._id)); + yield put(getDayEventsSlice.actions.insert(payload.event._id)); yield put(editEventSlice.actions.error()); handleError(error as Error); @@ -217,8 +217,8 @@ function* getEvents( const events = EventDateUtils.filterEventsByStartEndDate( res.data, - payload.startDate as string, - payload.endDate as string, + payload.startDate, + payload.endDate, ); // Validate response data exists before normalizing diff --git a/packages/web/src/ducks/events/sagas/saga.util.ts b/packages/web/src/ducks/events/sagas/saga.util.ts index d720740d8..31a0525e5 100644 --- a/packages/web/src/ducks/events/sagas/saga.util.ts +++ b/packages/web/src/ducks/events/sagas/saga.util.ts @@ -1,27 +1,27 @@ import { normalize, schema } from "normalizr"; -import { SelectEffect, call, put, select } from "@redux-saga/core/effects"; +import { type SelectEffect, call, put, select } from "@redux-saga/core/effects"; import { - Params_Events, - RecurringEventUpdateScope, - Schema_Event, + type Params_Events, + type RecurringEventUpdateScope, + type Schema_Event, } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; import { session } from "@web/common/classes/Session"; import { getEventRepository } from "@web/common/repositories/event/event.repository.util"; import { - Schema_GridEvent, - Schema_WebEvent, - WithId, + type Schema_GridEvent, + type Schema_WebEvent, + type WithId, } from "@web/common/types/web.event.types"; import { addId, assembleGridEvent } from "@web/common/utils/event/event.util"; import { validateGridEvent } from "@web/common/validators/grid.event.validator"; -import { Payload_ConvertEvent } from "@web/ducks/events/event.types"; +import { type Payload_ConvertEvent } from "@web/ducks/events/event.types"; import { selectEventById } from "@web/ducks/events/selectors/event.selectors"; import { getDayEventsSlice } from "@web/ducks/events/slices/day.slice"; import { eventsEntitiesSlice } from "@web/ducks/events/slices/event.slice"; import { getSomedayEventsSlice } from "@web/ducks/events/slices/someday.slice"; import { getWeekEventsSlice } from "@web/ducks/events/slices/week.slice"; -import { RootState } from "@web/store"; +import { type RootState } from "@web/store"; export function* getEventById( _id: string, @@ -77,7 +77,7 @@ export function* _assembleGridEvent({ Schema_GridEvent, Schema_WebEvent > { - const currEvent = yield* getEventById(_id!); + const currEvent = yield* getEventById(_id); // First merge the current event with updated fields const eventWithUpdates = { ...currEvent, ...updatedFields, _id }; diff --git a/packages/web/src/ducks/events/sagas/someday.sagas.test.ts b/packages/web/src/ducks/events/sagas/someday.sagas.test.ts index 33da4c675..b0da4d522 100644 --- a/packages/web/src/ducks/events/sagas/someday.sagas.test.ts +++ b/packages/web/src/ducks/events/sagas/someday.sagas.test.ts @@ -1,6 +1,6 @@ -import { AxiosResponse } from "axios"; +import { type AxiosResponse } from "axios"; import { Origin, Priorities } from "@core/constants/core.constants"; -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; import { createStoreWithEvents } from "@web/__tests__/utils/state/store.test.util"; import { session } from "@web/common/classes/Session"; @@ -9,7 +9,7 @@ import { getStorageAdapter, } from "@web/common/storage/adapter/adapter"; import { sagaMiddleware } from "@web/common/store/middlewares"; -import { Response_HttpPaginatedSuccess } from "@web/common/types/api.types"; +import { type Response_HttpPaginatedSuccess } from "@web/common/types/api.types"; import { EventApi } from "@web/ducks/events/event.api"; import { getSomedayEventsSlice } from "@web/ducks/events/slices/someday.slice"; import { sagas } from "@web/store/sagas"; diff --git a/packages/web/src/ducks/events/sagas/someday.sagas.ts b/packages/web/src/ducks/events/sagas/someday.sagas.ts index 13b31970a..2ef12c0c5 100644 --- a/packages/web/src/ducks/events/sagas/someday.sagas.ts +++ b/packages/web/src/ducks/events/sagas/someday.sagas.ts @@ -1,15 +1,15 @@ import { normalize } from "normalizr"; import { call, put } from "redux-saga/effects"; -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; import { session } from "@web/common/classes/Session"; import { getEventRepository } from "@web/common/repositories/event/event.repository.util"; -import { Schema_OptimisticEvent } from "@web/common/types/web.event.types"; +import { type Schema_OptimisticEvent } from "@web/common/types/web.event.types"; import { handleError } from "@web/common/utils/event/event.util"; import { setSomedayEventsOrder } from "@web/common/utils/event/someday.event.util"; import { - Action_ConvertEvent, - Action_DeleteEvent, - Action_GetEvents, + type Action_ConvertEvent, + type Action_DeleteEvent, + type Action_GetEvents, } from "@web/ducks/events/event.types"; import { _assembleGridEvent, @@ -24,7 +24,7 @@ import { } from "@web/ducks/events/slices/event.slice"; import { pendingEventsSlice } from "@web/ducks/events/slices/pending.slice"; import { getSomedayEventsSlice } from "@web/ducks/events/slices/someday.slice"; -import { Action_Someday_Reorder } from "@web/ducks/events/slices/someday.slice.types"; +import { type Action_Someday_Reorder } from "@web/ducks/events/slices/someday.slice.types"; export function* convertSomedayToCalendarEvent({ payload, diff --git a/packages/web/src/ducks/events/selectors/draft.selectors.ts b/packages/web/src/ducks/events/selectors/draft.selectors.ts index 4e8e84b77..81f6db2fc 100644 --- a/packages/web/src/ducks/events/selectors/draft.selectors.ts +++ b/packages/web/src/ducks/events/selectors/draft.selectors.ts @@ -1,5 +1,5 @@ import { Categories_Event } from "@core/types/event.types"; -import { RootState } from "@web/store"; +import { type RootState } from "@web/store"; export const selectDraft = (state: RootState) => state.events.draft.event; diff --git a/packages/web/src/ducks/events/selectors/event.selectors.ts b/packages/web/src/ducks/events/selectors/event.selectors.ts index 9061e7ea9..9210b859e 100644 --- a/packages/web/src/ducks/events/selectors/event.selectors.ts +++ b/packages/web/src/ducks/events/selectors/event.selectors.ts @@ -1,11 +1,11 @@ import { createSelector } from "@reduxjs/toolkit"; -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; import { isProcessing } from "@web/common/store/helpers"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { assembleGridEvent } from "@web/common/utils/event/event.util"; import { assignEventsToRow } from "@web/common/utils/grid/assign.row"; import { adjustOverlappingEvents } from "@web/common/utils/overlap/overlap"; -import { RootState } from "@web/store"; +import { type RootState } from "@web/store"; type Schema_GridEvent_NoPosition = Omit; diff --git a/packages/web/src/ducks/events/selectors/pending.selectors.test.ts b/packages/web/src/ducks/events/selectors/pending.selectors.test.ts index 59a008174..35715b2d2 100644 --- a/packages/web/src/ducks/events/selectors/pending.selectors.test.ts +++ b/packages/web/src/ducks/events/selectors/pending.selectors.test.ts @@ -1,4 +1,4 @@ -import { RootState } from "@web/store"; +import { type RootState } from "@web/store"; import { selectIsEventPending, selectPendingEventIds, diff --git a/packages/web/src/ducks/events/selectors/pending.selectors.ts b/packages/web/src/ducks/events/selectors/pending.selectors.ts index a4860c839..538f9a973 100644 --- a/packages/web/src/ducks/events/selectors/pending.selectors.ts +++ b/packages/web/src/ducks/events/selectors/pending.selectors.ts @@ -1,5 +1,5 @@ import { createSelector } from "@reduxjs/toolkit"; -import { RootState } from "@web/store"; +import { type RootState } from "@web/store"; export const selectPendingEventIds = (state: RootState): string[] => state.events.pendingEvents.eventIds; diff --git a/packages/web/src/ducks/events/selectors/someday.selectors.ts b/packages/web/src/ducks/events/selectors/someday.selectors.ts index b09ded629..2cf631606 100644 --- a/packages/web/src/ducks/events/selectors/someday.selectors.ts +++ b/packages/web/src/ducks/events/selectors/someday.selectors.ts @@ -6,11 +6,11 @@ import { import dayjs from "@core/util/date/dayjs"; import { COLUMN_MONTH, COLUMN_WEEK } from "@web/common/constants/web.constants"; import { isProcessing } from "@web/common/store/helpers"; -import { Schema_SomedayEventsColumn } from "@web/common/types/web.event.types"; +import { type Schema_SomedayEventsColumn } from "@web/common/types/web.event.types"; import { categorizeSomedayEvents } from "@web/common/utils/event/someday.event.util"; import { selectEventEntities } from "@web/ducks/events/selectors/event.selectors"; import { selectDatesInView } from "@web/ducks/events/selectors/view.selectors"; -import { RootState } from "@web/store"; +import { type RootState } from "@web/store"; export const selectIsGetSomedayEventsProcessing = (state: RootState) => isProcessing(state.events.getSomedayEvents); diff --git a/packages/web/src/ducks/events/selectors/sync.selector.ts b/packages/web/src/ducks/events/selectors/sync.selector.ts index e3473ee0b..75e31b6c5 100644 --- a/packages/web/src/ducks/events/selectors/sync.selector.ts +++ b/packages/web/src/ducks/events/selectors/sync.selector.ts @@ -1,4 +1,4 @@ -import { RootState } from "@web/store"; +import { type RootState } from "@web/store"; export const selectImportLatestState = ({ sync }: RootState) => sync.importLatest; diff --git a/packages/web/src/ducks/events/selectors/util.selectors.ts b/packages/web/src/ducks/events/selectors/util.selectors.ts index 542685fb6..52a1dde03 100644 --- a/packages/web/src/ducks/events/selectors/util.selectors.ts +++ b/packages/web/src/ducks/events/selectors/util.selectors.ts @@ -1,7 +1,7 @@ import { createSelector } from "@reduxjs/toolkit"; import { isProcessing } from "@web/common/store/helpers"; -import { Week_AsyncStateContextReason } from "@web/ducks/events/context/week.context"; -import { RootState } from "@web/store"; +import { type Week_AsyncStateContextReason } from "@web/ducks/events/context/week.context"; +import { type RootState } from "@web/store"; type SectionType_Sidebar = "someday" | "currentMonth"; diff --git a/packages/web/src/ducks/events/selectors/view.selectors.ts b/packages/web/src/ducks/events/selectors/view.selectors.ts index b8852e391..66ae5fcbc 100644 --- a/packages/web/src/ducks/events/selectors/view.selectors.ts +++ b/packages/web/src/ducks/events/selectors/view.selectors.ts @@ -1,4 +1,4 @@ -import { RootState } from "@web/store"; +import { type RootState } from "@web/store"; export const selectDatesInView = (state: RootState) => state.view.dates; export const selectIsSidebarOpen = (state: RootState) => diff --git a/packages/web/src/ducks/events/slices/day.slice.ts b/packages/web/src/ducks/events/slices/day.slice.ts index 55ae3cc41..528bfa16b 100644 --- a/packages/web/src/ducks/events/slices/day.slice.ts +++ b/packages/web/src/ducks/events/slices/day.slice.ts @@ -1,8 +1,8 @@ -import { PayloadAction } from "@reduxjs/toolkit"; -import { AsyncState, createAsyncSlice } from "@web/common/store/helpers"; -import { Response_HttpPaginatedSuccess } from "@web/common/types/api.types"; -import { Payload_NormalizedAsyncAction } from "@web/common/types/entity.types"; -import { Payload_GetEvents } from "@web/ducks/events/event.types"; +import { type PayloadAction } from "@reduxjs/toolkit"; +import { type AsyncState, createAsyncSlice } from "@web/common/store/helpers"; +import { type Response_HttpPaginatedSuccess } from "@web/common/types/api.types"; +import { type Payload_NormalizedAsyncAction } from "@web/common/types/entity.types"; +import { type Payload_GetEvents } from "@web/ducks/events/event.types"; import { cancel, convert, insert } from "./event.slice.util"; const replace = ( diff --git a/packages/web/src/ducks/events/slices/draft.slice.ts b/packages/web/src/ducks/events/slices/draft.slice.ts index dcc4a6f39..ce5516f07 100644 --- a/packages/web/src/ducks/events/slices/draft.slice.ts +++ b/packages/web/src/ducks/events/slices/draft.slice.ts @@ -1,9 +1,9 @@ import { createSlice } from "@reduxjs/toolkit"; import { - Action_DraftEvent, - Action_Draft_Resize, - Action_Draft_Swap, - State_DraftEvent, + type Action_DraftEvent, + type Action_Draft_Resize, + type Action_Draft_Swap, + type State_DraftEvent, } from "./draft.slice.types"; const initialDraft = { diff --git a/packages/web/src/ducks/events/slices/draft.slice.types.ts b/packages/web/src/ducks/events/slices/draft.slice.types.ts index 29bbf18c5..d616ad7ff 100644 --- a/packages/web/src/ducks/events/slices/draft.slice.types.ts +++ b/packages/web/src/ducks/events/slices/draft.slice.types.ts @@ -1,8 +1,11 @@ -import { Action } from "redux"; -import { Categories_Event, Schema_Event } from "@core/types/event.types"; +import { type Action } from "redux"; import { - Schema_GridEvent, - Schema_WebEvent, + type Categories_Event, + type Schema_Event, +} from "@core/types/event.types"; +import { + type Schema_GridEvent, + type Schema_WebEvent, } from "@web/common/types/web.event.types"; export interface Action_DraftEvent extends Action { diff --git a/packages/web/src/ducks/events/slices/event.slice.ts b/packages/web/src/ducks/events/slices/event.slice.ts index 337c9677b..27076c71f 100644 --- a/packages/web/src/ducks/events/slices/event.slice.ts +++ b/packages/web/src/ducks/events/slices/event.slice.ts @@ -1,21 +1,21 @@ import produce from "immer"; -import { PayloadAction, createSlice } from "@reduxjs/toolkit"; -import { Origin } from "@core/constants/core.constants"; -import { Schema_Event } from "@core/types/event.types"; +import { type PayloadAction, createSlice } from "@reduxjs/toolkit"; +import { type Origin } from "@core/constants/core.constants"; +import { type Schema_Event } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; import { createAsyncSlice } from "@web/common/store/helpers"; -import { Response_HttpPaginatedSuccess } from "@web/common/types/api.types"; -import { Payload_NormalizedAsyncAction } from "@web/common/types/entity.types"; +import { type Response_HttpPaginatedSuccess } from "@web/common/types/api.types"; +import { type Payload_NormalizedAsyncAction } from "@web/common/types/entity.types"; import { - Action_DeleteEvent, - Action_EditEvent, - Action_InsertEvents, - Action_ReplaceEvent, - Action_TimezoneChange, - Entities_Event, - Payload_DeleteEvent, - Payload_EditEvent, - Payload_GetPaginatedEvents, + type Action_DeleteEvent, + type Action_EditEvent, + type Action_InsertEvents, + type Action_ReplaceEvent, + type Action_TimezoneChange, + type Entities_Event, + type Payload_DeleteEvent, + type Payload_EditEvent, + type Payload_GetPaginatedEvents, } from "@web/ducks/events/event.types"; const changeTimezones = produce((draft, newTimeZone) => { @@ -73,7 +73,7 @@ export const eventsEntitiesSlice = createSlice({ const origins = new Set(action.payload.origins); for (const id of Object.keys(state.value)) { const event = state.value[id] as Schema_Event | undefined; - if (event?.origin && origins.has(event.origin as Origin)) { + if (event?.origin && origins.has(event.origin)) { delete state.value[id]; } } diff --git a/packages/web/src/ducks/events/slices/event.slice.util.ts b/packages/web/src/ducks/events/slices/event.slice.util.ts index aba30509e..9e3dcd005 100644 --- a/packages/web/src/ducks/events/slices/event.slice.util.ts +++ b/packages/web/src/ducks/events/slices/event.slice.util.ts @@ -1,7 +1,10 @@ -import { PayloadAction } from "@reduxjs/toolkit"; -import { AsyncState } from "@web/common/store/helpers"; -import { Response_HttpPaginatedSuccess } from "@web/common/types/api.types"; -import { Action_ConvertEvent, Action_DeleteEvent } from "../event.types"; +import { type PayloadAction } from "@reduxjs/toolkit"; +import { type AsyncState } from "@web/common/store/helpers"; +import { type Response_HttpPaginatedSuccess } from "@web/common/types/api.types"; +import { + type Action_ConvertEvent, + type Action_DeleteEvent, +} from "../event.types"; export const insert = ( state: AsyncState, unknown>, @@ -51,5 +54,5 @@ export const convert = ( state: AsyncState, unknown>, action: Action_ConvertEvent, ): void => { - cancel(state, { payload: { _id: action.payload.event._id! }, type: "" }); + cancel(state, { payload: { _id: action.payload.event._id }, type: "" }); }; diff --git a/packages/web/src/ducks/events/slices/pending.slice.ts b/packages/web/src/ducks/events/slices/pending.slice.ts index e89143170..60ccbdcef 100644 --- a/packages/web/src/ducks/events/slices/pending.slice.ts +++ b/packages/web/src/ducks/events/slices/pending.slice.ts @@ -1,4 +1,4 @@ -import { PayloadAction, createSlice } from "@reduxjs/toolkit"; +import { type PayloadAction, createSlice } from "@reduxjs/toolkit"; interface PendingEventsState { eventIds: string[]; diff --git a/packages/web/src/ducks/events/slices/someday.slice.ts b/packages/web/src/ducks/events/slices/someday.slice.ts index 9bf79b73d..cc1d6a196 100644 --- a/packages/web/src/ducks/events/slices/someday.slice.ts +++ b/packages/web/src/ducks/events/slices/someday.slice.ts @@ -1,8 +1,8 @@ -import { PayloadAction } from "@reduxjs/toolkit"; -import { AsyncState, createAsyncSlice } from "@web/common/store/helpers"; -import { Response_HttpPaginatedSuccess } from "@web/common/types/api.types"; -import { Payload_NormalizedAsyncAction } from "@web/common/types/entity.types"; -import { Payload_GetEvents } from "../event.types"; +import { type PayloadAction } from "@reduxjs/toolkit"; +import { type AsyncState, createAsyncSlice } from "@web/common/store/helpers"; +import { type Response_HttpPaginatedSuccess } from "@web/common/types/api.types"; +import { type Payload_NormalizedAsyncAction } from "@web/common/types/entity.types"; +import { type Payload_GetEvents } from "../event.types"; import { cancel, convert, insert } from "./event.slice.util"; const replace = ( diff --git a/packages/web/src/ducks/events/slices/someday.slice.types.ts b/packages/web/src/ducks/events/slices/someday.slice.types.ts index 699d2f65b..315ab7adf 100644 --- a/packages/web/src/ducks/events/slices/someday.slice.types.ts +++ b/packages/web/src/ducks/events/slices/someday.slice.types.ts @@ -1,4 +1,4 @@ -import { Action } from "redux"; +import { type Action } from "redux"; export interface Action_Someday_Reorder extends Action { payload: Payload_Someday_Reorder[]; diff --git a/packages/web/src/ducks/events/slices/sync.slice.ts b/packages/web/src/ducks/events/slices/sync.slice.ts index a2e8575ba..82a054c74 100644 --- a/packages/web/src/ducks/events/slices/sync.slice.ts +++ b/packages/web/src/ducks/events/slices/sync.slice.ts @@ -1,5 +1,5 @@ -import { PayloadAction, createSlice } from "@reduxjs/toolkit"; -import { Sync_AsyncStateContextReason } from "@web/ducks/events/context/sync.context"; +import { type PayloadAction, createSlice } from "@reduxjs/toolkit"; +import { type Sync_AsyncStateContextReason } from "@web/ducks/events/context/sync.context"; import { createAsyncSlice } from "../../../common/store/helpers"; type Payload_TriggerFetch = { diff --git a/packages/web/src/ducks/events/slices/view.slice.ts b/packages/web/src/ducks/events/slices/view.slice.ts index 09e9cc366..b54b7c8c4 100644 --- a/packages/web/src/ducks/events/slices/view.slice.ts +++ b/packages/web/src/ducks/events/slices/view.slice.ts @@ -1,4 +1,4 @@ -import { Action } from "redux"; +import { type Action } from "redux"; import { createSlice } from "@reduxjs/toolkit"; import dayjs from "@core/util/date/dayjs"; diff --git a/packages/web/src/ducks/events/slices/week.slice.ts b/packages/web/src/ducks/events/slices/week.slice.ts index bf02a2e58..0ad164af6 100644 --- a/packages/web/src/ducks/events/slices/week.slice.ts +++ b/packages/web/src/ducks/events/slices/week.slice.ts @@ -1,8 +1,8 @@ -import { PayloadAction } from "@reduxjs/toolkit"; -import { AsyncState, createAsyncSlice } from "@web/common/store/helpers"; -import { Response_HttpPaginatedSuccess } from "@web/common/types/api.types"; -import { Payload_NormalizedAsyncAction } from "@web/common/types/entity.types"; -import { Payload_GetEvents } from "@web/ducks/events/event.types"; +import { type PayloadAction } from "@reduxjs/toolkit"; +import { type AsyncState, createAsyncSlice } from "@web/common/store/helpers"; +import { type Response_HttpPaginatedSuccess } from "@web/common/types/api.types"; +import { type Payload_NormalizedAsyncAction } from "@web/common/types/entity.types"; +import { type Payload_GetEvents } from "@web/ducks/events/event.types"; import { cancel, convert, insert } from "./event.slice.util"; const replace = ( diff --git a/packages/web/src/ducks/settings/selectors/settings.selectors.ts b/packages/web/src/ducks/settings/selectors/settings.selectors.ts index 0124f4c5b..70e3c9074 100644 --- a/packages/web/src/ducks/settings/selectors/settings.selectors.ts +++ b/packages/web/src/ducks/settings/selectors/settings.selectors.ts @@ -1,4 +1,4 @@ -import { RootState } from "@web/store"; +import { type RootState } from "@web/store"; export const selectIsCmdPaletteOpen = (state: RootState) => state.settings.isCmdPaletteOpen; diff --git a/packages/web/src/routers/index.tsx b/packages/web/src/routers/index.tsx index 8fc0404dd..3bba47010 100644 --- a/packages/web/src/routers/index.tsx +++ b/packages/web/src/routers/index.tsx @@ -1,7 +1,7 @@ import { - RouteObject, + type RouteObject, RouterProvider, - RouterProviderProps, + type RouterProviderProps, createBrowserRouter, } from "react-router-dom"; import { IS_DEV } from "@web/common/constants/env.constants"; diff --git a/packages/web/src/routers/loaders.ts b/packages/web/src/routers/loaders.ts index a02b94a6f..5d3442914 100644 --- a/packages/web/src/routers/loaders.ts +++ b/packages/web/src/routers/loaders.ts @@ -1,6 +1,6 @@ -import { LoaderFunctionArgs, redirect } from "react-router-dom"; +import { type LoaderFunctionArgs, redirect } from "react-router-dom"; import { zYearMonthDayString } from "@core/types/type.utils"; -import dayjs, { Dayjs } from "@core/util/date/dayjs"; +import dayjs, { type Dayjs } from "@core/util/date/dayjs"; import { ROOT_ROUTES } from "@web/common/constants/routes"; export interface DayLoaderData { diff --git a/packages/web/src/socket/hooks/useGcalSync.ts b/packages/web/src/socket/hooks/useGcalSync.ts index e1c46986d..74b91dcd3 100644 --- a/packages/web/src/socket/hooks/useGcalSync.ts +++ b/packages/web/src/socket/hooks/useGcalSync.ts @@ -6,7 +6,7 @@ import { IMPORT_GCAL_START, USER_METADATA, } from "@core/constants/websocket.constants"; -import { UserMetadata } from "@core/types/user.types"; +import { type UserMetadata } from "@core/types/user.types"; import { shouldImportGCal } from "@core/util/event/event.util"; import { handleGoogleRevoked } from "@web/common/utils/auth/google-auth.util"; import { Sync_AsyncStateContextReason } from "@web/ducks/events/context/sync.context"; diff --git a/packages/web/src/socket/provider/SocketProvider.tsx b/packages/web/src/socket/provider/SocketProvider.tsx index 62935073c..00ea45ce6 100644 --- a/packages/web/src/socket/provider/SocketProvider.tsx +++ b/packages/web/src/socket/provider/SocketProvider.tsx @@ -1,4 +1,4 @@ -import { ReactNode } from "react"; +import { type ReactNode } from "react"; import { useEventSync } from "../hooks/useEventSync"; import { useGcalSync } from "../hooks/useGcalSync"; import { useSocketConnection } from "../hooks/useSocketConnection"; diff --git a/packages/web/src/store/events.test.ts b/packages/web/src/store/events.test.ts index dcf5532c7..bb21f73fe 100644 --- a/packages/web/src/store/events.test.ts +++ b/packages/web/src/store/events.test.ts @@ -1,5 +1,5 @@ import { addEntities } from "@ngneat/elf-entities"; -import { Schema_Event, WithCompassId } from "@core/types/event.types"; +import { type Schema_Event, type WithCompassId } from "@core/types/event.types"; import { activeEvent$, activeEventId$, diff --git a/packages/web/src/store/events.ts b/packages/web/src/store/events.ts index a4a6ef57d..d87d91a1f 100644 --- a/packages/web/src/store/events.ts +++ b/packages/web/src/store/events.ts @@ -19,7 +19,7 @@ import { withEntities, withUIEntities, } from "@ngneat/elf-entities"; -import { Schema_Event, WithCompassId } from "@core/types/event.types"; +import { type Schema_Event, type WithCompassId } from "@core/types/event.types"; export interface EventUIState { _id: string; diff --git a/packages/web/src/store/store.hooks.ts b/packages/web/src/store/store.hooks.ts index dae4babda..b1dd7b36b 100644 --- a/packages/web/src/store/store.hooks.ts +++ b/packages/web/src/store/store.hooks.ts @@ -1,5 +1,9 @@ -import { TypedUseSelectorHook, useDispatch, useSelector } from "react-redux"; -import { AppDispatch, RootState } from "."; +import { + type TypedUseSelectorHook, + useDispatch, + useSelector, +} from "react-redux"; +import { type AppDispatch, type RootState } from "."; export const useAppDispatch: () => AppDispatch = useDispatch; export const useAppSelector: TypedUseSelectorHook = useSelector; diff --git a/packages/web/src/views/Calendar/Calendar.form.test.tsx b/packages/web/src/views/Calendar/Calendar.form.test.tsx index 22fe05388..aec67d5f2 100644 --- a/packages/web/src/views/Calendar/Calendar.form.test.tsx +++ b/packages/web/src/views/Calendar/Calendar.form.test.tsx @@ -1,4 +1,4 @@ -import { SyntheticEvent, act } from "react"; +import { type SyntheticEvent, act } from "react"; import { createMemoryRouter } from "react-router-dom"; import "@testing-library/jest-dom"; import { screen, waitFor, within } from "@testing-library/react"; diff --git a/packages/web/src/views/Calendar/Calendar.tsx b/packages/web/src/views/Calendar/Calendar.tsx index 9511c66f9..3d43db7c7 100644 --- a/packages/web/src/views/Calendar/Calendar.tsx +++ b/packages/web/src/views/Calendar/Calendar.tsx @@ -1,7 +1,7 @@ import { ContextMenuWrapper } from "@web/components/ContextMenu/GridContextMenuWrapper"; import { selectIsSidebarOpen } from "@web/ducks/events/selectors/view.selectors"; import { useAppSelector } from "@web/store/store.hooks"; -import { RootProps } from "@web/views/Calendar/calendarView.types"; +import { type RootProps } from "@web/views/Calendar/calendarView.types"; import { Dedication } from "@web/views/Calendar/components/Dedication"; import { Draft } from "@web/views/Calendar/components/Draft/Draft"; import { DraftProvider } from "@web/views/Calendar/components/Draft/context/DraftProvider"; diff --git a/packages/web/src/views/Calendar/calendar.render.test.utils.ts b/packages/web/src/views/Calendar/calendar.render.test.utils.ts index a4c965e25..780ffa5ea 100644 --- a/packages/web/src/views/Calendar/calendar.render.test.utils.ts +++ b/packages/web/src/views/Calendar/calendar.render.test.utils.ts @@ -1,4 +1,4 @@ -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; export const freshenEventStartEndDate = (event: Schema_Event): Schema_Event => { diff --git a/packages/web/src/views/Calendar/calendarView.types.ts b/packages/web/src/views/Calendar/calendarView.types.ts index 64cf19408..d8e7c4f04 100644 --- a/packages/web/src/views/Calendar/calendarView.types.ts +++ b/packages/web/src/views/Calendar/calendarView.types.ts @@ -1,4 +1,4 @@ -import { Dayjs } from "@core/util/date/dayjs"; +import { type Dayjs } from "@core/util/date/dayjs"; export interface RootProps { component: { diff --git a/packages/web/src/views/Calendar/components/Draft/Draft.tsx b/packages/web/src/views/Calendar/components/Draft/Draft.tsx index 7d964e63d..dd9fdcadd 100644 --- a/packages/web/src/views/Calendar/components/Draft/Draft.tsx +++ b/packages/web/src/views/Calendar/components/Draft/Draft.tsx @@ -1,11 +1,11 @@ -import React, { FC } from "react"; +import React, { type FC } from "react"; import { createPortal } from "react-dom"; import { Categories_Event } from "@core/types/event.types"; import { getDraftContainer } from "@web/common/utils/draft/draft.util"; import { selectDraftCategory } from "@web/ducks/events/selectors/draft.selectors"; import { useAppSelector } from "@web/store/store.hooks"; -import { Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; import { useDraftContext } from "./context/useDraftContext"; import { GridDraft } from "./grid/GridDraft"; import { useGridMouseMove } from "./grid/hooks/useGridMouseMove"; diff --git a/packages/web/src/views/Calendar/components/Draft/context/DraftContext.tsx b/packages/web/src/views/Calendar/components/Draft/context/DraftContext.tsx index b692ad73d..380c369dd 100644 --- a/packages/web/src/views/Calendar/components/Draft/context/DraftContext.tsx +++ b/packages/web/src/views/Calendar/components/Draft/context/DraftContext.tsx @@ -1,8 +1,11 @@ import { createContext } from "react"; -import { Actions_Draft } from "../hooks/actions/useDraftActions"; -import { useDraftConfirmation } from "../hooks/state/useDraftConfirmation"; -import { useDraftForm } from "../hooks/state/useDraftForm"; -import { Setters_Draft, State_Draft_Local } from "../hooks/state/useDraftState"; +import { type Actions_Draft } from "../hooks/actions/useDraftActions"; +import { type useDraftConfirmation } from "../hooks/state/useDraftConfirmation"; +import { type useDraftForm } from "../hooks/state/useDraftForm"; +import { + type Setters_Draft, + type State_Draft_Local, +} from "../hooks/state/useDraftState"; export type Props_DraftForm = ReturnType; diff --git a/packages/web/src/views/Calendar/components/Draft/context/DraftProvider.tsx b/packages/web/src/views/Calendar/components/Draft/context/DraftProvider.tsx index 6f8f29c34..fbf3ce5f7 100644 --- a/packages/web/src/views/Calendar/components/Draft/context/DraftProvider.tsx +++ b/packages/web/src/views/Calendar/components/Draft/context/DraftProvider.tsx @@ -1,14 +1,14 @@ -import React from "react"; +import type React from "react"; import { Categories_Event } from "@core/types/event.types"; import { selectDraftCategory } from "@web/ducks/events/selectors/draft.selectors"; import { useAppSelector } from "@web/store/store.hooks"; -import { DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; import { useDraftActions } from "../hooks/actions/useDraftActions"; import { useDraftConfirmation } from "../hooks/state/useDraftConfirmation"; import { useDraftForm } from "../hooks/state/useDraftForm"; import { useDraftState } from "../hooks/state/useDraftState"; -import { DraftContext, State_Draft } from "./DraftContext"; +import { DraftContext, type State_Draft } from "./DraftContext"; interface DraftProviderProps { children: React.ReactNode; diff --git a/packages/web/src/views/Calendar/components/Draft/context/useDraft.test.ts b/packages/web/src/views/Calendar/components/Draft/context/useDraft.test.ts index e6ae82999..e11270b26 100644 --- a/packages/web/src/views/Calendar/components/Draft/context/useDraft.test.ts +++ b/packages/web/src/views/Calendar/components/Draft/context/useDraft.test.ts @@ -1,6 +1,6 @@ import { act } from "react"; import { renderHook } from "@testing-library/react"; -import { Schema_Event, WithCompassId } from "@core/types/event.types"; +import { type Schema_Event, type WithCompassId } from "@core/types/event.types"; import { resetDraft, setDraft } from "@web/store/events"; import { useDraft } from "@web/views/Calendar/components/Draft/context/useDraft"; diff --git a/packages/web/src/views/Calendar/components/Draft/grid/GridDraft.tsx b/packages/web/src/views/Calendar/components/Draft/grid/GridDraft.tsx index 8194c4ebd..44029b520 100644 --- a/packages/web/src/views/Calendar/components/Draft/grid/GridDraft.tsx +++ b/packages/web/src/views/Calendar/components/Draft/grid/GridDraft.tsx @@ -1,15 +1,15 @@ -import { FC, MouseEvent } from "react"; +import { type FC, type MouseEvent } from "react"; import { FloatingFocusManager } from "@floating-ui/react"; import { YEAR_MONTH_DAY_FORMAT } from "@core/constants/date.constants"; -import { Categories_Event, Schema_Event } from "@core/types/event.types"; -import { PartialMouseEvent } from "@web/common/types/util.types"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { Categories_Event, type Schema_Event } from "@core/types/event.types"; +import { type PartialMouseEvent } from "@web/common/types/util.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { getEventDragOffset } from "@web/common/utils/event/event.util"; import { useDraftContext } from "@web/views/Calendar/components/Draft/context/useDraftContext"; import { GridEvent } from "@web/views/Calendar/components/Event/Grid"; import { useGridEventMouseDown } from "@web/views/Calendar/hooks/grid/useGridEventMouseDown"; -import { Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; import { EventForm } from "@web/views/Forms/EventForm/EventForm"; import { StyledFloatContainer } from "@web/views/Forms/SomedayEventForm/styled"; diff --git a/packages/web/src/views/Calendar/components/Draft/grid/hooks/useGridMouseMove.ts b/packages/web/src/views/Calendar/components/Draft/grid/hooks/useGridMouseMove.ts index 85004c65f..575771736 100644 --- a/packages/web/src/views/Calendar/components/Draft/grid/hooks/useGridMouseMove.ts +++ b/packages/web/src/views/Calendar/components/Draft/grid/hooks/useGridMouseMove.ts @@ -1,4 +1,4 @@ -import { MouseEvent, useCallback, useEffect } from "react"; +import { type MouseEvent, useCallback, useEffect } from "react"; import { selectIsDrafting } from "@web/ducks/events/selectors/draft.selectors"; import { useAppSelector } from "@web/store/store.hooks"; import { useEventListener } from "@web/views/Calendar/hooks/mouse/useEventListener"; diff --git a/packages/web/src/views/Calendar/components/Draft/grid/hooks/useGridMouseUp.ts b/packages/web/src/views/Calendar/components/Draft/grid/hooks/useGridMouseUp.ts index d0b0ee978..a324a1795 100644 --- a/packages/web/src/views/Calendar/components/Draft/grid/hooks/useGridMouseUp.ts +++ b/packages/web/src/views/Calendar/components/Draft/grid/hooks/useGridMouseUp.ts @@ -1,4 +1,4 @@ -import { MouseEvent, useCallback } from "react"; +import { type MouseEvent, useCallback } from "react"; import { Categories_Event } from "@core/types/event.types"; import { getElemById } from "@web/common/utils/grid/grid.util"; import { selectDraftStatus } from "@web/ducks/events/selectors/draft.selectors"; diff --git a/packages/web/src/views/Calendar/components/Draft/hooks/actions/submit.parser.test.ts b/packages/web/src/views/Calendar/components/Draft/hooks/actions/submit.parser.test.ts index dcfefe216..c33712d94 100644 --- a/packages/web/src/views/Calendar/components/Draft/hooks/actions/submit.parser.test.ts +++ b/packages/web/src/views/Calendar/components/Draft/hooks/actions/submit.parser.test.ts @@ -1,7 +1,7 @@ import { Origin, Priorities } from "@core/constants/core.constants"; import { - Schema_GridEvent, - Schema_SomedayEvent, + type Schema_GridEvent, + type Schema_SomedayEvent, } from "@web/common/types/web.event.types"; import { OnSubmitParser, diff --git a/packages/web/src/views/Calendar/components/Draft/hooks/actions/submit.parser.ts b/packages/web/src/views/Calendar/components/Draft/hooks/actions/submit.parser.ts index 3dc41d50b..79b703138 100644 --- a/packages/web/src/views/Calendar/components/Draft/hooks/actions/submit.parser.ts +++ b/packages/web/src/views/Calendar/components/Draft/hooks/actions/submit.parser.ts @@ -1,8 +1,8 @@ import { Origin, Priorities } from "@core/constants/core.constants"; import { - Schema_GridEvent, - Schema_SomedayEvent, - Schema_WebEvent, + type Schema_GridEvent, + type Schema_SomedayEvent, + type Schema_WebEvent, } from "@web/common/types/web.event.types"; import { assembleGridEvent } from "@web/common/utils/event/event.util"; import { validateGridEvent } from "@web/common/validators/grid.event.validator"; diff --git a/packages/web/src/views/Calendar/components/Draft/hooks/actions/useDraftActions.ts b/packages/web/src/views/Calendar/components/Draft/hooks/actions/useDraftActions.ts index 4bf737712..7912316e0 100644 --- a/packages/web/src/views/Calendar/components/Draft/hooks/actions/useDraftActions.ts +++ b/packages/web/src/views/Calendar/components/Draft/hooks/actions/useDraftActions.ts @@ -1,5 +1,5 @@ import { ObjectId } from "bson"; -import { MouseEvent, useCallback } from "react"; +import { type MouseEvent, useCallback } from "react"; import { Priorities, SOMEDAY_WEEK_LIMIT_MSG, @@ -8,27 +8,27 @@ import { YEAR_MONTH_DAY_FORMAT } from "@core/constants/date.constants"; import { MapEvent } from "@core/mappers/map.event"; import { Categories_Event, - Recurrence, + type Recurrence, RecurringEventUpdateScope, - Schema_Event, - WithCompassId, + type Schema_Event, + type WithCompassId, } from "@core/types/event.types"; import { StringV4Schema } from "@core/types/type.utils"; import { devAlert } from "@core/util/app.util"; -import dayjs, { Dayjs } from "@core/util/date/dayjs"; +import dayjs, { type Dayjs } from "@core/util/date/dayjs"; import { DirtyParser } from "@web/common/parsers/dirty.parser"; import { EventInViewParser } from "@web/common/parsers/view.parser"; -import { PartialMouseEvent } from "@web/common/types/util.types"; +import { type PartialMouseEvent } from "@web/common/types/util.types"; import { - Schema_GridEvent, - Schema_WebEvent, + type Schema_GridEvent, + type Schema_WebEvent, } from "@web/common/types/web.event.types"; import { addId, assembleDefaultEvent, } from "@web/common/utils/event/event.util"; import { getX } from "@web/common/utils/grid/grid.util"; -import { Payload_EditEvent } from "@web/ducks/events/event.types"; +import { type Payload_EditEvent } from "@web/ducks/events/event.types"; import { selectDraft, selectDraftStatus, @@ -49,12 +49,12 @@ import { useAppDispatch, useAppSelector } from "@web/store/store.hooks"; import { OnSubmitParser } from "@web/views/Calendar/components/Draft/hooks/actions/submit.parser"; import { useDraftEffects } from "@web/views/Calendar/components/Draft/hooks/effects/useDraftEffects"; import { - Setters_Draft, - State_Draft_Local, - Status_Drag, + type Setters_Draft, + type State_Draft_Local, + type Status_Drag, } from "@web/views/Calendar/components/Draft/hooks/state/useDraftState"; -import { DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; import { GRID_TIME_STEP } from "@web/views/Calendar/layout.constants"; export const useDraftActions = ( @@ -204,12 +204,12 @@ export const useDraftActions = ( const event: WithCompassId> = { ...draft, _id: draft!._id!, - user: draft!.user!, + user: draft!.user, isAllDay: false, isSomeday: true, startDate: start, endDate: end, - origin: draft!.origin!, + origin: draft!.origin, priority: draft?.priority ?? Priorities.UNASSIGNED, order: somedayWeekCount, }; @@ -539,9 +539,9 @@ export const useDraftActions = ( ..._draft!, _id: _draft!._id!, hasFlipped: justFlipped, - endDate: endDate!, - startDate: startDate!, - priority: draft!.priority, + endDate: endDate, + startDate: startDate, + priority: draft.priority, }; }); diff --git a/packages/web/src/views/Calendar/components/Draft/hooks/effects/useDraftEffects.ts b/packages/web/src/views/Calendar/components/Draft/hooks/effects/useDraftEffects.ts index 8d7018da6..2b2443e81 100644 --- a/packages/web/src/views/Calendar/components/Draft/hooks/effects/useDraftEffects.ts +++ b/packages/web/src/views/Calendar/components/Draft/hooks/effects/useDraftEffects.ts @@ -1,7 +1,10 @@ import { useEffect } from "react"; import dayjs from "@core/util/date/dayjs"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; -import { Setters_Draft, State_Draft_Local } from "../state/useDraftState"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { + type Setters_Draft, + type State_Draft_Local, +} from "../state/useDraftState"; export const useDraftEffects = ( state: State_Draft_Local, diff --git a/packages/web/src/views/Calendar/components/Draft/hooks/state/useDraftConfirmation.ts b/packages/web/src/views/Calendar/components/Draft/hooks/state/useDraftConfirmation.ts index dfb6d14e7..b948c8447 100644 --- a/packages/web/src/views/Calendar/components/Draft/hooks/state/useDraftConfirmation.ts +++ b/packages/web/src/views/Calendar/components/Draft/hooks/state/useDraftConfirmation.ts @@ -1,7 +1,7 @@ import { useCallback, useState } from "react"; import { RecurringEventUpdateScope } from "@core/types/event.types"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; -import { useDraftContext } from "@web/views/Calendar/components/Draft/context/useDraftContext"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type useDraftContext } from "@web/views/Calendar/components/Draft/context/useDraftContext"; export const useDraftConfirmation = ({ actions, diff --git a/packages/web/src/views/Calendar/components/Draft/hooks/state/useDraftForm.ts b/packages/web/src/views/Calendar/components/Draft/hooks/state/useDraftForm.ts index d5a1a7b23..b303416fc 100644 --- a/packages/web/src/views/Calendar/components/Draft/hooks/state/useDraftForm.ts +++ b/packages/web/src/views/Calendar/components/Draft/hooks/state/useDraftForm.ts @@ -1,5 +1,5 @@ -import { OpenChangeReason } from "@floating-ui/react"; -import { Categories_Event } from "@core/types/event.types"; +import { type OpenChangeReason } from "@floating-ui/react"; +import { type Categories_Event } from "@core/types/event.types"; import { isSomedayEventActionMenuOpen } from "@web/common/utils/event/someday.event.util"; import { isContextMenuOpen } from "@web/common/utils/form/form.util"; import { useEventForm } from "@web/views/Forms/hooks/useEventForm"; diff --git a/packages/web/src/views/Calendar/components/Draft/hooks/state/useDraftState.ts b/packages/web/src/views/Calendar/components/Draft/hooks/state/useDraftState.ts index 42f3faccb..5c5c1378e 100644 --- a/packages/web/src/views/Calendar/components/Draft/hooks/state/useDraftState.ts +++ b/packages/web/src/views/Calendar/components/Draft/hooks/state/useDraftState.ts @@ -1,5 +1,5 @@ -import { Dispatch, SetStateAction, useState } from "react"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Dispatch, type SetStateAction, useState } from "react"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; export interface Status_Drag { durationMin: number; diff --git a/packages/web/src/views/Calendar/components/Draft/sidebar/context/SidebarDraftContext.tsx b/packages/web/src/views/Calendar/components/Draft/sidebar/context/SidebarDraftContext.tsx index c99e3c3b6..c2becce30 100644 --- a/packages/web/src/views/Calendar/components/Draft/sidebar/context/SidebarDraftContext.tsx +++ b/packages/web/src/views/Calendar/components/Draft/sidebar/context/SidebarDraftContext.tsx @@ -1,6 +1,9 @@ import { createContext } from "react"; -import { Actions_Sidebar } from "../hooks/useSidebarActions"; -import { Setters_Sidebar, State_Sidebar } from "../hooks/useSidebarState"; +import { type Actions_Sidebar } from "../hooks/useSidebarActions"; +import { + type Setters_Sidebar, + type State_Sidebar, +} from "../hooks/useSidebarState"; export interface SidebarDraftContextValue { state: State_Sidebar; diff --git a/packages/web/src/views/Calendar/components/Draft/sidebar/context/SidebarDraftProvider.tsx b/packages/web/src/views/Calendar/components/Draft/sidebar/context/SidebarDraftProvider.tsx index 97fa17ad6..48b1af519 100644 --- a/packages/web/src/views/Calendar/components/Draft/sidebar/context/SidebarDraftProvider.tsx +++ b/packages/web/src/views/Calendar/components/Draft/sidebar/context/SidebarDraftProvider.tsx @@ -1,6 +1,6 @@ -import { ReactNode } from "react"; -import { DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type ReactNode } from "react"; +import { type DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; import { useSidebarActions } from "../hooks/useSidebarActions"; import { useSidebarEffects } from "../hooks/useSidebarEffects"; import { useSidebarState } from "../hooks/useSidebarState"; diff --git a/packages/web/src/views/Calendar/components/Draft/sidebar/hooks/MigrationToast.tsx b/packages/web/src/views/Calendar/components/Draft/sidebar/hooks/MigrationToast.tsx index 93d8612cb..04bda1784 100644 --- a/packages/web/src/views/Calendar/components/Draft/sidebar/hooks/MigrationToast.tsx +++ b/packages/web/src/views/Calendar/components/Draft/sidebar/hooks/MigrationToast.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import type React from "react"; import { toast } from "react-toastify"; import { toastDefaultOptions } from "@web/common/constants/toast.constants"; diff --git a/packages/web/src/views/Calendar/components/Draft/sidebar/hooks/useSidebarActions.ts b/packages/web/src/views/Calendar/components/Draft/sidebar/hooks/useSidebarActions.ts index 2998cd014..f0b580fe1 100644 --- a/packages/web/src/views/Calendar/components/Draft/sidebar/hooks/useSidebarActions.ts +++ b/packages/web/src/views/Calendar/components/Draft/sidebar/hooks/useSidebarActions.ts @@ -1,6 +1,6 @@ import { ObjectId } from "bson"; import { useCallback, useMemo } from "react"; -import { DropResult } from "@hello-pangea/dnd"; +import { type DropResult } from "@hello-pangea/dnd"; import { SOMEDAY_MONTH_LIMIT_MSG, SOMEDAY_WEEK_LIMIT_MSG, @@ -8,20 +8,20 @@ import { import { YEAR_MONTH_DAY_FORMAT } from "@core/constants/date.constants"; import { Categories_Event, - Direction_Migrate, + type Direction_Migrate, RecurringEventUpdateScope, - Schema_Event, + type Schema_Event, } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; import { getUserId } from "@web/auth/auth.util"; import { COLUMN_MONTH, - COLUMN_WEEK, + type COLUMN_WEEK, ID_SOMEDAY_DRAFT, } from "@web/common/constants/web.constants"; import { getPointerPosition } from "@web/common/context/pointer-position"; import { DirtyParser } from "@web/common/parsers/dirty.parser"; -import { Schema_WebEvent } from "@web/common/types/web.event.types"; +import { type Schema_WebEvent } from "@web/common/types/web.event.types"; import { computeCurrentEventDateRange, computeRelativeEventDateRange, @@ -42,7 +42,7 @@ import { } from "@web/ducks/events/selectors/someday.selectors"; import { selectDatesInView } from "@web/ducks/events/selectors/view.selectors"; import { draftSlice } from "@web/ducks/events/slices/draft.slice"; -import { Activity_DraftEvent } from "@web/ducks/events/slices/draft.slice.types"; +import { type Activity_DraftEvent } from "@web/ducks/events/slices/draft.slice.types"; import { createEventSlice, editEventSlice, @@ -52,11 +52,11 @@ import { useAppDispatch, useAppSelector } from "@web/store/store.hooks"; import { parseSomedayEventBeforeSubmit } from "@web/views/Calendar/components/Draft/hooks/actions/submit.parser"; import { showMigrationToast } from "@web/views/Calendar/components/Draft/sidebar/hooks/MigrationToast"; import { - Setters_Sidebar, - State_Sidebar, + type Setters_Sidebar, + type State_Sidebar, } from "@web/views/Calendar/components/Draft/sidebar/hooks/useSidebarState"; -import { DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; interface SomedayEventsColumns { [COLUMN_WEEK]: { diff --git a/packages/web/src/views/Calendar/components/Draft/sidebar/hooks/useSidebarEffects.ts b/packages/web/src/views/Calendar/components/Draft/sidebar/hooks/useSidebarEffects.ts index a2c910c10..142557368 100644 --- a/packages/web/src/views/Calendar/components/Draft/sidebar/hooks/useSidebarEffects.ts +++ b/packages/web/src/views/Calendar/components/Draft/sidebar/hooks/useSidebarEffects.ts @@ -1,8 +1,8 @@ import { useEffect } from "react"; import { selectIsDNDing } from "@web/ducks/events/selectors/draft.selectors"; import { useAppSelector } from "@web/store/store.hooks"; -import { Actions_Sidebar } from "./useSidebarActions"; -import { State_Sidebar } from "./useSidebarState"; +import { type Actions_Sidebar } from "./useSidebarActions"; +import { type State_Sidebar } from "./useSidebarState"; export const useSidebarEffects = ( state: State_Sidebar, diff --git a/packages/web/src/views/Calendar/components/Draft/sidebar/hooks/useSidebarState.ts b/packages/web/src/views/Calendar/components/Draft/sidebar/hooks/useSidebarState.ts index e48161655..32cc00ce6 100644 --- a/packages/web/src/views/Calendar/components/Draft/sidebar/hooks/useSidebarState.ts +++ b/packages/web/src/views/Calendar/components/Draft/sidebar/hooks/useSidebarState.ts @@ -1,5 +1,5 @@ import { useEffect, useState } from "react"; -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; import { COLUMN_MONTH, COLUMN_WEEK } from "@web/common/constants/web.constants"; import { usePointerPosition } from "@web/common/hooks/usePointerPosition"; import { usePointerState } from "@web/common/hooks/usePointerState"; @@ -26,10 +26,8 @@ export const useSidebarState = () => { const { togglePointerMovementTracking } = usePointerPosition(); const { isOverAllDayRow, isOverGrid, isOverMainGrid } = usePointerState(); - const somedayWeekIds = somedayEvents.columns[COLUMN_WEEK] - .eventIds as string[]; - const somedayMonthIds = somedayEvents.columns[COLUMN_MONTH] - .eventIds as string[]; + const somedayWeekIds = somedayEvents.columns[COLUMN_WEEK].eventIds; + const somedayMonthIds = somedayEvents.columns[COLUMN_MONTH].eventIds; const somedayIds = [...somedayWeekIds, ...somedayMonthIds]; const isDraftingNew = diff --git a/packages/web/src/views/Calendar/components/Event/Grid/GridEvent/GridEvent.test.tsx b/packages/web/src/views/Calendar/components/Event/Grid/GridEvent/GridEvent.test.tsx index 1de986dd1..3a6f1eea4 100644 --- a/packages/web/src/views/Calendar/components/Event/Grid/GridEvent/GridEvent.test.tsx +++ b/packages/web/src/views/Calendar/components/Event/Grid/GridEvent/GridEvent.test.tsx @@ -2,10 +2,10 @@ import { screen } from "@testing-library/react"; import { createMockStandaloneEvent } from "@core/util/test/ccal.event.factory"; import { render } from "@web/__tests__/__mocks__/mock.render"; import { createInitialState } from "@web/__tests__/utils/state/store.test.util"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { gridEventDefaultPosition } from "@web/common/utils/event/event.util"; -import { Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; import { GridEventMemo } from "./GridEvent"; const createMockGridEvent = ( diff --git a/packages/web/src/views/Calendar/components/Event/Grid/GridEvent/GridEvent.tsx b/packages/web/src/views/Calendar/components/Event/Grid/GridEvent/GridEvent.tsx index 5eedce3a4..eb82e7c88 100644 --- a/packages/web/src/views/Calendar/components/Event/Grid/GridEvent/GridEvent.tsx +++ b/packages/web/src/views/Calendar/components/Event/Grid/GridEvent/GridEvent.tsx @@ -1,7 +1,7 @@ import { - ForwardedRef, - KeyboardEvent, - MouseEvent, + type ForwardedRef, + type KeyboardEvent, + type MouseEvent, forwardRef, memo, useMemo, @@ -12,7 +12,7 @@ import { DATA_EVENT_ELEMENT_ID, ZIndex, } from "@web/common/constants/web.constants"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { getTimesLabel } from "@web/common/utils/datetime/web.date.util"; import { getLineClamp } from "@web/common/utils/grid/grid.util"; import { isRightClick } from "@web/common/utils/mouse/mouse.util"; @@ -31,8 +31,8 @@ import { StyledEventScaler, StyledEventTitle, } from "@web/views/Calendar/components/Event/styled"; -import { Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; interface Props { event: Schema_GridEvent; @@ -146,10 +146,7 @@ const _GridEvent = ( <> {(isDraft || !isInPast) && ( - {getTimesLabel( - event.startDate as string, - event.endDate as string, - )} + {getTimesLabel(event.startDate, event.endDate)} )} <> diff --git a/packages/web/src/views/Calendar/components/Event/Grid/GridEventPreview/GridEventPreview.tsx b/packages/web/src/views/Calendar/components/Event/Grid/GridEventPreview/GridEventPreview.tsx index aa1b0518d..cfa476f60 100644 --- a/packages/web/src/views/Calendar/components/Event/Grid/GridEventPreview/GridEventPreview.tsx +++ b/packages/web/src/views/Calendar/components/Event/Grid/GridEventPreview/GridEventPreview.tsx @@ -1,7 +1,7 @@ -import { FC, memo, useCallback, useMemo } from "react"; +import { type FC, memo, useCallback, useMemo } from "react"; import { Priorities } from "@core/constants/core.constants"; import { DAY_COMPACT, DAY_HOUR_MIN_M } from "@core/constants/date.constants"; -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; import { useCursorCoordinates } from "@web/common/hooks/useCursorCoordinates"; import { getWidthBuffer } from "@web/common/utils/grid/grid.util"; import { Flex } from "@web/components/Flex"; @@ -17,12 +17,12 @@ import { layerStyles, } from "@web/views/Calendar/components/Event/Grid/GridEventPreview/styled"; import { SOMEDAY_EVENT_HEIGHT } from "@web/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEvent/styled"; -import { DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; +import { type DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; import { - Measurements_Grid, - Refs_Grid, + type Measurements_Grid, + type Refs_Grid, } from "@web/views/Calendar/hooks/grid/useGridLayout"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; import { EVENT_ALLDAY_GAP, EVENT_ALLDAY_HEIGHT, diff --git a/packages/web/src/views/Calendar/components/Event/Grid/GridEventPreview/snap.grid.test.ts b/packages/web/src/views/Calendar/components/Event/Grid/GridEventPreview/snap.grid.test.ts index b700e82d9..2025f1387 100644 --- a/packages/web/src/views/Calendar/components/Event/Grid/GridEventPreview/snap.grid.test.ts +++ b/packages/web/src/views/Calendar/components/Event/Grid/GridEventPreview/snap.grid.test.ts @@ -1,7 +1,7 @@ -import { Coordinates } from "@web/common/types/util.types"; +import { type Coordinates } from "@web/common/types/util.types"; import { - MeasureableElement, - Measurements_Grid, + type MeasureableElement, + type Measurements_Grid, } from "@web/views/Calendar/hooks/grid/useGridLayout"; import { MAIN_GRID_TIME_COLUMN_WIDTH, snapToGrid } from "./snap.grid"; diff --git a/packages/web/src/views/Calendar/components/Event/Grid/GridEventPreview/snap.grid.ts b/packages/web/src/views/Calendar/components/Event/Grid/GridEventPreview/snap.grid.ts index a605ae099..68a2209b7 100644 --- a/packages/web/src/views/Calendar/components/Event/Grid/GridEventPreview/snap.grid.ts +++ b/packages/web/src/views/Calendar/components/Event/Grid/GridEventPreview/snap.grid.ts @@ -1,5 +1,5 @@ import { roundToPrev } from "@web/common/utils/round/round.util"; -import { Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; +import { type Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; import { GRID_TIME_STEP } from "@web/views/Calendar/layout.constants"; export interface SnappedCoords { diff --git a/packages/web/src/views/Calendar/components/Event/Grid/GridEventPreview/styled.ts b/packages/web/src/views/Calendar/components/Event/Grid/GridEventPreview/styled.ts index af35f37d3..2879bb1a8 100644 --- a/packages/web/src/views/Calendar/components/Event/Grid/GridEventPreview/styled.ts +++ b/packages/web/src/views/Calendar/components/Event/Grid/GridEventPreview/styled.ts @@ -1,6 +1,6 @@ import type { CSSProperties } from "react"; import styled from "styled-components"; -import { Priority } from "@core/constants/core.constants"; +import { type Priority } from "@core/constants/core.constants"; import { ZIndex } from "@web/common/constants/web.constants"; import { theme } from "@web/common/styles/theme"; import { hoverColorByPriority } from "@web/common/styles/theme.util"; diff --git a/packages/web/src/views/Calendar/components/Event/styled.ts b/packages/web/src/views/Calendar/components/Event/styled.ts index 3c18a7a81..42a522cac 100644 --- a/packages/web/src/views/Calendar/components/Event/styled.ts +++ b/packages/web/src/views/Calendar/components/Event/styled.ts @@ -1,5 +1,5 @@ import styled from "styled-components"; -import { Priority } from "@core/constants/core.constants"; +import { type Priority } from "@core/constants/core.constants"; import { brighten, darken } from "@core/util/color.utils"; import { ZIndex } from "@web/common/constants/web.constants"; import { diff --git a/packages/web/src/views/Calendar/components/Grid/AllDayRow/AllDayEvent.tsx b/packages/web/src/views/Calendar/components/Grid/AllDayRow/AllDayEvent.tsx index e55a16dbb..f15c0c7b0 100644 --- a/packages/web/src/views/Calendar/components/Grid/AllDayRow/AllDayEvent.tsx +++ b/packages/web/src/views/Calendar/components/Grid/AllDayRow/AllDayEvent.tsx @@ -1,11 +1,11 @@ -import { KeyboardEvent, MouseEvent, memo } from "react"; +import { type KeyboardEvent, type MouseEvent, memo } from "react"; import { Priorities } from "@core/constants/core.constants"; import dayjs from "@core/util/date/dayjs"; import { DATA_EVENT_ELEMENT_ID, ZIndex, } from "@web/common/constants/web.constants"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { getEventPosition } from "@web/common/utils/position/position.util"; import { Flex } from "@web/components/Flex"; import { AlignItems, FlexDirections } from "@web/components/Flex/styled"; @@ -13,8 +13,8 @@ import { SpaceCharacter } from "@web/components/SpaceCharacter"; import { Text } from "@web/components/Text"; import { selectIsEventPending } from "@web/ducks/events/selectors/pending.selectors"; import { useAppSelector } from "@web/store/store.hooks"; -import { Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; import { StyledEvent, StyledEventHorizontalScaler } from "../../Event/styled"; interface Props { diff --git a/packages/web/src/views/Calendar/components/Grid/AllDayRow/AllDayEvents.test.tsx b/packages/web/src/views/Calendar/components/Grid/AllDayRow/AllDayEvents.test.tsx index e3feab31f..a3f31f567 100644 --- a/packages/web/src/views/Calendar/components/Grid/AllDayRow/AllDayEvents.test.tsx +++ b/packages/web/src/views/Calendar/components/Grid/AllDayRow/AllDayEvents.test.tsx @@ -2,10 +2,10 @@ import { screen } from "@testing-library/react"; import { createMockStandaloneEvent } from "@core/util/test/ccal.event.factory"; import { render } from "@web/__tests__/__mocks__/mock.render"; import { createInitialState } from "@web/__tests__/utils/state/store.test.util"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { gridEventDefaultPosition } from "@web/common/utils/event/event.util"; -import { Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; import { AllDayEvents } from "./AllDayEvents"; jest.mock("@web/views/Calendar/components/Grid/AllDayRow/AllDayEvent", () => ({ diff --git a/packages/web/src/views/Calendar/components/Grid/AllDayRow/AllDayEvents.tsx b/packages/web/src/views/Calendar/components/Grid/AllDayRow/AllDayEvents.tsx index 0aee09bc6..f80b6e5cc 100644 --- a/packages/web/src/views/Calendar/components/Grid/AllDayRow/AllDayEvents.tsx +++ b/packages/web/src/views/Calendar/components/Grid/AllDayRow/AllDayEvents.tsx @@ -1,8 +1,8 @@ import { useStore } from "react-redux"; import { Categories_Event } from "@core/types/event.types"; import { ID_GRID_EVENTS_ALLDAY } from "@web/common/constants/web.constants"; -import { PartialMouseEvent } from "@web/common/types/util.types"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type PartialMouseEvent } from "@web/common/types/util.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { getEventDragOffset } from "@web/common/utils/event/event.util"; import { isLeftClick } from "@web/common/utils/mouse/mouse.util"; import { Week_AsyncStateContextReason } from "@web/ducks/events/context/week.context"; @@ -15,8 +15,8 @@ import { useAppDispatch, useAppSelector } from "@web/store/store.hooks"; import { AllDayEventMemo } from "@web/views/Calendar/components/Grid/AllDayRow/AllDayEvent"; import { StyledEvents } from "@web/views/Calendar/components/Grid/AllDayRow/styled"; import { useGridEventMouseDown } from "@web/views/Calendar/hooks/grid/useGridEventMouseDown"; -import { Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; interface Props { measurements: Measurements_Grid; diff --git a/packages/web/src/views/Calendar/components/Grid/AllDayRow/AllDayRow.tsx b/packages/web/src/views/Calendar/components/Grid/AllDayRow/AllDayRow.tsx index 91af0c3fc..fc51549b0 100644 --- a/packages/web/src/views/Calendar/components/Grid/AllDayRow/AllDayRow.tsx +++ b/packages/web/src/views/Calendar/components/Grid/AllDayRow/AllDayRow.tsx @@ -1,4 +1,4 @@ -import React, { FC, MouseEvent, useEffect } from "react"; +import React, { type FC, type MouseEvent, useEffect } from "react"; import { YEAR_MONTH_DAY_FORMAT } from "@core/constants/date.constants"; import { Categories_Event } from "@core/types/event.types"; import { @@ -6,7 +6,7 @@ import { ID_GRID_ALLDAY_ROW, ID_GRID_MAIN, } from "@web/common/constants/web.constants"; -import { Ref_Callback } from "@web/common/types/util.types"; +import { type Ref_Callback } from "@web/common/types/util.types"; import { assembleDefaultEvent } from "@web/common/utils/event/event.util"; import { getX } from "@web/common/utils/grid/grid.util"; import { isRightClick } from "@web/common/utils/mouse/mouse.util"; @@ -14,9 +14,9 @@ import { selectIsDrafting } from "@web/ducks/events/selectors/draft.selectors"; import { selectRowCount } from "@web/ducks/events/selectors/event.selectors"; import { draftSlice } from "@web/ducks/events/slices/draft.slice"; import { useAppDispatch, useAppSelector } from "@web/store/store.hooks"; -import { DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; -import { Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; +import { type Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; import { StyledGridCol } from "../Columns/styled"; import { AllDayEvents } from "./AllDayEvents"; import { StyledAllDayColumns, StyledAllDayRow } from "./styled"; diff --git a/packages/web/src/views/Calendar/components/Grid/Columns/MainGridColumns.tsx b/packages/web/src/views/Calendar/components/Grid/Columns/MainGridColumns.tsx index e13e0c39c..accced8cf 100644 --- a/packages/web/src/views/Calendar/components/Grid/Columns/MainGridColumns.tsx +++ b/packages/web/src/views/Calendar/components/Grid/Columns/MainGridColumns.tsx @@ -1,6 +1,6 @@ -import React, { FC } from "react"; +import React, { type FC } from "react"; import { YEAR_MONTH_DAY_FORMAT } from "@core/constants/date.constants"; -import { Dayjs } from "@core/util/date/dayjs"; +import { type Dayjs } from "@core/util/date/dayjs"; import { theme } from "@web/common/styles/theme"; import { NowLine } from "@web/views/Calendar/components/NowLine"; import { TimesColumn } from "./TimesColumn"; diff --git a/packages/web/src/views/Calendar/components/Grid/Grid.tsx b/packages/web/src/views/Calendar/components/Grid/Grid.tsx index 9c09e59cd..3098b1d87 100644 --- a/packages/web/src/views/Calendar/components/Grid/Grid.tsx +++ b/packages/web/src/views/Calendar/components/Grid/Grid.tsx @@ -1,15 +1,15 @@ -import { FC } from "react"; -import { Dayjs } from "@core/util/date/dayjs"; +import { type FC } from "react"; +import { type Dayjs } from "@core/util/date/dayjs"; import { AllDayRow } from "@web/views/Calendar/components/Grid/AllDayRow"; import { MainGrid } from "@web/views/Calendar/components/Grid/MainGrid"; import { EdgeNavigationIndicators } from "@web/views/Calendar/components/Grid/MainGrid/EdgeNavigationIndicators"; -import { DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; +import { type DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; import { useDragEdgeNavigation } from "@web/views/Calendar/hooks/grid/useDragEdgeNavigation"; import { - Measurements_Grid, - Refs_Grid, + type Measurements_Grid, + type Refs_Grid, } from "@web/views/Calendar/hooks/grid/useGridLayout"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; import { GRID_PADDING_BOTTOM } from "../../layout.constants"; interface Props { diff --git a/packages/web/src/views/Calendar/components/Grid/MainGrid/EdgeNavigationIndicators/EdgeNavigationIndicators.tsx b/packages/web/src/views/Calendar/components/Grid/MainGrid/EdgeNavigationIndicators/EdgeNavigationIndicators.tsx index ed048622e..a6371c326 100644 --- a/packages/web/src/views/Calendar/components/Grid/MainGrid/EdgeNavigationIndicators/EdgeNavigationIndicators.tsx +++ b/packages/web/src/views/Calendar/components/Grid/MainGrid/EdgeNavigationIndicators/EdgeNavigationIndicators.tsx @@ -1,5 +1,5 @@ -import React, { FC } from "react"; -import { DragEdgeNavigationState } from "@web/views/Calendar/hooks/grid/useDragEdgeNavigation"; +import React, { type FC } from "react"; +import { type DragEdgeNavigationState } from "@web/views/Calendar/hooks/grid/useDragEdgeNavigation"; import { StyledEdgeZone, StyledNavigationIcon, diff --git a/packages/web/src/views/Calendar/components/Grid/MainGrid/MainGrid.tsx b/packages/web/src/views/Calendar/components/Grid/MainGrid/MainGrid.tsx index a91ff3afa..54c133857 100644 --- a/packages/web/src/views/Calendar/components/Grid/MainGrid/MainGrid.tsx +++ b/packages/web/src/views/Calendar/components/Grid/MainGrid/MainGrid.tsx @@ -1,6 +1,6 @@ -import { FC, MouseEvent, MutableRefObject } from "react"; +import { type FC, type MouseEvent, type MutableRefObject } from "react"; import { Categories_Event } from "@core/types/event.types"; -import { Dayjs } from "@core/util/date/dayjs"; +import { type Dayjs } from "@core/util/date/dayjs"; import { ID_GRID_MAIN } from "@web/common/constants/web.constants"; import { getHourLabels } from "@web/common/utils/datetime/web.date.util"; import { assembleDefaultEvent } from "@web/common/utils/event/event.util"; @@ -16,10 +16,10 @@ import { StyledGridWithTimeLabels, StyledMainGrid, } from "@web/views/Calendar/components/Grid/MainGrid/styled"; -import { DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; +import { type DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; import { useDragEventSmartScroll } from "@web/views/Calendar/hooks/grid/useDragEventSmartScroll"; -import { Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; import { DRAFT_DURATION_MIN } from "@web/views/Calendar/layout.constants"; interface Props { diff --git a/packages/web/src/views/Calendar/components/Grid/MainGrid/MainGridEvents.test.tsx b/packages/web/src/views/Calendar/components/Grid/MainGrid/MainGridEvents.test.tsx index 50ff8e49a..3c63fb96c 100644 --- a/packages/web/src/views/Calendar/components/Grid/MainGrid/MainGridEvents.test.tsx +++ b/packages/web/src/views/Calendar/components/Grid/MainGrid/MainGridEvents.test.tsx @@ -2,10 +2,10 @@ import { screen } from "@testing-library/react"; import { createMockStandaloneEvent } from "@core/util/test/ccal.event.factory"; import { render } from "@web/__tests__/__mocks__/mock.render"; import { createInitialState } from "@web/__tests__/utils/state/store.test.util"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { gridEventDefaultPosition } from "@web/common/utils/event/event.util"; -import { Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; import { MainGridEvents } from "./MainGridEvents"; jest.mock( diff --git a/packages/web/src/views/Calendar/components/Grid/MainGrid/MainGridEvents.tsx b/packages/web/src/views/Calendar/components/Grid/MainGrid/MainGridEvents.tsx index 630f5c3fc..e0d6a299a 100644 --- a/packages/web/src/views/Calendar/components/Grid/MainGrid/MainGridEvents.tsx +++ b/packages/web/src/views/Calendar/components/Grid/MainGrid/MainGridEvents.tsx @@ -1,8 +1,8 @@ import { useStore } from "react-redux"; import { Categories_Event } from "@core/types/event.types"; import { ID_GRID_EVENTS_TIMED } from "@web/common/constants/web.constants"; -import { PartialMouseEvent } from "@web/common/types/util.types"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type PartialMouseEvent } from "@web/common/types/util.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { getEventDragOffset } from "@web/common/utils/event/event.util"; import { adjustOverlappingEvents } from "@web/common/utils/overlap/overlap"; import { Week_AsyncStateContextReason } from "@web/ducks/events/context/week.context"; @@ -13,8 +13,8 @@ import { selectIsGetWeekEventsProcessingWithReason } from "@web/ducks/events/sel import { draftSlice } from "@web/ducks/events/slices/draft.slice"; import { useAppDispatch, useAppSelector } from "@web/store/store.hooks"; import { useGridEventMouseDown } from "@web/views/Calendar/hooks/grid/useGridEventMouseDown"; -import { Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; import { GridEventMemo } from "../../Event/Grid/GridEvent/GridEvent"; interface Props { diff --git a/packages/web/src/views/Calendar/components/Grid/grid.types.ts b/packages/web/src/views/Calendar/components/Grid/grid.types.ts index e95b85a5b..5b6a06046 100644 --- a/packages/web/src/views/Calendar/components/Grid/grid.types.ts +++ b/packages/web/src/views/Calendar/components/Grid/grid.types.ts @@ -1,4 +1,4 @@ -import { MutableRefObject } from "react"; +import { type MutableRefObject } from "react"; export interface GridPosition { height: number; diff --git a/packages/web/src/views/Calendar/components/Header/DayLabels.tsx b/packages/web/src/views/Calendar/components/Header/DayLabels.tsx index e46647e60..95558b425 100644 --- a/packages/web/src/views/Calendar/components/Header/DayLabels.tsx +++ b/packages/web/src/views/Calendar/components/Header/DayLabels.tsx @@ -1,5 +1,5 @@ -import React, { FC } from "react"; -import { Dayjs } from "@core/util/date/dayjs"; +import React, { type FC } from "react"; +import { type Dayjs } from "@core/util/date/dayjs"; import { theme } from "@web/common/styles/theme"; import { getWeekDayLabel } from "@web/common/utils/event/event.util"; import { AlignItems, JustifyContent } from "@web/components/Flex/styled"; diff --git a/packages/web/src/views/Calendar/components/Header/Header.tsx b/packages/web/src/views/Calendar/components/Header/Header.tsx index cf6c821c9..de2886b9d 100644 --- a/packages/web/src/views/Calendar/components/Header/Header.tsx +++ b/packages/web/src/views/Calendar/components/Header/Header.tsx @@ -1,5 +1,5 @@ -import { FC } from "react"; -import dayjs, { Dayjs } from "@core/util/date/dayjs"; +import { type FC } from "react"; +import dayjs, { type Dayjs } from "@core/util/date/dayjs"; import { theme } from "@web/common/styles/theme"; import { getCalendarHeadingLabel } from "@web/common/utils/datetime/web.date.util"; import { AccountIcon } from "@web/components/AuthModal/AccountIcon"; @@ -11,9 +11,9 @@ import { TooltipWrapper } from "@web/components/Tooltip/TooltipWrapper"; import { selectIsSidebarOpen } from "@web/ducks/events/selectors/view.selectors"; import { viewSlice } from "@web/ducks/events/slices/view.slice"; import { useAppDispatch, useAppSelector } from "@web/store/store.hooks"; -import { RootProps } from "../../calendarView.types"; -import { Util_Scroll } from "../../hooks/grid/useScroll"; -import { WeekProps } from "../../hooks/useWeek"; +import { type RootProps } from "../../calendarView.types"; +import { type Util_Scroll } from "../../hooks/grid/useScroll"; +import { type WeekProps } from "../../hooks/useWeek"; import { TodayButton } from "../TodayButton/TodayButton"; import { DayLabels } from "./DayLabels"; import { diff --git a/packages/web/src/views/Calendar/components/Header/Reminder/Reminder.tsx b/packages/web/src/views/Calendar/components/Header/Reminder/Reminder.tsx index 45dbdb9e0..7c83f79b4 100644 --- a/packages/web/src/views/Calendar/components/Header/Reminder/Reminder.tsx +++ b/packages/web/src/views/Calendar/components/Header/Reminder/Reminder.tsx @@ -1,5 +1,6 @@ -import React, { - ForwardedRef, +import { type ForwardedRef } from "react"; +import type React from "react"; +import { forwardRef, useCallback, useEffect, diff --git a/packages/web/src/views/Calendar/components/NowLine/NowLine.tsx b/packages/web/src/views/Calendar/components/NowLine/NowLine.tsx index 13b6715f6..912163f4e 100644 --- a/packages/web/src/views/Calendar/components/NowLine/NowLine.tsx +++ b/packages/web/src/views/Calendar/components/NowLine/NowLine.tsx @@ -1,4 +1,5 @@ -import React, { useEffect, useState } from "react"; +import type React from "react"; +import { useEffect, useState } from "react"; import { getCurrentPercentOfDay } from "@web/common/utils/grid/grid.util"; import { StyledNowLine } from "./styled"; diff --git a/packages/web/src/views/Calendar/components/Shortcuts.tsx b/packages/web/src/views/Calendar/components/Shortcuts.tsx index c71ea1660..c89187b54 100644 --- a/packages/web/src/views/Calendar/components/Shortcuts.tsx +++ b/packages/web/src/views/Calendar/components/Shortcuts.tsx @@ -1,5 +1,5 @@ import { - ShortcutProps, + type ShortcutProps, useWeekShortcuts, } from "@web/views/Calendar/hooks/shortcuts/useWeekShortcuts"; diff --git a/packages/web/src/views/Calendar/components/Sidebar/MonthTab/MonthPicker/SidebarMonthPicker.tsx b/packages/web/src/views/Calendar/components/Sidebar/MonthTab/MonthPicker/SidebarMonthPicker.tsx index 610779f14..e426412e1 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/MonthTab/MonthPicker/SidebarMonthPicker.tsx +++ b/packages/web/src/views/Calendar/components/Sidebar/MonthTab/MonthPicker/SidebarMonthPicker.tsx @@ -1,8 +1,8 @@ -import { FC, useEffect, useState } from "react"; +import { type FC, useEffect, useState } from "react"; import dayjs from "@core/util/date/dayjs"; import { ID_DATEPICKER_SIDEBAR } from "@web/common/constants/web.constants"; import { DatePicker } from "@web/components/DatePicker/DatePicker"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; import { MonthPickerContainer } from "./../styled"; interface Props { diff --git a/packages/web/src/views/Calendar/components/Sidebar/MonthTab/MonthTab.tsx b/packages/web/src/views/Calendar/components/Sidebar/MonthTab/MonthTab.tsx index 7bf8bfe1b..e9189543c 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/MonthTab/MonthTab.tsx +++ b/packages/web/src/views/Calendar/components/Sidebar/MonthTab/MonthTab.tsx @@ -1,5 +1,5 @@ -import React from "react"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import type React from "react"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; import { SidebarContent } from "../SomedayTab/styled"; import { SidebarMonthPicker } from "./MonthPicker/SidebarMonthPicker"; import { SubCalendarList } from "./SubCalendarList/SubCalendarList"; diff --git a/packages/web/src/views/Calendar/components/Sidebar/MonthTab/SubCalendarList/SubCalendarList.tsx b/packages/web/src/views/Calendar/components/Sidebar/MonthTab/SubCalendarList/SubCalendarList.tsx index a629e995e..9195a97b8 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/MonthTab/SubCalendarList/SubCalendarList.tsx +++ b/packages/web/src/views/Calendar/components/Sidebar/MonthTab/SubCalendarList/SubCalendarList.tsx @@ -1,4 +1,4 @@ -import React, { FC } from "react"; +import React, { type FC } from "react"; import { theme } from "@web/common/styles/theme"; import { Divider } from "@web/components/Divider"; import { Text } from "@web/components/Text"; diff --git a/packages/web/src/views/Calendar/components/Sidebar/Sidebar.render.test.tsx b/packages/web/src/views/Calendar/components/Sidebar/Sidebar.render.test.tsx index c0f35834e..bf9e90f38 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/Sidebar.render.test.tsx +++ b/packages/web/src/views/Calendar/components/Sidebar/Sidebar.render.test.tsx @@ -7,8 +7,8 @@ import { render } from "@web/__tests__/__mocks__/mock.render"; import { preloadedState } from "@web/__tests__/__mocks__/state/state.weekEvents"; import { DraftProvider } from "@web/views/Calendar/components/Draft/context/DraftProvider"; import { SidebarDraftProvider } from "@web/views/Calendar/components/Draft/sidebar/context/SidebarDraftProvider"; -import { DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; -import { Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; +import { type DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; +import { type Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; import { Sidebar } from "./Sidebar"; const mockProps = { diff --git a/packages/web/src/views/Calendar/components/Sidebar/Sidebar.tsx b/packages/web/src/views/Calendar/components/Sidebar/Sidebar.tsx index 59c945074..7ff33d23e 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/Sidebar.tsx +++ b/packages/web/src/views/Calendar/components/Sidebar/Sidebar.tsx @@ -1,13 +1,14 @@ -import React, { FC } from "react"; +import { type FC } from "react"; +import type React from "react"; import { ID_SIDEBAR } from "@web/common/constants/web.constants"; import { selectSidebarTab } from "@web/ducks/events/selectors/view.selectors"; import { useAppSelector } from "@web/store/store.hooks"; -import { DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; +import { type DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; import { - Measurements_Grid, - Refs_Grid, + type Measurements_Grid, + type Refs_Grid, } from "@web/views/Calendar/hooks/grid/useGridLayout"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; import { MonthTab } from "./MonthTab/MonthTab"; import { SidebarIconRow } from "./SidebarIconRow"; import { SomedayTab } from "./SomedayTab/SomedayTab"; diff --git a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/MonthSection/MonthSection.tsx b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/MonthSection/MonthSection.tsx index 614f3c6c9..b7930fc3e 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/MonthSection/MonthSection.tsx +++ b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/MonthSection/MonthSection.tsx @@ -1,14 +1,14 @@ -import React, { FC } from "react"; +import React, { type FC } from "react"; import { Categories_Event } from "@core/types/event.types"; import { getMonthListLabel } from "@web/common/utils/event/event.util"; import { AlignItems, JustifyContent } from "@web/components/Flex/styled"; import { Text } from "@web/components/Text"; -import { DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; +import { type DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; import { - Measurements_Grid, - Refs_Grid, + type Measurements_Grid, + type Refs_Grid, } from "@web/views/Calendar/hooks/grid/useGridLayout"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; import { SomedayEvents } from "../SomedayEvents/SomedayEvents"; import { SidebarHeader, SidebarSection } from "../styled"; diff --git a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/DraggableSomedayEvent/DraggableSomedayEvent.tsx b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/DraggableSomedayEvent/DraggableSomedayEvent.tsx index 29986360a..37d505cdd 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/DraggableSomedayEvent/DraggableSomedayEvent.tsx +++ b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/DraggableSomedayEvent/DraggableSomedayEvent.tsx @@ -1,6 +1,9 @@ -import React, { FC } from "react"; +import React, { type FC } from "react"; import { Draggable } from "@hello-pangea/dnd"; -import { Categories_Event, Schema_Event } from "@core/types/event.types"; +import { + type Categories_Event, + type Schema_Event, +} from "@core/types/event.types"; import { selectDatesInView } from "@web/ducks/events/selectors/view.selectors"; import { useAppSelector } from "@web/store/store.hooks"; import { useSidebarContext } from "@web/views/Calendar/components/Draft/sidebar/context/useSidebarContext"; diff --git a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/DraggableSomedayEvent/DraggableSomedayEvents.tsx b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/DraggableSomedayEvent/DraggableSomedayEvents.tsx index 0724e72fa..d4b91ccad 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/DraggableSomedayEvent/DraggableSomedayEvents.tsx +++ b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/DraggableSomedayEvent/DraggableSomedayEvents.tsx @@ -1,5 +1,8 @@ -import { FC, memo } from "react"; -import { Categories_Event, Schema_Event } from "@core/types/event.types"; +import { type FC, memo } from "react"; +import { + type Categories_Event, + type Schema_Event, +} from "@core/types/event.types"; import { ID_SOMEDAY_DRAFT } from "@web/common/constants/web.constants"; import { DraggableSomedayEvent } from "./DraggableSomedayEvent"; diff --git a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEvent/SomedayEvent.tsx b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEvent/SomedayEvent.tsx index 567f1762b..d23020351 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEvent/SomedayEvent.tsx +++ b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEvent/SomedayEvent.tsx @@ -1,10 +1,16 @@ -import React from "react"; -import { DraggableProvided, DraggableStateSnapshot } from "@hello-pangea/dnd"; -import { Priorities } from "@core/constants/core.constants"; -import { Categories_Event, Schema_Event } from "@core/types/event.types"; +import type React from "react"; +import { + type DraggableProvided, + type DraggableStateSnapshot, +} from "@hello-pangea/dnd"; +import { type Priorities } from "@core/constants/core.constants"; +import { + type Categories_Event, + type Schema_Event, +} from "@core/types/event.types"; import { DATA_EVENT_ELEMENT_ID } from "@web/common/constants/web.constants"; -import { Props_DraftForm } from "@web/views/Calendar/components/Draft/hooks/state/useDraftForm"; -import { Actions_Sidebar } from "@web/views/Calendar/components/Draft/sidebar/hooks/useSidebarActions"; +import { type Props_DraftForm } from "@web/views/Calendar/components/Draft/hooks/state/useDraftForm"; +import { type Actions_Sidebar } from "@web/views/Calendar/components/Draft/sidebar/hooks/useSidebarActions"; import { SomedayEventRectangle } from "../SomedayEventContainer/SomedayEventRectangle"; import { StyledNewSomedayEvent, getStyle } from "./styled"; diff --git a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEvent/styled.ts b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEvent/styled.ts index 1c1239580..4b1ad2c0a 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEvent/styled.ts +++ b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEvent/styled.ts @@ -1,7 +1,10 @@ import styled from "styled-components"; -import { DraggableStateSnapshot, DroppableProvided } from "@hello-pangea/dnd"; -import { DraggableStyle } from "@hello-pangea/dnd"; -import { Priorities } from "@core/constants/core.constants"; +import { + type DraggableStateSnapshot, + type DroppableProvided, +} from "@hello-pangea/dnd"; +import { type DraggableStyle } from "@hello-pangea/dnd"; +import { type Priorities } from "@core/constants/core.constants"; import { brighten } from "@core/util/color.utils"; import { colorByPriority, diff --git a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEventContainer/SomedayEventContainer.test.tsx b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEventContainer/SomedayEventContainer.test.tsx index 7bab3403a..5bfccca24 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEventContainer/SomedayEventContainer.test.tsx +++ b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEventContainer/SomedayEventContainer.test.tsx @@ -1,11 +1,14 @@ import React from "react"; -import { DraggableProvided, DraggableStateSnapshot } from "@hello-pangea/dnd"; +import { + type DraggableProvided, + type DraggableStateSnapshot, +} from "@hello-pangea/dnd"; import "@testing-library/jest-dom"; import { LEARN_CHINESE } from "@core/__mocks__/v1/events/events.misc"; import { Categories_Event, RecurringEventUpdateScope, - Schema_Event, + type Schema_Event, } from "@core/types/event.types"; import { createMockBaseEvent } from "@core/util/test/ccal.event.factory"; import { fireEvent, render } from "@web/__tests__/__mocks__/mock.render"; @@ -81,7 +84,7 @@ describe("SomedayEventContainer keyboard interactions", () => { const btn = document.querySelector( `[data-event-id="${LEARN_CHINESE._id}"]`, - )! as HTMLElement; + )!; btn.focus(); fireEvent.keyDown(btn, { key: "Enter" }); @@ -148,7 +151,7 @@ describe("SomedayEventContainer keyboard interactions", () => { const btn = document.querySelector( `[data-event-id="${LEARN_CHINESE._id}"]`, - )! as HTMLElement; + )!; btn.focus(); fireEvent.keyDown(btn, { key: "ArrowUp", metaKey: true, ctrlKey: true }); @@ -213,7 +216,7 @@ describe("SomedayEventContainer keyboard interactions", () => { const btn = document.querySelector( `[data-event-id="${LEARN_CHINESE._id}"]`, - )! as HTMLElement; + )!; btn.focus(); fireEvent.keyDown(btn, { key: "ArrowDown", metaKey: true, ctrlKey: true }); diff --git a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEventContainer/SomedayEventContainer.tsx b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEventContainer/SomedayEventContainer.tsx index 9347cb132..1d0386870 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEventContainer/SomedayEventContainer.tsx +++ b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEventContainer/SomedayEventContainer.tsx @@ -1,19 +1,23 @@ -import React, { useState } from "react"; +import type React from "react"; +import { useState } from "react"; import { toast } from "react-toastify"; import { Key } from "ts-key-enum"; import { FloatingFocusManager, FloatingPortal } from "@floating-ui/react"; -import { DraggableProvided, DraggableStateSnapshot } from "@hello-pangea/dnd"; +import { + type DraggableProvided, + type DraggableStateSnapshot, +} from "@hello-pangea/dnd"; import { Priorities } from "@core/constants/core.constants"; import { Categories_Event, RecurringEventUpdateScope, - Schema_Event, + type Schema_Event, } from "@core/types/event.types"; import { computeCurrentEventDateRange } from "@web/common/utils/datetime/web.date.util"; import { useDraftForm } from "@web/views/Calendar/components/Draft/hooks/state/useDraftForm"; -import { SidebarDraftContextValue } from "@web/views/Calendar/components/Draft/sidebar/context/SidebarDraftContext"; +import { type SidebarDraftContextValue } from "@web/views/Calendar/components/Draft/sidebar/context/SidebarDraftContext"; import { useSidebarContext } from "@web/views/Calendar/components/Draft/sidebar/context/useSidebarContext"; -import { Setters_Sidebar } from "@web/views/Calendar/components/Draft/sidebar/hooks/useSidebarState"; +import { type Setters_Sidebar } from "@web/views/Calendar/components/Draft/sidebar/hooks/useSidebarState"; import { SomedayEvent } from "@web/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEvent/SomedayEvent"; import { SIDEBAR_OPEN_WIDTH } from "@web/views/Calendar/layout.constants"; import { SomedayEventForm } from "@web/views/Forms/SomedayEventForm/SomedayEventForm"; diff --git a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEventContainer/SomedayEventRectangle.tsx b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEventContainer/SomedayEventRectangle.tsx index 06629b224..15fd46b16 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEventContainer/SomedayEventRectangle.tsx +++ b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEventContainer/SomedayEventRectangle.tsx @@ -1,4 +1,4 @@ -import { Categories_Event, Schema_Event } from "@core/types/event.types"; +import { Categories_Event, type Schema_Event } from "@core/types/event.types"; import { Flex } from "@web/components/Flex"; import { AlignItems, @@ -6,8 +6,8 @@ import { JustifyContent, } from "@web/components/Flex/styled"; import { Text } from "@web/components/Text"; -import { Props_DraftForm } from "@web/views/Calendar/components/Draft/context/DraftContext"; -import { Actions_Sidebar } from "@web/views/Calendar/components/Draft/sidebar/hooks/useSidebarActions"; +import { type Props_DraftForm } from "@web/views/Calendar/components/Draft/context/DraftContext"; +import { type Actions_Sidebar } from "@web/views/Calendar/components/Draft/sidebar/hooks/useSidebarActions"; import { StyledMigrateArrow, StyledRecurrenceText } from "./styled"; interface Props { diff --git a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEvents.tsx b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEvents.tsx index d3052c50f..45eb8bbab 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEvents.tsx +++ b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEvents.tsx @@ -1,4 +1,4 @@ -import { FC } from "react"; +import { type FC } from "react"; import { Categories_Event } from "@core/types/event.types"; import { COLUMN_MONTH, COLUMN_WEEK } from "@web/common/constants/web.constants"; import { selectDraftCategory } from "@web/ducks/events/selectors/draft.selectors"; @@ -7,12 +7,12 @@ import { useSidebarContext } from "@web/views/Calendar/components/Draft/sidebar/ import { GridEventPreview } from "@web/views/Calendar/components/Event/Grid/GridEventPreview/GridEventPreview"; import { SomedayEventsContainer } from "@web/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEventsContainer/SomedayEventsContainer"; import { SidebarList } from "@web/views/Calendar/components/Sidebar/styled"; -import { DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; +import { type DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; import { - Measurements_Grid, - Refs_Grid, + type Measurements_Grid, + type Refs_Grid, } from "@web/views/Calendar/hooks/grid/useGridLayout"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; interface Props { category: Categories_Event; diff --git a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEventsContainer/SomedayEventsContainer.tsx b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEventsContainer/SomedayEventsContainer.tsx index b3111c834..80a1ec0d6 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEventsContainer/SomedayEventsContainer.tsx +++ b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEventsContainer/SomedayEventsContainer.tsx @@ -1,4 +1,5 @@ -import React, { FC } from "react"; +import { type FC } from "react"; +import type React from "react"; import { Droppable } from "@hello-pangea/dnd"; import { Categories_Event } from "@core/types/event.types"; import { @@ -10,7 +11,7 @@ import { TooltipWrapper } from "@web/components/Tooltip/TooltipWrapper"; import { selectDraftCategory } from "@web/ducks/events/selectors/draft.selectors"; import { useAppSelector } from "@web/store/store.hooks"; import { useSidebarContext } from "@web/views/Calendar/components/Draft/sidebar/context/useSidebarContext"; -import { State_Sidebar } from "@web/views/Calendar/components/Draft/sidebar/hooks/useSidebarState"; +import { type State_Sidebar } from "@web/views/Calendar/components/Draft/sidebar/hooks/useSidebarState"; import { DraggableSomedayEvent } from "@web/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/DraggableSomedayEvent/DraggableSomedayEvent"; import { DraggableSomedayEvents } from "@web/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/DraggableSomedayEvent/DraggableSomedayEvents"; import { AddSomedayEvent } from "@web/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEventsContainer/AddSomedayEvent"; diff --git a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayTab.tsx b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayTab.tsx index 5f6d5a139..b0c1ca3bf 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayTab.tsx +++ b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/SomedayTab.tsx @@ -1,4 +1,4 @@ -import React, { FC, useRef } from "react"; +import React, { type FC, useRef } from "react"; import { DragDropContext } from "@hello-pangea/dnd"; import { theme } from "@web/common/styles/theme"; import { AbsoluteOverflowLoader } from "@web/components/AbsoluteOverflowLoader"; @@ -7,12 +7,12 @@ import { selectIsGetSomedayEventsProcessing } from "@web/ducks/events/selectors/ import { useAppSelector } from "@web/store/store.hooks"; import { useSidebarContext } from "@web/views/Calendar/components/Draft/sidebar/context/useSidebarContext"; import { useWeekLabel } from "@web/views/Calendar/components/Sidebar/SomedayTab/WeekSection/useWeekLabel"; -import { DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; +import { type DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; import { - Measurements_Grid, - Refs_Grid, + type Measurements_Grid, + type Refs_Grid, } from "@web/views/Calendar/hooks/grid/useGridLayout"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; import { MonthSection } from "./MonthSection/MonthSection"; import { WeekSection } from "./WeekSection/WeekSection"; import { SidebarContent } from "./styled"; diff --git a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/WeekSection/WeekSection.tsx b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/WeekSection/WeekSection.tsx index 051fc725d..330d97e7e 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/WeekSection/WeekSection.tsx +++ b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/WeekSection/WeekSection.tsx @@ -1,13 +1,13 @@ -import React, { FC } from "react"; +import React, { type FC } from "react"; import { Categories_Event } from "@core/types/event.types"; import { AlignItems, JustifyContent } from "@web/components/Flex/styled"; import { Text } from "@web/components/Text"; -import { DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; +import { type DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; import { - Measurements_Grid, - Refs_Grid, + type Measurements_Grid, + type Refs_Grid, } from "@web/views/Calendar/hooks/grid/useGridLayout"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; import { SomedayEvents } from "../SomedayEvents/SomedayEvents"; import { SidebarHeader, SidebarSection } from "../styled"; diff --git a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/WeekSection/useWeekLabel.test.tsx b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/WeekSection/useWeekLabel.test.tsx index 346353abd..5794f54fe 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/WeekSection/useWeekLabel.test.tsx +++ b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/WeekSection/useWeekLabel.test.tsx @@ -1,4 +1,4 @@ -import dayjs, { Dayjs } from "dayjs"; +import dayjs, { type Dayjs } from "dayjs"; import "@testing-library/jest-dom"; import { getSomedayWeekLabel, diff --git a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/WeekSection/useWeekLabel.ts b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/WeekSection/useWeekLabel.ts index 39ebf60e9..a0c4c5947 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/WeekSection/useWeekLabel.ts +++ b/packages/web/src/views/Calendar/components/Sidebar/SomedayTab/WeekSection/useWeekLabel.ts @@ -1,5 +1,5 @@ import { useMemo } from "react"; -import dayjs, { Dayjs } from "@core/util/date/dayjs"; +import dayjs, { type Dayjs } from "@core/util/date/dayjs"; import { getWeekRangeLabel } from "@web/common/utils/datetime/web.date.util"; import { useToday } from "@web/views/Calendar/hooks/useToday"; diff --git a/packages/web/src/views/Calendar/components/Sidebar/sidebar.types.ts b/packages/web/src/views/Calendar/components/Sidebar/sidebar.types.ts index 6e29b7104..c28738033 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/sidebar.types.ts +++ b/packages/web/src/views/Calendar/components/Sidebar/sidebar.types.ts @@ -1,4 +1,4 @@ -import { Priorities } from "@core/constants/core.constants"; +import { type Priorities } from "@core/constants/core.constants"; export interface FutureEventsProps { shouldSetTopMargin?: boolean; diff --git a/packages/web/src/views/Calendar/components/Sidebar/styled.ts b/packages/web/src/views/Calendar/components/Sidebar/styled.ts index a7cf5e189..4c2682117 100644 --- a/packages/web/src/views/Calendar/components/Sidebar/styled.ts +++ b/packages/web/src/views/Calendar/components/Sidebar/styled.ts @@ -5,7 +5,7 @@ import { PAGE_MARGIN_TOP, SIDEBAR_OPEN_WIDTH, } from "@web/views/Calendar/layout.constants"; -import { SectionProps } from "./sidebar.types"; +import { type SectionProps } from "./sidebar.types"; const ICON_ROW_HEIGHT = 40; diff --git a/packages/web/src/views/Calendar/hooks/grid/useDateCalcs.ts b/packages/web/src/views/Calendar/hooks/grid/useDateCalcs.ts index efce9f031..e3aab9af6 100644 --- a/packages/web/src/views/Calendar/hooks/grid/useDateCalcs.ts +++ b/packages/web/src/views/Calendar/hooks/grid/useDateCalcs.ts @@ -1,9 +1,9 @@ -import { MutableRefObject } from "react"; +import { type MutableRefObject } from "react"; import { HOURS_AM_FORMAT } from "@core/constants/date.constants"; -import dayjs, { Dayjs } from "@core/util/date/dayjs"; +import dayjs, { type Dayjs } from "@core/util/date/dayjs"; import { ACCEPTED_TIMES } from "@web/common/constants/web.constants"; import { roundToPrev } from "@web/common/utils/round/round.util"; -import { Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; +import { type Measurements_Grid } from "@web/views/Calendar/hooks/grid/useGridLayout"; import { GRID_TIME_STEP, GRID_X_START, diff --git a/packages/web/src/views/Calendar/hooks/grid/useDragEdgeNavigation.ts b/packages/web/src/views/Calendar/hooks/grid/useDragEdgeNavigation.ts index d817a6c1e..d7d124458 100644 --- a/packages/web/src/views/Calendar/hooks/grid/useDragEdgeNavigation.ts +++ b/packages/web/src/views/Calendar/hooks/grid/useDragEdgeNavigation.ts @@ -1,10 +1,10 @@ -import { MutableRefObject, useEffect, useRef, useState } from "react"; +import { type MutableRefObject, useEffect, useRef, useState } from "react"; import { selectIsDNDing } from "@web/ducks/events/selectors/draft.selectors"; import { useAppSelector } from "@web/store/store.hooks"; import { useDraftContext } from "@web/views/Calendar/components/Draft/context/useDraftContext"; -import { SidebarDraftContextValue } from "@web/views/Calendar/components/Draft/sidebar/context/SidebarDraftContext"; +import { type SidebarDraftContextValue } from "@web/views/Calendar/components/Draft/sidebar/context/SidebarDraftContext"; import { useSidebarContext } from "@web/views/Calendar/components/Draft/sidebar/context/useSidebarContext"; -import { WeekProps } from "../useWeek"; +import { type WeekProps } from "../useWeek"; const EDGE_THRESHOLD = 50; // pixels from edge to trigger navigation const NAVIGATION_DELAY = 500; // milliseconds to hold before navigating diff --git a/packages/web/src/views/Calendar/hooks/grid/useDragEventSmartScroll.ts b/packages/web/src/views/Calendar/hooks/grid/useDragEventSmartScroll.ts index 80acc4eee..61d95a26a 100644 --- a/packages/web/src/views/Calendar/hooks/grid/useDragEventSmartScroll.ts +++ b/packages/web/src/views/Calendar/hooks/grid/useDragEventSmartScroll.ts @@ -1,4 +1,4 @@ -import { MutableRefObject, useEffect, useRef, useState } from "react"; +import { type MutableRefObject, useEffect, useRef, useState } from "react"; import { useDraftContext } from "@web/views/Calendar/components/Draft/context/useDraftContext"; const SCROLL_SPEED = 10; diff --git a/packages/web/src/views/Calendar/hooks/grid/useGridEventMouseDown.test.ts b/packages/web/src/views/Calendar/hooks/grid/useGridEventMouseDown.test.ts index e3f9c1ceb..e9bb78c27 100644 --- a/packages/web/src/views/Calendar/hooks/grid/useGridEventMouseDown.test.ts +++ b/packages/web/src/views/Calendar/hooks/grid/useGridEventMouseDown.test.ts @@ -1,6 +1,6 @@ import { renderHook } from "@testing-library/react"; import { Categories_Event } from "@core/types/event.types"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import * as utils from "@web/common/utils/form/form.util"; import * as gridUtils from "@web/common/utils/grid/grid.util"; import { diff --git a/packages/web/src/views/Calendar/hooks/grid/useGridEventMouseDown.ts b/packages/web/src/views/Calendar/hooks/grid/useGridEventMouseDown.ts index ee1980a98..d51b23541 100644 --- a/packages/web/src/views/Calendar/hooks/grid/useGridEventMouseDown.ts +++ b/packages/web/src/views/Calendar/hooks/grid/useGridEventMouseDown.ts @@ -1,11 +1,11 @@ -import { MouseEvent as ReactMouseEvent, useRef } from "react"; +import { type MouseEvent as ReactMouseEvent, useRef } from "react"; import { Categories_Event } from "@core/types/event.types"; import { ID_GRID_ALLDAY_ROW, ID_GRID_MAIN, } from "@web/common/constants/web.constants"; -import { PartialMouseEvent } from "@web/common/types/util.types"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type PartialMouseEvent } from "@web/common/types/util.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { isEventFormOpen } from "@web/common/utils/form/form.util"; import { getElemById } from "@web/common/utils/grid/grid.util"; diff --git a/packages/web/src/views/Calendar/hooks/grid/useScroll.ts b/packages/web/src/views/Calendar/hooks/grid/useScroll.ts index 58103f44d..b03659e0d 100644 --- a/packages/web/src/views/Calendar/hooks/grid/useScroll.ts +++ b/packages/web/src/views/Calendar/hooks/grid/useScroll.ts @@ -1,4 +1,4 @@ -import { MutableRefObject, useCallback, useEffect } from "react"; +import { type MutableRefObject, useCallback, useEffect } from "react"; import { getCurrentMinute } from "@web/common/utils/grid/grid.util"; export const useScroll = ( diff --git a/packages/web/src/views/Calendar/hooks/mouse/useEventListener.ts b/packages/web/src/views/Calendar/hooks/mouse/useEventListener.ts index b6be8466a..0525074b8 100644 --- a/packages/web/src/views/Calendar/hooks/mouse/useEventListener.ts +++ b/packages/web/src/views/Calendar/hooks/mouse/useEventListener.ts @@ -1,4 +1,4 @@ -import { MouseEvent, useEffect, useRef } from "react"; +import { type MouseEvent, useEffect, useRef } from "react"; export const useEventListener = ( eventName: "mouseup" | "mousemove", diff --git a/packages/web/src/views/Calendar/hooks/shortcuts/useWeekShortcuts.ts b/packages/web/src/views/Calendar/hooks/shortcuts/useWeekShortcuts.ts index 8cd63426e..65c1aec4a 100644 --- a/packages/web/src/views/Calendar/hooks/shortcuts/useWeekShortcuts.ts +++ b/packages/web/src/views/Calendar/hooks/shortcuts/useWeekShortcuts.ts @@ -4,7 +4,7 @@ import { SOMEDAY_WEEK_LIMIT_MSG, } from "@core/constants/core.constants"; import { Categories_Event } from "@core/types/event.types"; -import { Dayjs } from "@core/util/date/dayjs"; +import { type Dayjs } from "@core/util/date/dayjs"; import { useKeyDownEvent, useKeyUpEvent, @@ -26,9 +26,9 @@ import { draftSlice } from "@web/ducks/events/slices/draft.slice"; import { viewSlice } from "@web/ducks/events/slices/view.slice"; import { useAppDispatch, useAppSelector } from "@web/store/store.hooks"; import { useSidebarContext } from "@web/views/Calendar/components/Draft/sidebar/context/useSidebarContext"; -import { DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; -import { Util_Scroll } from "@web/views/Calendar/hooks/grid/useScroll"; -import { WeekProps } from "@web/views/Calendar/hooks/useWeek"; +import { type DateCalcs } from "@web/views/Calendar/hooks/grid/useDateCalcs"; +import { type Util_Scroll } from "@web/views/Calendar/hooks/grid/useScroll"; +import { type WeekProps } from "@web/views/Calendar/hooks/useWeek"; export interface ShortcutProps { today: Dayjs; diff --git a/packages/web/src/views/Calendar/hooks/useWeek.ts b/packages/web/src/views/Calendar/hooks/useWeek.ts index 49d606ddb..c5a81b22c 100644 --- a/packages/web/src/views/Calendar/hooks/useWeek.ts +++ b/packages/web/src/views/Calendar/hooks/useWeek.ts @@ -1,5 +1,5 @@ import { useEffect, useMemo, useRef, useState } from "react"; -import { Dayjs } from "@core/util/date/dayjs"; +import { type Dayjs } from "@core/util/date/dayjs"; import { computeSomedayEventsRequestFilter, toUTCOffset, @@ -9,7 +9,7 @@ import { getSomedayEventsSlice } from "@web/ducks/events/slices/someday.slice"; import { updateDates } from "@web/ducks/events/slices/view.slice"; import { getWeekEventsSlice } from "@web/ducks/events/slices/week.slice"; import { useAppDispatch } from "@web/store/store.hooks"; -import { Category_View } from "@web/views/Calendar/calendarView.types"; +import { type Category_View } from "@web/views/Calendar/calendarView.types"; export type WeekNavigationSource = "manual" | "drag-to-edge"; diff --git a/packages/web/src/views/Calendar/styled.tsx b/packages/web/src/views/Calendar/styled.tsx index eb0bce4db..3c2e57738 100644 --- a/packages/web/src/views/Calendar/styled.tsx +++ b/packages/web/src/views/Calendar/styled.tsx @@ -1,4 +1,4 @@ -import { PropsWithChildren } from "react"; +import { type PropsWithChildren } from "react"; import styled from "styled-components"; import { ID_MAIN } from "@web/common/constants/web.constants"; import { Flex } from "@web/components/Flex"; diff --git a/packages/web/src/views/CmdPalette/CmdPalette.tsx b/packages/web/src/views/CmdPalette/CmdPalette.tsx index a994d3ac4..64dbb9490 100644 --- a/packages/web/src/views/CmdPalette/CmdPalette.tsx +++ b/packages/web/src/views/CmdPalette/CmdPalette.tsx @@ -25,7 +25,7 @@ import { draftSlice } from "@web/ducks/events/slices/draft.slice"; import { selectIsCmdPaletteOpen } from "@web/ducks/settings/selectors/settings.selectors"; import { settingsSlice } from "@web/ducks/settings/slices/settings.slice"; import { useAppDispatch, useAppSelector } from "@web/store/store.hooks"; -import { ShortcutProps } from "@web/views/Calendar/hooks/shortcuts/useWeekShortcuts"; +import { type ShortcutProps } from "@web/views/Calendar/hooks/shortcuts/useWeekShortcuts"; const CmdPalette = ({ today, diff --git a/packages/web/src/views/Day/components/AddTask/AddTaskActiveButton.tsx b/packages/web/src/views/Day/components/AddTask/AddTaskActiveButton.tsx index f9961496e..6698ac691 100644 --- a/packages/web/src/views/Day/components/AddTask/AddTaskActiveButton.tsx +++ b/packages/web/src/views/Day/components/AddTask/AddTaskActiveButton.tsx @@ -1,4 +1,5 @@ -import React, { RefObject } from "react"; +import { type RefObject } from "react"; +import type React from "react"; import { PlusIcon } from "../Icons/PlusIcon"; interface AddTaskActiveButtonProps { diff --git a/packages/web/src/views/Day/components/Agenda/Agenda.test.tsx b/packages/web/src/views/Day/components/Agenda/Agenda.test.tsx index 7afd57b58..79e9e7b91 100644 --- a/packages/web/src/views/Day/components/Agenda/Agenda.test.tsx +++ b/packages/web/src/views/Day/components/Agenda/Agenda.test.tsx @@ -1,7 +1,7 @@ import { act } from "react"; import "@testing-library/jest-dom"; import { screen, waitFor } from "@testing-library/react"; -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; import { renderAgenda, selectIsDayEventsProcessingSpy, diff --git a/packages/web/src/views/Day/components/Agenda/Agenda.tsx b/packages/web/src/views/Day/components/Agenda/Agenda.tsx index 1975cfd81..6bf7d8a05 100644 --- a/packages/web/src/views/Day/components/Agenda/Agenda.tsx +++ b/packages/web/src/views/Day/components/Agenda/Agenda.tsx @@ -8,7 +8,7 @@ import { setEntities, updateEntities, } from "@ngneat/elf-entities"; -import { Schema_Event, WithCompassId } from "@core/types/event.types"; +import { type Schema_Event, type WithCompassId } from "@core/types/event.types"; import { ID_GRID_EVENTS_TIMED } from "@web/common/constants/web.constants"; import { useCompassRefs } from "@web/common/hooks/useCompassRefs"; import { useFloatingAtCursor } from "@web/common/hooks/useFloatingAtCursor"; diff --git a/packages/web/src/views/Day/components/Agenda/Events/AgendaEventPreview/AgendaEventPreview.tsx b/packages/web/src/views/Day/components/Agenda/Events/AgendaEventPreview/AgendaEventPreview.tsx index 51e14d6c8..85ffaa5dc 100644 --- a/packages/web/src/views/Day/components/Agenda/Events/AgendaEventPreview/AgendaEventPreview.tsx +++ b/packages/web/src/views/Day/components/Agenda/Events/AgendaEventPreview/AgendaEventPreview.tsx @@ -2,8 +2,8 @@ import { useMemo } from "react"; import { useDndContext } from "@dnd-kit/core"; import { FloatingPortal, - UseInteractionsReturn, - useFloating, + type UseInteractionsReturn, + type useFloating, } from "@floating-ui/react"; import { useObservable } from "@ngneat/use-observable"; import { Priorities } from "@core/constants/core.constants"; diff --git a/packages/web/src/views/Day/components/Agenda/Events/AllDayAgendaEvent/AllDayAgendaEvent.test.tsx b/packages/web/src/views/Day/components/Agenda/Events/AllDayAgendaEvent/AllDayAgendaEvent.test.tsx index 4412443a7..f8450ff36 100644 --- a/packages/web/src/views/Day/components/Agenda/Events/AllDayAgendaEvent/AllDayAgendaEvent.test.tsx +++ b/packages/web/src/views/Day/components/Agenda/Events/AllDayAgendaEvent/AllDayAgendaEvent.test.tsx @@ -2,7 +2,7 @@ import dayjs from "dayjs"; import "@testing-library/jest-dom"; import { createMockStandaloneEvent } from "@core/util/test/ccal.event.factory"; import { render, screen } from "@web/__tests__/__mocks__/mock.render"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { gridEventDefaultPosition } from "@web/common/utils/event/event.util"; import { AllDayAgendaEvent } from "@web/views/Day/components/Agenda/Events/AllDayAgendaEvent/AllDayAgendaEvent"; diff --git a/packages/web/src/views/Day/components/Agenda/Events/AllDayAgendaEvent/AllDayAgendaEvent.tsx b/packages/web/src/views/Day/components/Agenda/Events/AllDayAgendaEvent/AllDayAgendaEvent.tsx index 1915ce940..93b05513a 100644 --- a/packages/web/src/views/Day/components/Agenda/Events/AllDayAgendaEvent/AllDayAgendaEvent.tsx +++ b/packages/web/src/views/Day/components/Agenda/Events/AllDayAgendaEvent/AllDayAgendaEvent.tsx @@ -6,8 +6,8 @@ import { darken, isDark } from "@core/util/color.utils"; import { ID_GRID_MAIN } from "@web/common/constants/web.constants"; import { useCompassRefs } from "@web/common/hooks/useCompassRefs"; import { colorByPriority } from "@web/common/styles/theme.util"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; -import { DNDChildProps } from "@web/components/DND/Draggable"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type DNDChildProps } from "@web/components/DND/Draggable"; export const AllDayAgendaEvent = memo( ({ diff --git a/packages/web/src/views/Day/components/Agenda/Events/AllDayAgendaEvent/AllDayAgendaEvents.tsx b/packages/web/src/views/Day/components/Agenda/Events/AllDayAgendaEvent/AllDayAgendaEvents.tsx index 6790110c0..1f0d7aa77 100644 --- a/packages/web/src/views/Day/components/Agenda/Events/AllDayAgendaEvent/AllDayAgendaEvents.tsx +++ b/packages/web/src/views/Day/components/Agenda/Events/AllDayAgendaEvent/AllDayAgendaEvents.tsx @@ -2,11 +2,11 @@ import classNames from "classnames"; import fastDeepEqual from "fast-deep-equal/react"; import { memo, useCallback } from "react"; import { Key } from "ts-key-enum"; -import { UseInteractionsReturn } from "@floating-ui/react"; +import { type UseInteractionsReturn } from "@floating-ui/react"; import { useObservable } from "@ngneat/use-observable"; import { ID_GRID_ALLDAY_ROW } from "@web/common/constants/web.constants"; import { useCompassRefs } from "@web/common/hooks/useCompassRefs"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { Droppable } from "@web/components/DND/Droppable"; import { selectPendingEventIds } from "@web/ducks/events/selectors/pending.selectors"; import { allDayEvents$ } from "@web/store/events"; @@ -70,7 +70,7 @@ const AllDayAgendaEventsComponent = ({ interactions={interactions} isDraftEvent={draft?._id === event._id} isNewDraftEvent={!events.find((e) => e._id === event?._id)} - isDisabled={pendingEventIds.includes(event._id!)} + isDisabled={pendingEventIds.includes(event._id)} /> ))} diff --git a/packages/web/src/views/Day/components/Agenda/Events/AllDayAgendaEvent/DraggableAllDayAgendaEvent.test.tsx b/packages/web/src/views/Day/components/Agenda/Events/AllDayAgendaEvent/DraggableAllDayAgendaEvent.test.tsx index 10fff951c..2f781928f 100644 --- a/packages/web/src/views/Day/components/Agenda/Events/AllDayAgendaEvent/DraggableAllDayAgendaEvent.test.tsx +++ b/packages/web/src/views/Day/components/Agenda/Events/AllDayAgendaEvent/DraggableAllDayAgendaEvent.test.tsx @@ -1,9 +1,9 @@ import { ObjectId } from "bson"; -import { UseInteractionsReturn } from "@floating-ui/react"; +import { type UseInteractionsReturn } from "@floating-ui/react"; import "@testing-library/jest-dom"; import { createMockStandaloneEvent } from "@core/util/test/ccal.event.factory"; import { render, screen } from "@web/__tests__/__mocks__/mock.render"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { gridEventDefaultPosition } from "@web/common/utils/event/event.util"; import { DraggableAllDayAgendaEvent } from "@web/views/Day/components/Agenda/Events/AllDayAgendaEvent/DraggableAllDayAgendaEvent"; diff --git a/packages/web/src/views/Day/components/Agenda/Events/AllDayAgendaEvent/DraggableAllDayAgendaEvent.tsx b/packages/web/src/views/Day/components/Agenda/Events/AllDayAgendaEvent/DraggableAllDayAgendaEvent.tsx index 865253681..4cccd71a1 100644 --- a/packages/web/src/views/Day/components/Agenda/Events/AllDayAgendaEvent/DraggableAllDayAgendaEvent.tsx +++ b/packages/web/src/views/Day/components/Agenda/Events/AllDayAgendaEvent/DraggableAllDayAgendaEvent.tsx @@ -1,7 +1,7 @@ import classNames from "classnames"; import fastDeepEqual from "fast-deep-equal/react"; import { memo } from "react"; -import { UseInteractionsReturn } from "@floating-ui/react"; +import { type UseInteractionsReturn } from "@floating-ui/react"; import { Categories_Event } from "@core/types/event.types"; import { CLASS_ALL_DAY_CALENDAR_EVENT } from "@web/common/constants/web.constants"; import { useIsDraggingEvent } from "@web/common/hooks/useIsDraggingEvent"; @@ -10,7 +10,7 @@ import { CursorItem, useFloatingNodeIdAtCursor, } from "@web/common/hooks/useOpenAtCursor"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { getEventCursorClass } from "@web/common/utils/event/event.util"; import { Draggable } from "@web/components/DND/Draggable"; import { AllDayAgendaEvent } from "@web/views/Day/components/Agenda/Events/AllDayAgendaEvent/AllDayAgendaEvent"; diff --git a/packages/web/src/views/Day/components/Agenda/Events/TimedAgendaEvent/DraggableTimedAgendaEvent.test.tsx b/packages/web/src/views/Day/components/Agenda/Events/TimedAgendaEvent/DraggableTimedAgendaEvent.test.tsx index 3b5797904..79320e426 100644 --- a/packages/web/src/views/Day/components/Agenda/Events/TimedAgendaEvent/DraggableTimedAgendaEvent.test.tsx +++ b/packages/web/src/views/Day/components/Agenda/Events/TimedAgendaEvent/DraggableTimedAgendaEvent.test.tsx @@ -1,5 +1,5 @@ import { ObjectId } from "bson"; -import { UseInteractionsReturn } from "@floating-ui/react"; +import { type UseInteractionsReturn } from "@floating-ui/react"; import "@testing-library/jest-dom"; import { fireEvent, screen } from "@testing-library/react"; import { createMockStandaloneEvent } from "@core/util/test/ccal.event.factory"; @@ -9,7 +9,7 @@ import { CursorItem, useFloatingNodeIdAtCursor, } from "@web/common/hooks/useOpenAtCursor"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { gridEventDefaultPosition } from "@web/common/utils/event/event.util"; import { DraggableTimedAgendaEvent } from "@web/views/Day/components/Agenda/Events/TimedAgendaEvent/DraggableTimedAgendaEvent"; import { useOpenAgendaEventPreview } from "@web/views/Day/hooks/events/useOpenAgendaEventPreview"; diff --git a/packages/web/src/views/Day/components/Agenda/Events/TimedAgendaEvent/DraggableTimedAgendaEvent.tsx b/packages/web/src/views/Day/components/Agenda/Events/TimedAgendaEvent/DraggableTimedAgendaEvent.tsx index d6c2b81ec..8f2278b36 100644 --- a/packages/web/src/views/Day/components/Agenda/Events/TimedAgendaEvent/DraggableTimedAgendaEvent.tsx +++ b/packages/web/src/views/Day/components/Agenda/Events/TimedAgendaEvent/DraggableTimedAgendaEvent.tsx @@ -1,11 +1,11 @@ import classNames from "classnames"; import fastDeepEqual from "fast-deep-equal/react"; import { memo } from "react"; -import { UseInteractionsReturn } from "@floating-ui/react"; +import { type UseInteractionsReturn } from "@floating-ui/react"; import { Categories_Event, - Schema_Event, - WithCompassId, + type Schema_Event, + type WithCompassId, } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; import { CLASS_TIMED_CALENDAR_EVENT } from "@web/common/constants/web.constants"; @@ -22,7 +22,7 @@ import { import { useResizeId } from "@web/common/hooks/useResizeId"; import { useResizing } from "@web/common/hooks/useResizing"; import { theme } from "@web/common/styles/theme"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { getEventCursorClass } from "@web/common/utils/event/event.util"; import { Draggable } from "@web/components/DND/Draggable"; import { Resizable } from "@web/components/DND/Resizable"; diff --git a/packages/web/src/views/Day/components/Agenda/Events/TimedAgendaEvent/TimedAgendaEvent.test.tsx b/packages/web/src/views/Day/components/Agenda/Events/TimedAgendaEvent/TimedAgendaEvent.test.tsx index cc7fcea4d..a5edb10c3 100644 --- a/packages/web/src/views/Day/components/Agenda/Events/TimedAgendaEvent/TimedAgendaEvent.test.tsx +++ b/packages/web/src/views/Day/components/Agenda/Events/TimedAgendaEvent/TimedAgendaEvent.test.tsx @@ -4,7 +4,7 @@ import { Priorities } from "@core/constants/core.constants"; import { createMockStandaloneEvent } from "@core/util/test/ccal.event.factory"; import { render } from "@web/__tests__/__mocks__/mock.render"; import { colorByPriority } from "@web/common/styles/theme.util"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { gridEventDefaultPosition } from "@web/common/utils/event/event.util"; import { TimedAgendaEvent } from "@web/views/Day/components/Agenda/Events/TimedAgendaEvent/TimedAgendaEvent"; diff --git a/packages/web/src/views/Day/components/Agenda/Events/TimedAgendaEvent/TimedAgendaEvent.tsx b/packages/web/src/views/Day/components/Agenda/Events/TimedAgendaEvent/TimedAgendaEvent.tsx index e7c54ad2c..0f6e29c27 100644 --- a/packages/web/src/views/Day/components/Agenda/Events/TimedAgendaEvent/TimedAgendaEvent.tsx +++ b/packages/web/src/views/Day/components/Agenda/Events/TimedAgendaEvent/TimedAgendaEvent.tsx @@ -7,8 +7,8 @@ import { ID_GRID_ALLDAY_ROW } from "@web/common/constants/web.constants"; import { useCompassRefs } from "@web/common/hooks/useCompassRefs"; import { theme } from "@web/common/styles/theme"; import { colorByPriority } from "@web/common/styles/theme.util"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; -import { DNDChildProps } from "@web/components/DND/Draggable"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type DNDChildProps } from "@web/components/DND/Draggable"; import { SLOT_HEIGHT } from "@web/views/Day/constants/day.constants"; import { getEventHeight } from "@web/views/Day/util/agenda/agenda.util"; diff --git a/packages/web/src/views/Day/components/Agenda/Events/TimedAgendaEvent/TimedAgendaEvents.tsx b/packages/web/src/views/Day/components/Agenda/Events/TimedAgendaEvent/TimedAgendaEvents.tsx index e19ce59c6..6e1981439 100644 --- a/packages/web/src/views/Day/components/Agenda/Events/TimedAgendaEvent/TimedAgendaEvents.tsx +++ b/packages/web/src/views/Day/components/Agenda/Events/TimedAgendaEvent/TimedAgendaEvents.tsx @@ -1,13 +1,13 @@ import fastDeepEqual from "fast-deep-equal/react"; -import { MouseEvent, memo, useCallback, useEffect } from "react"; +import { type MouseEvent, memo, useCallback, useEffect } from "react"; import { useLocation } from "react-router-dom"; -import { UseInteractionsReturn } from "@floating-ui/react"; +import { type UseInteractionsReturn } from "@floating-ui/react"; import { useObservable } from "@ngneat/use-observable"; import { ID_GRID_MAIN } from "@web/common/constants/web.constants"; import { useCompassRefs } from "@web/common/hooks/useCompassRefs"; import { useHasLoadedOnce } from "@web/common/hooks/useHasLoadedOnce"; import { useMainGridSelectionState } from "@web/common/hooks/useMainGridSelectionState"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { CompassDOMEvents, compassEventEmitter, @@ -78,7 +78,7 @@ export const TimedAgendaEvents = memo( interactions={interactions} isDraftEvent={draft?._id === event._id} isNewDraftEvent={!timedEvents.find((e) => e._id === event._id)} - isDisabled={pendingEventIds.includes(event._id!)} + isDisabled={pendingEventIds.includes(event._id)} /> )) )} diff --git a/packages/web/src/views/Day/components/ContextMenu/BaseContextMenu.tsx b/packages/web/src/views/Day/components/ContextMenu/BaseContextMenu.tsx index b1ec0013e..6fb49f4c2 100644 --- a/packages/web/src/views/Day/components/ContextMenu/BaseContextMenu.tsx +++ b/packages/web/src/views/Day/components/ContextMenu/BaseContextMenu.tsx @@ -1,12 +1,9 @@ import classNames from "classnames"; -import React, { - DetailedHTMLProps, - HTMLAttributes, - createElement, - forwardRef, -} from "react"; +import { type DetailedHTMLProps, type HTMLAttributes } from "react"; +import type React from "react"; +import { createElement, forwardRef } from "react"; import { - FloatingContext, + type FloatingContext, useClick, useDismiss, useInteractions, diff --git a/packages/web/src/views/Day/components/ContextMenu/EventContextMenu.test.tsx b/packages/web/src/views/Day/components/ContextMenu/EventContextMenu.test.tsx index 40806b328..fc11eefdb 100644 --- a/packages/web/src/views/Day/components/ContextMenu/EventContextMenu.test.tsx +++ b/packages/web/src/views/Day/components/ContextMenu/EventContextMenu.test.tsx @@ -2,9 +2,9 @@ import { ObjectId } from "bson"; import { act } from "react"; import { screen, waitFor } from "@testing-library/react"; import { Origin, Priorities } from "@core/constants/core.constants"; -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; import { renderAgenda } from "@web/__tests__/utils/agenda/agenda.test.util"; -import { AppDispatch } from "@web/store"; +import { type AppDispatch } from "@web/store"; import * as reduxHooks from "@web/store/store.hooks"; describe("EventContextMenu", () => { diff --git a/packages/web/src/views/Day/components/ContextMenu/EventContextMenu.tsx b/packages/web/src/views/Day/components/ContextMenu/EventContextMenu.tsx index df31778ea..dcc7486ef 100644 --- a/packages/web/src/views/Day/components/ContextMenu/EventContextMenu.tsx +++ b/packages/web/src/views/Day/components/ContextMenu/EventContextMenu.tsx @@ -1,8 +1,8 @@ import classNames from "classnames"; import { FloatingPortal, - UseInteractionsReturn, - useFloating, + type UseInteractionsReturn, + type useFloating, } from "@floating-ui/react"; import { useObservable } from "@ngneat/use-observable"; import { useGridMaxZIndex } from "@web/common/hooks/useGridMaxZIndex"; diff --git a/packages/web/src/views/Day/components/ContextMenu/EventContextMenuItems.test.tsx b/packages/web/src/views/Day/components/ContextMenu/EventContextMenuItems.test.tsx index 1df22765b..fcbec64f6 100644 --- a/packages/web/src/views/Day/components/ContextMenu/EventContextMenuItems.test.tsx +++ b/packages/web/src/views/Day/components/ContextMenu/EventContextMenuItems.test.tsx @@ -1,12 +1,12 @@ import { Provider } from "react-redux"; -import { BehaviorSubject } from "rxjs"; +import { type BehaviorSubject } from "rxjs"; import { configureStore } from "@reduxjs/toolkit"; import "@testing-library/jest-dom"; import { fireEvent, render, screen, waitFor } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import { RecurringEventUpdateScope, - Schema_Event, + type Schema_Event, } from "@core/types/event.types"; import { closeFloatingAtCursor } from "@web/common/hooks/useOpenAtCursor"; import { deleteEventSlice } from "@web/ducks/events/slices/event.slice"; diff --git a/packages/web/src/views/Day/components/ContextMenu/EventContextMenuItems.tsx b/packages/web/src/views/Day/components/ContextMenu/EventContextMenuItems.tsx index 04e46c1d5..235df5dc3 100644 --- a/packages/web/src/views/Day/components/ContextMenu/EventContextMenuItems.tsx +++ b/packages/web/src/views/Day/components/ContextMenu/EventContextMenuItems.tsx @@ -1,4 +1,5 @@ -import React, { useCallback } from "react"; +import type React from "react"; +import { useCallback } from "react"; import { TrashIcon } from "@phosphor-icons/react"; import { useDeleteEvent } from "@web/views/Forms/hooks/useDeleteEvent"; diff --git a/packages/web/src/views/Day/components/ContextMenu/TaskContextMenu.tsx b/packages/web/src/views/Day/components/ContextMenu/TaskContextMenu.tsx index 76c7eb3ce..9926de9f1 100644 --- a/packages/web/src/views/Day/components/ContextMenu/TaskContextMenu.tsx +++ b/packages/web/src/views/Day/components/ContextMenu/TaskContextMenu.tsx @@ -1,6 +1,6 @@ import React from "react"; -import { FloatingContext } from "@floating-ui/react"; -import { Task } from "../../../../common/types/task.types"; +import { type FloatingContext } from "@floating-ui/react"; +import { type Task } from "../../../../common/types/task.types"; import { BaseContextMenu } from "./BaseContextMenu"; import { TaskContextMenuItems } from "./TaskContextMenuItems"; diff --git a/packages/web/src/views/Day/components/ContextMenu/TaskContextMenuItems.tsx b/packages/web/src/views/Day/components/ContextMenu/TaskContextMenuItems.tsx index db56f8764..0017ba574 100644 --- a/packages/web/src/views/Day/components/ContextMenu/TaskContextMenuItems.tsx +++ b/packages/web/src/views/Day/components/ContextMenu/TaskContextMenuItems.tsx @@ -1,5 +1,5 @@ import { TrashIcon } from "@phosphor-icons/react"; -import { Task } from "@web/common/types/task.types"; +import { type Task } from "@web/common/types/task.types"; import { useTasks } from "@web/views/Day/hooks/tasks/useTasks"; interface Props { diff --git a/packages/web/src/views/Day/components/ContextMenu/TaskContextMenuWrapper.tsx b/packages/web/src/views/Day/components/ContextMenu/TaskContextMenuWrapper.tsx index bea5deee2..c069b756f 100644 --- a/packages/web/src/views/Day/components/ContextMenu/TaskContextMenuWrapper.tsx +++ b/packages/web/src/views/Day/components/ContextMenu/TaskContextMenuWrapper.tsx @@ -1,4 +1,5 @@ -import React, { useState } from "react"; +import type React from "react"; +import { useState } from "react"; import { autoUpdate, flip, @@ -6,7 +7,7 @@ import { shift, useFloating, } from "@floating-ui/react"; -import { Task } from "../../../../common/types/task.types"; +import { type Task } from "../../../../common/types/task.types"; import { useTasks } from "../../hooks/tasks/useTasks"; import { getTaskIdFromElement } from "../../util/task.locate"; import { TaskContextMenu } from "./TaskContextMenu"; diff --git a/packages/web/src/views/Day/components/Header/Header.tsx b/packages/web/src/views/Day/components/Header/Header.tsx index cfd4442fc..b018e3d16 100644 --- a/packages/web/src/views/Day/components/Header/Header.tsx +++ b/packages/web/src/views/Day/components/Header/Header.tsx @@ -1,4 +1,4 @@ -import { FC, useCallback, useRef } from "react"; +import { type FC, useCallback, useRef } from "react"; import { AccountIcon } from "@web/components/AuthModal/AccountIcon"; import { AlignItems } from "@web/components/Flex/styled"; import { SelectView } from "@web/components/SelectView/SelectView"; diff --git a/packages/web/src/views/Day/components/Shortcuts/ShortcutTip.tsx b/packages/web/src/views/Day/components/Shortcuts/ShortcutTip.tsx index 1ed4e14ae..ed82fb12f 100644 --- a/packages/web/src/views/Day/components/Shortcuts/ShortcutTip.tsx +++ b/packages/web/src/views/Day/components/Shortcuts/ShortcutTip.tsx @@ -1,4 +1,4 @@ -import { ReactNode, useState } from "react"; +import { type ReactNode, useState } from "react"; interface ShortcutProps { shortcut: string | string[]; diff --git a/packages/web/src/views/Day/components/Task/DraggableTask.test.tsx b/packages/web/src/views/Day/components/Task/DraggableTask.test.tsx index fabad811b..09fcb97c0 100644 --- a/packages/web/src/views/Day/components/Task/DraggableTask.test.tsx +++ b/packages/web/src/views/Day/components/Task/DraggableTask.test.tsx @@ -1,10 +1,11 @@ -import React, { act } from "react"; +import type React from "react"; +import { act } from "react"; import { DragDropContext, Droppable } from "@hello-pangea/dnd"; import { fireEvent, screen } from "@testing-library/react"; import { render } from "@web/__tests__/__mocks__/mock.render"; import { createMockTask } from "@web/__tests__/utils/factories/task.factory"; import { DraggableTask } from "@web/views/Day/components/Task/DraggableTask"; -import { TaskContext } from "@web/views/Day/context/TaskContext"; +import { type TaskContext } from "@web/views/Day/context/TaskContext"; const mockTask = createMockTask({ _id: "task-1" }); diff --git a/packages/web/src/views/Day/components/Task/DraggableTask.tsx b/packages/web/src/views/Day/components/Task/DraggableTask.tsx index 3007f0a30..0df2930ae 100644 --- a/packages/web/src/views/Day/components/Task/DraggableTask.tsx +++ b/packages/web/src/views/Day/components/Task/DraggableTask.tsx @@ -2,10 +2,10 @@ import classNames from "classnames"; import { autoUpdate, inline, offset, useFloating } from "@floating-ui/react"; import { Draggable } from "@hello-pangea/dnd"; import { DotsSixVerticalIcon } from "@phosphor-icons/react"; -import { Task as ITask } from "@web/common/types/task.types"; +import { type Task as ITask } from "@web/common/types/task.types"; import { getStyle } from "@web/views/Calendar/components/Sidebar/SomedayTab/SomedayEvents/SomedayEvent/styled"; import { Task } from "@web/views/Day/components/Task/Task"; -import { useTasks } from "@web/views/Day/hooks/tasks/useTasks"; +import { type useTasks } from "@web/views/Day/hooks/tasks/useTasks"; export function DraggableTask({ task, diff --git a/packages/web/src/views/Day/components/Task/Task.test.tsx b/packages/web/src/views/Day/components/Task/Task.test.tsx index 8abdcd6e1..df24e2542 100644 --- a/packages/web/src/views/Day/components/Task/Task.test.tsx +++ b/packages/web/src/views/Day/components/Task/Task.test.tsx @@ -3,7 +3,7 @@ import "@testing-library/jest-dom"; import { fireEvent, render, screen } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import { createMockTask } from "@web/__tests__/utils/factories/task.factory"; -import { Task, TaskProps } from "./Task"; +import { Task, type TaskProps } from "./Task"; describe("Task - migration", () => { const mockTask = createMockTask({ _id: "task-1" }); diff --git a/packages/web/src/views/Day/components/Task/Task.tsx b/packages/web/src/views/Day/components/Task/Task.tsx index 34e753d40..d529468fa 100644 --- a/packages/web/src/views/Day/components/Task/Task.tsx +++ b/packages/web/src/views/Day/components/Task/Task.tsx @@ -1,7 +1,8 @@ import classNames from "classnames"; -import React, { useRef } from "react"; +import type React from "react"; +import { useRef } from "react"; import { DATA_TASK_ELEMENT_ID } from "@web/common/constants/web.constants"; -import { Task as TaskType } from "@web/common/types/task.types"; +import { type Task as TaskType } from "@web/common/types/task.types"; import { ArrowButton } from "@web/components/Button/ArrowButton"; import { TaskCircleIcon } from "@web/views/Day/components/Icons/TaskCircleIcon"; diff --git a/packages/web/src/views/Day/components/TaskList/TaskList.test.tsx b/packages/web/src/views/Day/components/TaskList/TaskList.test.tsx index e12ea8d9b..b6bc9e866 100644 --- a/packages/web/src/views/Day/components/TaskList/TaskList.test.tsx +++ b/packages/web/src/views/Day/components/TaskList/TaskList.test.tsx @@ -178,7 +178,7 @@ describe("TaskList", () => { it("should show keyboard shortcut hint on hover over add button", async () => { const { user } = renderWithDayProviders(); - const addTaskArea = await screen.findByText("Create task")!; + const addTaskArea = await screen.findByText("Create task"); await act(async () => { await user.hover(addTaskArea.parentElement!); }); diff --git a/packages/web/src/views/Day/components/TaskList/TaskList.tsx b/packages/web/src/views/Day/components/TaskList/TaskList.tsx index 652a31539..72319244d 100644 --- a/packages/web/src/views/Day/components/TaskList/TaskList.tsx +++ b/packages/web/src/views/Day/components/TaskList/TaskList.tsx @@ -1,4 +1,5 @@ -import React, { useRef, useState } from "react"; +import type React from "react"; +import { useRef, useState } from "react"; import { AddTaskActiveButton } from "@web/views/Day/components/AddTask/AddTaskActiveButton"; import { AddTaskPreviewButton } from "@web/views/Day/components/AddTask/AddTaskPreviewButton"; import { TaskContextMenuWrapper } from "@web/views/Day/components/ContextMenu/TaskContextMenuWrapper"; diff --git a/packages/web/src/views/Day/components/Tasks/Tasks.test.tsx b/packages/web/src/views/Day/components/Tasks/Tasks.test.tsx index 5f3d4b4af..5802d9e93 100644 --- a/packages/web/src/views/Day/components/Tasks/Tasks.test.tsx +++ b/packages/web/src/views/Day/components/Tasks/Tasks.test.tsx @@ -54,7 +54,7 @@ describe("Tasks Keyboard Drag and Drop", () => { // Verify drag handles are rendered (the DotsSixVerticalIcon button) // The drag handle is an IconButton containing the DotsSixVerticalIcon const dragHandles = screen.getAllByRole("button", { name: /Reorder/i }); - expect(dragHandles.length).toBe(2); + expect(dragHandles).toHaveLength(2); }, 10000); it("should not render drag handles when there is only one task", async () => { @@ -77,7 +77,7 @@ describe("Tasks Keyboard Drag and Drop", () => { // Find drag handles const dragHandles = screen.getAllByRole("button", { name: /Reorder/i }); - expect(dragHandles.length).toBe(2); + expect(dragHandles).toHaveLength(2); // Verify the first drag handle can receive focus const firstDragHandle = dragHandles[0]; diff --git a/packages/web/src/views/Day/components/Tasks/useTaskListInputFocus.ts b/packages/web/src/views/Day/components/Tasks/useTaskListInputFocus.ts index 30970bf5a..a25e5c00e 100644 --- a/packages/web/src/views/Day/components/Tasks/useTaskListInputFocus.ts +++ b/packages/web/src/views/Day/components/Tasks/useTaskListInputFocus.ts @@ -1,4 +1,4 @@ -import { RefObject, useEffect } from "react"; +import { type RefObject, useEffect } from "react"; interface UseTaskListInputFocusOptions { isAddingTask: boolean; diff --git a/packages/web/src/views/Day/components/Toasts/MigrationToast/MigrationToast.tsx b/packages/web/src/views/Day/components/Toasts/MigrationToast/MigrationToast.tsx index 95b77aab1..db30d49ec 100644 --- a/packages/web/src/views/Day/components/Toasts/MigrationToast/MigrationToast.tsx +++ b/packages/web/src/views/Day/components/Toasts/MigrationToast/MigrationToast.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import type React from "react"; import { toast } from "react-toastify"; import { toastDefaultOptions } from "@web/common/constants/toast.constants"; import { getModifierKeyIcon } from "@web/common/utils/shortcut/shortcut.util"; diff --git a/packages/web/src/views/Day/components/Toasts/UndoToast/UndoDeleteToast.tsx b/packages/web/src/views/Day/components/Toasts/UndoToast/UndoDeleteToast.tsx index 399bf8580..09710a013 100644 --- a/packages/web/src/views/Day/components/Toasts/UndoToast/UndoDeleteToast.tsx +++ b/packages/web/src/views/Day/components/Toasts/UndoToast/UndoDeleteToast.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import type React from "react"; import { toast } from "react-toastify"; import { toastDefaultOptions } from "@web/common/constants/toast.constants"; import { getModifierKeyIcon } from "@web/common/utils/shortcut/shortcut.util"; diff --git a/packages/web/src/views/Day/context/DNDTasksContext.tsx b/packages/web/src/views/Day/context/DNDTasksContext.tsx index 513f65842..6961639f3 100644 --- a/packages/web/src/views/Day/context/DNDTasksContext.tsx +++ b/packages/web/src/views/Day/context/DNDTasksContext.tsx @@ -1,12 +1,12 @@ -import { PropsWithChildren, createContext, useCallback } from "react"; +import { type PropsWithChildren, createContext, useCallback } from "react"; import { - DragStart, - DragUpdate, - DropResult, - OnDragEndResponder, - OnDragStartResponder, - OnDragUpdateResponder, - ResponderProvided, + type DragStart, + type DragUpdate, + type DropResult, + type OnDragEndResponder, + type OnDragStartResponder, + type OnDragUpdateResponder, + type ResponderProvided, } from "@hello-pangea/dnd"; import { useTasks } from "@web/views/Day/hooks/tasks/useTasks"; diff --git a/packages/web/src/views/Day/context/DateNavigationContext.tsx b/packages/web/src/views/Day/context/DateNavigationContext.tsx index f7c0fde2a..c0a914741 100644 --- a/packages/web/src/views/Day/context/DateNavigationContext.tsx +++ b/packages/web/src/views/Day/context/DateNavigationContext.tsx @@ -1,8 +1,8 @@ -import { PropsWithChildren, createContext, useCallback } from "react"; +import { type PropsWithChildren, createContext, useCallback } from "react"; import { useNavigate, useRouteLoaderData } from "react-router-dom"; import dayjs from "@core/util/date/dayjs"; import { ROOT_ROUTES } from "@web/common/constants/routes"; -import { DayLoaderData, loadTodayData } from "@web/routers/loaders"; +import { type DayLoaderData, loadTodayData } from "@web/routers/loaders"; interface DateNavigationContextProps extends DayLoaderData { navigateToNextDay: () => void; diff --git a/packages/web/src/views/Day/context/TaskContext.tsx b/packages/web/src/views/Day/context/TaskContext.tsx index 4a09e49bc..604ca692b 100644 --- a/packages/web/src/views/Day/context/TaskContext.tsx +++ b/packages/web/src/views/Day/context/TaskContext.tsx @@ -1,6 +1,7 @@ -import React, { createContext } from "react"; +import type React from "react"; +import { createContext } from "react"; import { getTaskRepository } from "@web/common/repositories/task/task.repository.util"; -import { Task, UndoOperation } from "@web/common/types/task.types"; +import { type Task, type UndoOperation } from "@web/common/types/task.types"; import { useDateNavigation } from "@web/views/Day/hooks/navigation/useDateNavigation"; import { useTaskActions } from "@web/views/Day/hooks/tasks/useTaskActions"; import { useTaskState } from "@web/views/Day/hooks/tasks/useTaskState"; diff --git a/packages/web/src/views/Day/context/__tests__/TaskContext.test.tsx b/packages/web/src/views/Day/context/__tests__/TaskContext.test.tsx index 543658476..f1a5d8547 100644 --- a/packages/web/src/views/Day/context/__tests__/TaskContext.test.tsx +++ b/packages/web/src/views/Day/context/__tests__/TaskContext.test.tsx @@ -1,5 +1,5 @@ import { ObjectId } from "bson"; -import { PropsWithChildren, act } from "react"; +import { type PropsWithChildren, act } from "react"; import { RouterProvider, createMemoryRouter } from "react-router-dom"; import dayjs from "@core/util/date/dayjs"; import { renderHook, waitFor } from "@web/__tests__/__mocks__/mock.render"; @@ -9,7 +9,7 @@ import { ensureStorageReady, getStorageAdapter, } from "@web/common/storage/adapter/adapter"; -import { Task } from "@web/common/types/task.types"; +import { type Task } from "@web/common/types/task.types"; import { useTasks } from "@web/views/Day/hooks/tasks/useTasks"; import { TaskProviderWrapper } from "@web/views/Day/util/day.test-util"; diff --git a/packages/web/src/views/Day/hooks/events/useAgendaInteractionsAtCursor.ts b/packages/web/src/views/Day/hooks/events/useAgendaInteractionsAtCursor.ts index 8eb75f201..e62988b3a 100644 --- a/packages/web/src/views/Day/hooks/events/useAgendaInteractionsAtCursor.ts +++ b/packages/web/src/views/Day/hooks/events/useAgendaInteractionsAtCursor.ts @@ -2,7 +2,7 @@ import { safePolygon, useClick, useDismiss, - useFloating, + type useFloating, useFocus, useHover, useInteractions, diff --git a/packages/web/src/views/Day/hooks/events/useDayEvents.ts b/packages/web/src/views/Day/hooks/events/useDayEvents.ts index 4ad609d06..a44220fbb 100644 --- a/packages/web/src/views/Day/hooks/events/useDayEvents.ts +++ b/packages/web/src/views/Day/hooks/events/useDayEvents.ts @@ -1,5 +1,5 @@ import { useEffect, useMemo } from "react"; -import dayjs from "@core/util/date/dayjs"; +import type dayjs from "@core/util/date/dayjs"; import { Day_AsyncStateContextReason } from "@web/ducks/events/context/day.context"; import { getDayEventsSlice } from "@web/ducks/events/slices/day.slice"; import { useAppDispatch } from "@web/store/store.hooks"; diff --git a/packages/web/src/views/Day/hooks/events/useOpenAgendaEventPreview.ts b/packages/web/src/views/Day/hooks/events/useOpenAgendaEventPreview.ts index 2012e63e0..067409eaa 100644 --- a/packages/web/src/views/Day/hooks/events/useOpenAgendaEventPreview.ts +++ b/packages/web/src/views/Day/hooks/events/useOpenAgendaEventPreview.ts @@ -1,4 +1,4 @@ -import { FocusEvent, MouseEvent, useCallback } from "react"; +import { type FocusEvent, type MouseEvent, useCallback } from "react"; import { getEntity } from "@ngneat/elf-entities"; import { DATA_EVENT_ELEMENT_ID } from "@web/common/constants/web.constants"; import { diff --git a/packages/web/src/views/Day/hooks/events/useOpenEventContextMenu.ts b/packages/web/src/views/Day/hooks/events/useOpenEventContextMenu.ts index 02a8ec022..3943a2cc0 100644 --- a/packages/web/src/views/Day/hooks/events/useOpenEventContextMenu.ts +++ b/packages/web/src/views/Day/hooks/events/useOpenEventContextMenu.ts @@ -1,4 +1,4 @@ -import { FocusEvent, MouseEvent, useCallback } from "react"; +import { type FocusEvent, type MouseEvent, useCallback } from "react"; import { getEntity } from "@ngneat/elf-entities"; import { DATA_EVENT_ELEMENT_ID } from "@web/common/constants/web.constants"; import { diff --git a/packages/web/src/views/Day/hooks/tasks/useLoadTasksByDateEffect.test.ts b/packages/web/src/views/Day/hooks/tasks/useLoadTasksByDateEffect.test.ts index 89c35ec1b..916dbd8dc 100644 --- a/packages/web/src/views/Day/hooks/tasks/useLoadTasksByDateEffect.test.ts +++ b/packages/web/src/views/Day/hooks/tasks/useLoadTasksByDateEffect.test.ts @@ -2,8 +2,8 @@ import { act } from "react"; import { useRef, useState } from "react"; import { renderHook, waitFor } from "@testing-library/react"; import { createMockTask } from "@web/__tests__/utils/factories/task.factory"; -import { TaskRepository } from "@web/common/repositories/task/task.repository"; -import { Task } from "@web/common/types/task.types"; +import { type TaskRepository } from "@web/common/repositories/task/task.repository"; +import { type Task } from "@web/common/types/task.types"; import { useLoadTasksByDateEffect } from "@web/views/Day/hooks/tasks/useLoadTasksByDateEffect"; const mockGet = jest.fn(); diff --git a/packages/web/src/views/Day/hooks/tasks/useLoadTasksByDateEffect.ts b/packages/web/src/views/Day/hooks/tasks/useLoadTasksByDateEffect.ts index 49080d06b..4dea2e99c 100644 --- a/packages/web/src/views/Day/hooks/tasks/useLoadTasksByDateEffect.ts +++ b/packages/web/src/views/Day/hooks/tasks/useLoadTasksByDateEffect.ts @@ -1,7 +1,12 @@ -import { Dispatch, MutableRefObject, SetStateAction, useEffect } from "react"; -import { TaskRepository } from "@web/common/repositories/task/task.repository"; +import { + type Dispatch, + type MutableRefObject, + type SetStateAction, + useEffect, +} from "react"; +import { type TaskRepository } from "@web/common/repositories/task/task.repository"; import { ensureStorageReady } from "@web/common/storage/adapter/adapter"; -import { Task } from "@web/common/types/task.types"; +import { type Task } from "@web/common/types/task.types"; import { sortTasksByStatus } from "@web/common/utils/task/sort.task"; interface UseLoadTasksByDateEffectProps { diff --git a/packages/web/src/views/Day/hooks/tasks/useSaveTasksByDateEffect.test.ts b/packages/web/src/views/Day/hooks/tasks/useSaveTasksByDateEffect.test.ts index 54c881643..27e4e71d2 100644 --- a/packages/web/src/views/Day/hooks/tasks/useSaveTasksByDateEffect.test.ts +++ b/packages/web/src/views/Day/hooks/tasks/useSaveTasksByDateEffect.test.ts @@ -1,8 +1,8 @@ import { useEffect, useRef } from "react"; import { renderHook, waitFor } from "@testing-library/react"; import { createMockTask } from "@web/__tests__/utils/factories/task.factory"; -import { TaskRepository } from "@web/common/repositories/task/task.repository"; -import { Task } from "@web/common/types/task.types"; +import { type TaskRepository } from "@web/common/repositories/task/task.repository"; +import { type Task } from "@web/common/types/task.types"; import { useSaveTasksByDateEffect } from "@web/views/Day/hooks/tasks/useSaveTasksByDateEffect"; const mockSave = jest.fn(); diff --git a/packages/web/src/views/Day/hooks/tasks/useSaveTasksByDateEffect.ts b/packages/web/src/views/Day/hooks/tasks/useSaveTasksByDateEffect.ts index 42dbdbfba..fff32d4d4 100644 --- a/packages/web/src/views/Day/hooks/tasks/useSaveTasksByDateEffect.ts +++ b/packages/web/src/views/Day/hooks/tasks/useSaveTasksByDateEffect.ts @@ -1,7 +1,7 @@ -import { MutableRefObject, useEffect } from "react"; -import { TaskRepository } from "@web/common/repositories/task/task.repository"; +import { type MutableRefObject, useEffect } from "react"; +import { type TaskRepository } from "@web/common/repositories/task/task.repository"; import { ensureStorageReady } from "@web/common/storage/adapter/adapter"; -import { Task } from "@web/common/types/task.types"; +import { type Task } from "@web/common/types/task.types"; interface UseSaveTasksByDateEffectProps { dateKey: string; diff --git a/packages/web/src/views/Day/hooks/tasks/useTaskActions.test.ts b/packages/web/src/views/Day/hooks/tasks/useTaskActions.test.ts index e0949482e..7f697ec99 100644 --- a/packages/web/src/views/Day/hooks/tasks/useTaskActions.test.ts +++ b/packages/web/src/views/Day/hooks/tasks/useTaskActions.test.ts @@ -2,8 +2,8 @@ import dayjs from "dayjs"; import { act } from "react"; import { renderHook, waitFor } from "@testing-library/react"; import { createMockTask } from "@web/__tests__/utils/factories/task.factory"; -import { TaskRepository } from "@web/common/repositories/task/task.repository"; -import { Task } from "@web/common/types/task.types"; +import { type TaskRepository } from "@web/common/repositories/task/task.repository"; +import { type Task } from "@web/common/types/task.types"; import { showMigrationToast } from "@web/views/Day/components/Toasts/MigrationToast/MigrationToast"; import { useTaskActions } from "./useTaskActions"; diff --git a/packages/web/src/views/Day/hooks/tasks/useTaskActions.ts b/packages/web/src/views/Day/hooks/tasks/useTaskActions.ts index 3bbee5126..c80974168 100644 --- a/packages/web/src/views/Day/hooks/tasks/useTaskActions.ts +++ b/packages/web/src/views/Day/hooks/tasks/useTaskActions.ts @@ -1,9 +1,9 @@ -import dayjs from "dayjs"; +import type dayjs from "dayjs"; import { useCallback } from "react"; import { toast } from "react-toastify"; import { UNAUTHENTICATED_USER } from "@web/common/constants/auth.constants"; -import { TaskRepository } from "@web/common/repositories/task/task.repository"; -import { Task, UndoOperation } from "@web/common/types/task.types"; +import { type TaskRepository } from "@web/common/repositories/task/task.repository"; +import { type Task, type UndoOperation } from "@web/common/types/task.types"; import { createObjectIdString } from "@web/common/utils/id/object-id.util"; import { getDateKey } from "@web/common/utils/storage/storage.util"; import { sortTasksByStatus } from "@web/common/utils/task/sort.task"; diff --git a/packages/web/src/views/Day/hooks/tasks/useTaskState.test.ts b/packages/web/src/views/Day/hooks/tasks/useTaskState.test.ts index b00429e3a..6246b51f4 100644 --- a/packages/web/src/views/Day/hooks/tasks/useTaskState.test.ts +++ b/packages/web/src/views/Day/hooks/tasks/useTaskState.test.ts @@ -1,8 +1,8 @@ import { act } from "react"; import { renderHook, waitFor } from "@testing-library/react"; import { createMockTask } from "@web/__tests__/utils/factories/task.factory"; -import { TaskRepository } from "@web/common/repositories/task/task.repository"; -import { Task } from "@web/common/types/task.types"; +import { type TaskRepository } from "@web/common/repositories/task/task.repository"; +import { type Task } from "@web/common/types/task.types"; import { getDateKey } from "@web/common/utils/storage/storage.util"; import { useTaskState } from "@web/views/Day/hooks/tasks/useTaskState"; diff --git a/packages/web/src/views/Day/hooks/tasks/useTaskState.ts b/packages/web/src/views/Day/hooks/tasks/useTaskState.ts index 1b517efe1..e2148a9a6 100644 --- a/packages/web/src/views/Day/hooks/tasks/useTaskState.ts +++ b/packages/web/src/views/Day/hooks/tasks/useTaskState.ts @@ -1,6 +1,6 @@ import { useCallback, useRef, useState } from "react"; -import { TaskRepository } from "@web/common/repositories/task/task.repository"; -import { Task, UndoOperation } from "@web/common/types/task.types"; +import { type TaskRepository } from "@web/common/repositories/task/task.repository"; +import { type Task, type UndoOperation } from "@web/common/types/task.types"; import { getDateKey } from "@web/common/utils/storage/storage.util"; import { useLoadTasksByDateEffect } from "@web/views/Day/hooks/tasks/useLoadTasksByDateEffect"; import { useSaveTasksByDateEffect } from "@web/views/Day/hooks/tasks/useSaveTasksByDateEffect"; diff --git a/packages/web/src/views/Day/util/agenda/agenda.util.test.ts b/packages/web/src/views/Day/util/agenda/agenda.util.test.ts index 9d0305940..7ced42c7d 100644 --- a/packages/web/src/views/Day/util/agenda/agenda.util.test.ts +++ b/packages/web/src/views/Day/util/agenda/agenda.util.test.ts @@ -1,5 +1,5 @@ -import { Active, Over } from "@dnd-kit/core"; -import { Schema_Event } from "@core/types/event.types"; +import { type Active, type Over } from "@dnd-kit/core"; +import { type Schema_Event } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; import { MINUTES_PER_SLOT, diff --git a/packages/web/src/views/Day/util/agenda/agenda.util.ts b/packages/web/src/views/Day/util/agenda/agenda.util.ts index 381072a05..83be76e61 100644 --- a/packages/web/src/views/Day/util/agenda/agenda.util.ts +++ b/packages/web/src/views/Day/util/agenda/agenda.util.ts @@ -1,8 +1,8 @@ -import { Active, Over } from "@dnd-kit/core"; -import { Schema_Event } from "@core/types/event.types"; -import { Dayjs } from "@core/util/date/dayjs"; +import { type Active, type Over } from "@dnd-kit/core"; +import { type Schema_Event } from "@core/types/event.types"; +import { type Dayjs } from "@core/util/date/dayjs"; import { ID_GRID_MAIN } from "@web/common/constants/web.constants"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { MINUTES_PER_SLOT, SLOT_HEIGHT, diff --git a/packages/web/src/views/Day/util/day.test-util.tsx b/packages/web/src/views/Day/util/day.test-util.tsx index ec4d7b8f4..4585372b9 100644 --- a/packages/web/src/views/Day/util/day.test-util.tsx +++ b/packages/web/src/views/Day/util/day.test-util.tsx @@ -1,8 +1,9 @@ -import React, { PropsWithChildren } from "react"; +import { type PropsWithChildren } from "react"; +import type React from "react"; import { createMemoryRouter } from "react-router-dom"; -import { Store } from "redux"; +import { type Store } from "redux"; import userEvent from "@testing-library/user-event"; -import dayjs, { Dayjs } from "@core/util/date/dayjs"; +import dayjs, { type Dayjs } from "@core/util/date/dayjs"; import { render } from "@web/__tests__/__mocks__/mock.render"; import { ROOT_ROUTES } from "@web/common/constants/routes"; import { loadSpecificDayData, loadTodayData } from "@web/routers/loaders"; diff --git a/packages/web/src/views/Forms/ActionsMenu/ActionsMenu.tsx b/packages/web/src/views/Forms/ActionsMenu/ActionsMenu.tsx index 688056051..ea96c1c7a 100644 --- a/packages/web/src/views/Forms/ActionsMenu/ActionsMenu.tsx +++ b/packages/web/src/views/Forms/ActionsMenu/ActionsMenu.tsx @@ -1,11 +1,6 @@ -import React, { - MouseEvent, - createContext, - useContext, - useEffect, - useRef, - useState, -} from "react"; +import { type MouseEvent } from "react"; +import type React from "react"; +import { createContext, useContext, useEffect, useRef, useState } from "react"; import { FloatingFocusManager, FloatingPortal, diff --git a/packages/web/src/views/Forms/ActionsMenu/MenuItem.test.tsx b/packages/web/src/views/Forms/ActionsMenu/MenuItem.test.tsx index 3f079724c..0d231345d 100644 --- a/packages/web/src/views/Forms/ActionsMenu/MenuItem.test.tsx +++ b/packages/web/src/views/Forms/ActionsMenu/MenuItem.test.tsx @@ -1,4 +1,4 @@ -import { KeyboardEvent } from "react"; +import { type KeyboardEvent } from "react"; import "@testing-library/jest-dom"; import { fireEvent, screen } from "@testing-library/react"; import { render } from "@web/__tests__/__mocks__/mock.render"; diff --git a/packages/web/src/views/Forms/ActionsMenu/MenuItem.tsx b/packages/web/src/views/Forms/ActionsMenu/MenuItem.tsx index 29a90cdb8..2d5cff4b3 100644 --- a/packages/web/src/views/Forms/ActionsMenu/MenuItem.tsx +++ b/packages/web/src/views/Forms/ActionsMenu/MenuItem.tsx @@ -1,4 +1,6 @@ -import React, { ReactNode, useEffect, useRef, useState } from "react"; +import { type ReactNode } from "react"; +import type React from "react"; +import { useEffect, useRef, useState } from "react"; import { LegacyShortcutHint } from "@web/components/Shortcuts/ShortcutHint"; import { Tooltip, diff --git a/packages/web/src/views/Forms/EventForm/DateControlsSection/DateControlsSection/DateControlsSection.tsx b/packages/web/src/views/Forms/EventForm/DateControlsSection/DateControlsSection/DateControlsSection.tsx index 9043566ce..74718744b 100644 --- a/packages/web/src/views/Forms/EventForm/DateControlsSection/DateControlsSection/DateControlsSection.tsx +++ b/packages/web/src/views/Forms/EventForm/DateControlsSection/DateControlsSection/DateControlsSection.tsx @@ -1,8 +1,8 @@ import React from "react"; -import { Categories_Event } from "@core/types/event.types"; +import { type Categories_Event } from "@core/types/event.types"; import { DateTimeSection, - Props as DateTimeSectionProps, + type Props as DateTimeSectionProps, } from "../DateTimeSection/DateTimeSection"; import { StyledControlsSection } from "./styled"; diff --git a/packages/web/src/views/Forms/EventForm/DateControlsSection/DateTimeSection/DatePickers/DatePickers.tsx b/packages/web/src/views/Forms/EventForm/DateControlsSection/DateTimeSection/DatePickers/DatePickers.tsx index 0ae5af7fb..bda7a7a01 100644 --- a/packages/web/src/views/Forms/EventForm/DateControlsSection/DateTimeSection/DatePickers/DatePickers.tsx +++ b/packages/web/src/views/Forms/EventForm/DateControlsSection/DateTimeSection/DatePickers/DatePickers.tsx @@ -1,4 +1,5 @@ -import React, { FC } from "react"; +import { type FC } from "react"; +import type React from "react"; import { Key } from "ts-key-enum"; import { MONTH_DAY_YEAR } from "@core/constants/date.constants"; import { darken } from "@core/util/color.utils"; @@ -8,7 +9,7 @@ import { shouldAdjustComplimentDate } from "@web/common/utils/datetime/web.datet import { DatePicker } from "@web/components/DatePicker/DatePicker"; import { AlignItems } from "@web/components/Flex/styled"; import { StyledDateFlex } from "@web/views/Forms/EventForm/DateControlsSection/DateTimeSection/DatePickers/styled"; -import { SetEventFormField } from "@web/views/Forms/EventForm/types"; +import { type SetEventFormField } from "@web/views/Forms/EventForm/types"; const stopPropagation = (e: React.MouseEvent) => { e.stopPropagation(); diff --git a/packages/web/src/views/Forms/EventForm/DateControlsSection/DateTimeSection/DateTimeSection.tsx b/packages/web/src/views/Forms/EventForm/DateControlsSection/DateTimeSection/DateTimeSection.tsx index 37acefe5f..1022bfdb8 100644 --- a/packages/web/src/views/Forms/EventForm/DateControlsSection/DateTimeSection/DateTimeSection.tsx +++ b/packages/web/src/views/Forms/EventForm/DateControlsSection/DateTimeSection/DateTimeSection.tsx @@ -1,11 +1,12 @@ -import React, { FC } from "react"; -import { Categories_Event, Schema_Event } from "@core/types/event.types"; -import { SelectOption } from "@web/common/types/component.types"; +import { type FC } from "react"; +import type React from "react"; +import { Categories_Event, type Schema_Event } from "@core/types/event.types"; +import { type SelectOption } from "@web/common/types/component.types"; import { AlignItems } from "@web/components/Flex/styled"; import { DatePickers } from "@web/views/Forms/EventForm/DateControlsSection/DateTimeSection/DatePickers/DatePickers"; import { TimePickers } from "@web/views/Forms/EventForm/DateControlsSection/DateTimeSection/TimePicker/TimePickers"; import { StyledDateTimeFlex } from "@web/views/Forms/EventForm/DateControlsSection/DateTimeSection/styled"; -import { SetEventFormField } from "@web/views/Forms/EventForm/types"; +import { type SetEventFormField } from "@web/views/Forms/EventForm/types"; export interface Props { bgColor: string; diff --git a/packages/web/src/views/Forms/EventForm/DateControlsSection/DateTimeSection/TimePicker/TimePicker.tsx b/packages/web/src/views/Forms/EventForm/DateControlsSection/DateTimeSection/TimePicker/TimePicker.tsx index defcf5b61..62e25fb27 100644 --- a/packages/web/src/views/Forms/EventForm/DateControlsSection/DateTimeSection/TimePicker/TimePicker.tsx +++ b/packages/web/src/views/Forms/EventForm/DateControlsSection/DateTimeSection/TimePicker/TimePicker.tsx @@ -1,8 +1,8 @@ -import React from "react"; -import ReactSelect, { Props as RSProps } from "react-select"; +import type React from "react"; +import ReactSelect, { type Props as RSProps } from "react-select"; import { Key } from "ts-key-enum"; -import { SelectOption } from "@web/common/types/component.types"; -import { Option_Time } from "@web/common/types/util.types"; +import { type SelectOption } from "@web/common/types/component.types"; +import { type Option_Time } from "@web/common/types/util.types"; import { StyledTimePicker } from "./styled"; export interface Props extends Omit { diff --git a/packages/web/src/views/Forms/EventForm/DateControlsSection/DateTimeSection/TimePicker/TimePickers.tsx b/packages/web/src/views/Forms/EventForm/DateControlsSection/DateTimeSection/TimePicker/TimePickers.tsx index 0baf9c5fe..f4382c7f9 100644 --- a/packages/web/src/views/Forms/EventForm/DateControlsSection/DateTimeSection/TimePicker/TimePickers.tsx +++ b/packages/web/src/views/Forms/EventForm/DateControlsSection/DateTimeSection/TimePicker/TimePickers.tsx @@ -1,7 +1,9 @@ -import React, { FC, useState } from "react"; -import { Schema_Event } from "@core/types/event.types"; -import { SelectOption } from "@web/common/types/component.types"; -import { Option_Time } from "@web/common/types/util.types"; +import { type FC } from "react"; +import type React from "react"; +import { useState } from "react"; +import { type Schema_Event } from "@core/types/event.types"; +import { type SelectOption } from "@web/common/types/component.types"; +import { type Option_Time } from "@web/common/types/util.types"; import { getTimeOptionByValue, getTimeOptions, diff --git a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/RecurrenceSection.test.tsx b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/RecurrenceSection.test.tsx index c53bc3d84..7ee377905 100644 --- a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/RecurrenceSection.test.tsx +++ b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/RecurrenceSection.test.tsx @@ -1,7 +1,7 @@ import "@testing-library/jest-dom"; import { fireEvent, screen } from "@testing-library/react"; import { Priorities } from "@core/constants/core.constants"; -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; import { render } from "@web/__tests__/__mocks__/mock.render"; import { RecurrenceSection } from "./RecurrenceSection"; diff --git a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/RecurrenceSection.tsx b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/RecurrenceSection.tsx index c9ca0b83b..15447965d 100644 --- a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/RecurrenceSection.tsx +++ b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/RecurrenceSection.tsx @@ -1,9 +1,9 @@ -import React, { Dispatch, SetStateAction } from "react"; +import React, { type Dispatch, type SetStateAction } from "react"; import { Priorities } from "@core/constants/core.constants"; import { hoverColorByPriority } from "@web/common/styles/theme.util"; import { - Schema_GridEvent, - Schema_WebEvent, + type Schema_GridEvent, + type Schema_WebEvent, } from "@web/common/types/web.event.types"; import { ConditionalRender } from "@web/components/ConditionalRender/ConditionalRender"; import { FlexDirections } from "@web/components/Flex/styled"; diff --git a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/CaretInput.tsx b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/CaretInput.tsx index daddd096a..71379398b 100644 --- a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/CaretInput.tsx +++ b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/CaretInput.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import type React from "react"; import { CaretDown, CaretUp } from "@phosphor-icons/react"; import { StyledCaretButton, diff --git a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/EndsOnDate.tsx b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/EndsOnDate.tsx index 238ca77f7..0159e059e 100644 --- a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/EndsOnDate.tsx +++ b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/EndsOnDate.tsx @@ -1,4 +1,5 @@ -import React, { useMemo, useState } from "react"; +import type React from "react"; +import { useMemo, useState } from "react"; import { darken } from "@core/util/color.utils"; import { parseCompassEventDate } from "@core/util/event/event.util"; import { theme } from "@web/common/styles/theme"; diff --git a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/FreqSelect.tsx b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/FreqSelect.tsx index dd0280c5c..10465ee91 100644 --- a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/FreqSelect.tsx +++ b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/FreqSelect.tsx @@ -5,7 +5,7 @@ import { theme } from "@web/common/styles/theme"; import { FREQUENCY_MAP, FREQUENCY_OPTIONS, - FrequencyValues, + type FrequencyValues, } from "@web/views/Forms/EventForm/DateControlsSection/RecurrenceSection/constants/recurrence.constants"; export interface FreqSelectProps { diff --git a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/RecurrenceIntervalSelect.tsx b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/RecurrenceIntervalSelect.tsx index 2b1c2846f..8981fa337 100644 --- a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/RecurrenceIntervalSelect.tsx +++ b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/RecurrenceIntervalSelect.tsx @@ -1,6 +1,6 @@ import React, { useState } from "react"; import { StyledText } from "@web/components/Text/styled"; -import { FrequencyValues } from "@web/views/Forms/EventForm/DateControlsSection/RecurrenceSection/constants/recurrence.constants"; +import { type FrequencyValues } from "@web/views/Forms/EventForm/DateControlsSection/RecurrenceSection/constants/recurrence.constants"; import { StyledIntervalInput, StyledRepeatRow, diff --git a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/RecurrenceToggle.tsx b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/RecurrenceToggle.tsx index 67089b5ec..0990b1bed 100644 --- a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/RecurrenceToggle.tsx +++ b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/RecurrenceToggle.tsx @@ -1,4 +1,5 @@ -import React, { useCallback } from "react"; +import type React from "react"; +import { useCallback } from "react"; import { ConditionalRender } from "@web/components/ConditionalRender/ConditionalRender"; import { RepeatIcon } from "@web/components/Icons/Repeat"; import { diff --git a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/WeekDay.tsx b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/WeekDay.tsx index 38f5e87f3..53a24005f 100644 --- a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/WeekDay.tsx +++ b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/WeekDay.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import type React from "react"; import { StyledWeekDay } from "@web/views/Forms/EventForm/DateControlsSection/RecurrenceSection/styled"; export interface WeekDayProps { diff --git a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/WeekDays.tsx b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/WeekDays.tsx index 7c8a6e1df..fc5740f40 100644 --- a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/WeekDays.tsx +++ b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/components/WeekDays.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import type React from "react"; import { StyledText } from "@web/components/Text/styled"; import { WEEKDAYS } from "@web/views/Forms/EventForm/DateControlsSection/RecurrenceSection/constants/recurrence.constants"; import { StyledRepeatRow } from "@web/views/Forms/EventForm/DateControlsSection/RecurrenceSection/styled"; diff --git a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/useRecurrence/useRecurrence.test.ts b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/useRecurrence/useRecurrence.test.ts index a69f20aec..bec5dac41 100644 --- a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/useRecurrence/useRecurrence.test.ts +++ b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/useRecurrence/useRecurrence.test.ts @@ -2,7 +2,7 @@ import { act } from "react"; import { Frequency } from "rrule"; import { renderHook } from "@testing-library/react"; import { Origin, Priorities } from "@core/constants/core.constants"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { assembleGridEvent } from "@web/common/utils/event/event.util"; import { useRecurrence } from "./useRecurrence"; diff --git a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/useRecurrence/useRecurrence.ts b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/useRecurrence/useRecurrence.ts index 449f21ca8..4713e5a0e 100644 --- a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/useRecurrence/useRecurrence.ts +++ b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/useRecurrence/useRecurrence.ts @@ -1,24 +1,24 @@ import { ObjectId } from "bson"; import { - Dispatch, - SetStateAction, + type Dispatch, + type SetStateAction, useCallback, useEffect, useMemo, useState, } from "react"; -import { Frequency, Options, RRule, Weekday } from "rrule"; +import { Frequency, type Options, RRule, type Weekday } from "rrule"; import dayjs from "@core/util/date/dayjs"; import { CompassEventRRule } from "@core/util/event/compass.event.rrule"; import { parseCompassEventDate } from "@core/util/event/event.util"; import { - Schema_GridEvent, - Schema_WebEvent, + type Schema_GridEvent, + type Schema_WebEvent, } from "@web/common/types/web.event.types"; import { - FrequencyValues, - WEEKDAYS, - WEEKDAY_RRULE_MAP, + type FrequencyValues, + type WEEKDAYS, + type WEEKDAY_RRULE_MAP, } from "@web/views/Forms/EventForm/DateControlsSection/RecurrenceSection/constants/recurrence.constants"; import { toWeekDays } from "@web/views/Forms/EventForm/DateControlsSection/RecurrenceSection/util/recurrence.util"; @@ -97,8 +97,8 @@ export const useRecurrence = ( return new CompassEventRRule({ _id: new ObjectId(), // we do not need the event's actual id here - startDate: startDate!, - endDate: endDate!, + startDate: startDate, + endDate: endDate, recurrence: { rule: recurrence?.rule as string[] }, }); }, [_startDate, startDate, endDate, hasRecurrence, recurrence?.rule]); diff --git a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/util/recurrence.util.ts b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/util/recurrence.util.ts index 778a42a72..e6128750d 100644 --- a/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/util/recurrence.util.ts +++ b/packages/web/src/views/Forms/EventForm/DateControlsSection/RecurrenceSection/util/recurrence.util.ts @@ -1,5 +1,8 @@ -import { Weekday } from "rrule"; -import { WEEKDAYS, WEEKDAY_RRULE_MAP } from "../constants/recurrence.constants"; +import { type Weekday } from "rrule"; +import { + type WEEKDAYS, + WEEKDAY_RRULE_MAP, +} from "../constants/recurrence.constants"; function toWeekDay(weekDay: (typeof WEEKDAYS)[0]): Weekday { return WEEKDAY_RRULE_MAP[weekDay]; diff --git a/packages/web/src/views/Forms/EventForm/DeleteMenuButton.tsx b/packages/web/src/views/Forms/EventForm/DeleteMenuButton.tsx index 90781fe64..8711b309b 100644 --- a/packages/web/src/views/Forms/EventForm/DeleteMenuButton.tsx +++ b/packages/web/src/views/Forms/EventForm/DeleteMenuButton.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import type React from "react"; import { Trash } from "@phosphor-icons/react"; import MenuItem from "../ActionsMenu/MenuItem"; diff --git a/packages/web/src/views/Forms/EventForm/DuplicateMenuButton.tsx b/packages/web/src/views/Forms/EventForm/DuplicateMenuButton.tsx index b5496cb30..a35e62edb 100644 --- a/packages/web/src/views/Forms/EventForm/DuplicateMenuButton.tsx +++ b/packages/web/src/views/Forms/EventForm/DuplicateMenuButton.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import type React from "react"; import { Copy } from "@phosphor-icons/react"; import { getModifierKeyIcon } from "@web/common/utils/shortcut/shortcut.util"; import { Text } from "@web/components/Text"; diff --git a/packages/web/src/views/Forms/EventForm/EventActionMenu.tsx b/packages/web/src/views/Forms/EventForm/EventActionMenu.tsx index fdb994a69..dd02154e3 100644 --- a/packages/web/src/views/Forms/EventForm/EventActionMenu.tsx +++ b/packages/web/src/views/Forms/EventForm/EventActionMenu.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import type React from "react"; import { ActionsMenu } from "../ActionsMenu/ActionsMenu"; import { DeleteMenuButton } from "./DeleteMenuButton"; import { DuplicateMenuButton } from "./DuplicateMenuButton"; diff --git a/packages/web/src/views/Forms/EventForm/EventForm.test.tsx b/packages/web/src/views/Forms/EventForm/EventForm.test.tsx index abfd3f296..9f1a911a7 100644 --- a/packages/web/src/views/Forms/EventForm/EventForm.test.tsx +++ b/packages/web/src/views/Forms/EventForm/EventForm.test.tsx @@ -2,7 +2,7 @@ import { act } from "react"; import "@testing-library/jest-dom/extend-expect"; import { screen, waitFor, within } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; import { render } from "@web/__tests__/__mocks__/mock.render"; import { EventForm } from "./EventForm"; diff --git a/packages/web/src/views/Forms/EventForm/EventForm.tsx b/packages/web/src/views/Forms/EventForm/EventForm.tsx index d5119602e..ef04f4635 100644 --- a/packages/web/src/views/Forms/EventForm/EventForm.tsx +++ b/packages/web/src/views/Forms/EventForm/EventForm.tsx @@ -1,14 +1,9 @@ import fastDeepEqual from "fast-deep-equal/react"; -import React, { - KeyboardEvent, - memo, - useCallback, - useEffect, - useRef, - useState, -} from "react"; +import { type KeyboardEvent } from "react"; +import type React from "react"; +import { memo, useCallback, useEffect, useRef, useState } from "react"; import { useHotkeys } from "react-hotkeys-hook"; -import { OptionsOrDependencyArray } from "react-hotkeys-hook/dist/types"; +import { type OptionsOrDependencyArray } from "react-hotkeys-hook/dist/types"; import { Key } from "ts-key-enum"; import { Priorities } from "@core/constants/core.constants"; import { darken } from "@core/util/color.utils"; @@ -18,7 +13,7 @@ import { colorByPriority, hoverColorByPriority, } from "@web/common/styles/theme.util"; -import { SelectOption } from "@web/common/types/component.types"; +import { type SelectOption } from "@web/common/types/component.types"; import { mapToBackend } from "@web/common/utils/datetime/web.date.util"; import { getCategory } from "@web/common/utils/event/event.util"; import { isComboboxInteraction } from "@web/common/utils/form/form.util"; @@ -34,7 +29,10 @@ import { StyledIconRow, StyledTitle, } from "@web/views/Forms/EventForm/styled"; -import { FormProps, SetEventFormField } from "@web/views/Forms/EventForm/types"; +import { + type FormProps, + type SetEventFormField, +} from "@web/views/Forms/EventForm/types"; const hotkeysOptions: OptionsOrDependencyArray = { enableOnFormTags: ["input"], diff --git a/packages/web/src/views/Forms/EventForm/MigrateAboveMenuButton.tsx b/packages/web/src/views/Forms/EventForm/MigrateAboveMenuButton.tsx index f7516b827..cd11b23f3 100644 --- a/packages/web/src/views/Forms/EventForm/MigrateAboveMenuButton.tsx +++ b/packages/web/src/views/Forms/EventForm/MigrateAboveMenuButton.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import type React from "react"; import styled from "styled-components"; import { ArrowUpIcon } from "@phosphor-icons/react"; import { getMetaKeyIcon } from "@web/common/utils/shortcut/shortcut.util"; diff --git a/packages/web/src/views/Forms/EventForm/MigrateBackwardMenuButton.tsx b/packages/web/src/views/Forms/EventForm/MigrateBackwardMenuButton.tsx index fb283467b..6a2533a92 100644 --- a/packages/web/src/views/Forms/EventForm/MigrateBackwardMenuButton.tsx +++ b/packages/web/src/views/Forms/EventForm/MigrateBackwardMenuButton.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import type React from "react"; import styled from "styled-components"; import { ArrowLeftIcon } from "@phosphor-icons/react"; import { getMetaKeyIcon } from "@web/common/utils/shortcut/shortcut.util"; diff --git a/packages/web/src/views/Forms/EventForm/MigrateBelowMenuButton.tsx b/packages/web/src/views/Forms/EventForm/MigrateBelowMenuButton.tsx index 6ad4cd8f8..a8af4bf4b 100644 --- a/packages/web/src/views/Forms/EventForm/MigrateBelowMenuButton.tsx +++ b/packages/web/src/views/Forms/EventForm/MigrateBelowMenuButton.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import type React from "react"; import styled from "styled-components"; import { ArrowDownIcon } from "@phosphor-icons/react"; import { getMetaKeyIcon } from "@web/common/utils/shortcut/shortcut.util"; diff --git a/packages/web/src/views/Forms/EventForm/MigrateForwardMenuButton.tsx b/packages/web/src/views/Forms/EventForm/MigrateForwardMenuButton.tsx index 306ccc02b..c7488a80b 100644 --- a/packages/web/src/views/Forms/EventForm/MigrateForwardMenuButton.tsx +++ b/packages/web/src/views/Forms/EventForm/MigrateForwardMenuButton.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import type React from "react"; import styled from "styled-components"; import { ArrowRightIcon } from "@phosphor-icons/react"; import { getMetaKeyIcon } from "@web/common/utils/shortcut/shortcut.util"; diff --git a/packages/web/src/views/Forms/EventForm/MoveToSidebarMenuButton.tsx b/packages/web/src/views/Forms/EventForm/MoveToSidebarMenuButton.tsx index 0879529e8..302b3b733 100644 --- a/packages/web/src/views/Forms/EventForm/MoveToSidebarMenuButton.tsx +++ b/packages/web/src/views/Forms/EventForm/MoveToSidebarMenuButton.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import type React from "react"; import styled from "styled-components"; import { ArrowLeftIcon } from "@phosphor-icons/react"; import { getMetaKeyIcon } from "@web/common/utils/shortcut/shortcut.util"; diff --git a/packages/web/src/views/Forms/EventForm/PrioritySection/PrioritySection.tsx b/packages/web/src/views/Forms/EventForm/PrioritySection/PrioritySection.tsx index 55ffb3dc6..7d951b73a 100644 --- a/packages/web/src/views/Forms/EventForm/PrioritySection/PrioritySection.tsx +++ b/packages/web/src/views/Forms/EventForm/PrioritySection/PrioritySection.tsx @@ -1,5 +1,5 @@ -import React from "react"; -import { Priorities, Priority } from "@core/constants/core.constants"; +import type React from "react"; +import { Priorities, type Priority } from "@core/constants/core.constants"; import { colorByPriority } from "@web/common/styles/theme.util"; import { PriorityCircle, @@ -7,7 +7,7 @@ import { TooltipWrapper, } from "@web/components/ContextMenu/styled"; import { JustifyContent } from "@web/components/Flex/styled"; -import { SetEventFormField } from "../types"; +import { type SetEventFormField } from "../types"; import { StyledPriorityFlex } from "./styled"; interface Props { diff --git a/packages/web/src/views/Forms/EventForm/RecurringEventUpdateScopeDialog.tsx b/packages/web/src/views/Forms/EventForm/RecurringEventUpdateScopeDialog.tsx index 8a0b19ead..6c8f75a22 100644 --- a/packages/web/src/views/Forms/EventForm/RecurringEventUpdateScopeDialog.tsx +++ b/packages/web/src/views/Forms/EventForm/RecurringEventUpdateScopeDialog.tsx @@ -13,7 +13,7 @@ import { Priorities } from "@core/constants/core.constants"; import { RecurringEventUpdateScope } from "@core/types/event.types"; import { DirtyParser } from "@web/common/parsers/dirty.parser"; import { theme } from "@web/common/styles/theme"; -import { Schema_WebEvent } from "@web/common/types/web.event.types"; +import { type Schema_WebEvent } from "@web/common/types/web.event.types"; import { selectDraft } from "@web/ducks/events/selectors/draft.selectors"; import { useAppSelector } from "@web/store/store.hooks"; import { useDraftContext } from "@web/views/Calendar/components/Draft/context/useDraftContext"; diff --git a/packages/web/src/views/Forms/EventForm/SaveSection/SaveSection.tsx b/packages/web/src/views/Forms/EventForm/SaveSection/SaveSection.tsx index 5ba66f174..4c7b64afa 100644 --- a/packages/web/src/views/Forms/EventForm/SaveSection/SaveSection.tsx +++ b/packages/web/src/views/Forms/EventForm/SaveSection/SaveSection.tsx @@ -1,5 +1,6 @@ -import React, { useCallback } from "react"; -import { Priority } from "@core/constants/core.constants"; +import type React from "react"; +import { useCallback } from "react"; +import { type Priority } from "@core/constants/core.constants"; import { getModifierKeyIcon } from "@web/common/utils/shortcut/shortcut.util"; import { Btn, StyledSaveBtn } from "@web/components/Button/styled"; import { Text } from "@web/components/Text"; diff --git a/packages/web/src/views/Forms/EventForm/styled.ts b/packages/web/src/views/Forms/EventForm/styled.ts index 08924eec2..da02933b1 100644 --- a/packages/web/src/views/Forms/EventForm/styled.ts +++ b/packages/web/src/views/Forms/EventForm/styled.ts @@ -6,7 +6,7 @@ import { Flex } from "@web/components/Flex"; import { Input } from "@web/components/Input/Input"; import { Textarea } from "@web/components/Textarea"; import { EVENT_WIDTH_MINIMUM } from "@web/views/Calendar/layout.constants"; -import { StyledFormProps } from "./types"; +import { type StyledFormProps } from "./types"; interface SomedayFormProps extends StyledFormProps { x?: number; diff --git a/packages/web/src/views/Forms/EventForm/types.ts b/packages/web/src/views/Forms/EventForm/types.ts index 425c6fb67..c68757acf 100644 --- a/packages/web/src/views/Forms/EventForm/types.ts +++ b/packages/web/src/views/Forms/EventForm/types.ts @@ -1,9 +1,9 @@ -import { Dispatch, SetStateAction } from "react"; -import { Priority } from "@core/constants/core.constants"; +import { type Dispatch, type SetStateAction } from "react"; +import { type Priority } from "@core/constants/core.constants"; import { - Categories_Event, - Direction_Migrate, - Schema_Event, + type Categories_Event, + type Direction_Migrate, + type Schema_Event, } from "@core/types/event.types"; export interface FormProps { diff --git a/packages/web/src/views/Forms/SomedayEventForm/SomedayEventActionMenu.tsx b/packages/web/src/views/Forms/SomedayEventForm/SomedayEventActionMenu.tsx index ff50b6b59..5a526728e 100644 --- a/packages/web/src/views/Forms/SomedayEventForm/SomedayEventActionMenu.tsx +++ b/packages/web/src/views/Forms/SomedayEventForm/SomedayEventActionMenu.tsx @@ -1,4 +1,4 @@ -import React from "react"; +import type React from "react"; import { ID_SOMEDAY_EVENT_ACTION_MENU } from "@web/common/constants/web.constants"; import { ActionsMenu } from "../ActionsMenu/ActionsMenu"; import { DeleteMenuButton } from "../EventForm/DeleteMenuButton"; diff --git a/packages/web/src/views/Forms/SomedayEventForm/SomedayEventForm.test.tsx b/packages/web/src/views/Forms/SomedayEventForm/SomedayEventForm.test.tsx index efcab847a..ddd0b4274 100644 --- a/packages/web/src/views/Forms/SomedayEventForm/SomedayEventForm.test.tsx +++ b/packages/web/src/views/Forms/SomedayEventForm/SomedayEventForm.test.tsx @@ -1,4 +1,4 @@ -import { AxiosResponse } from "axios"; +import { type AxiosResponse } from "axios"; import { act } from "react"; import { toast } from "react-toastify"; import "@testing-library/jest-dom/extend-expect"; @@ -7,13 +7,13 @@ import userEvent from "@testing-library/user-event"; import { Categories_Event, RecurringEventUpdateScope, - Schema_Event, + type Schema_Event, } from "@core/types/event.types"; import dayjs from "@core/util/date/dayjs"; import { createMockStandaloneEvent } from "@core/util/test/ccal.event.factory"; import { render } from "@web/__tests__/__mocks__/mock.render"; import { setupDraftState } from "@web/__tests__/utils/state/draft.test.util"; -import { Schema_WebEvent } from "@web/common/types/web.event.types"; +import { type Schema_WebEvent } from "@web/common/types/web.event.types"; import { EventApi } from "@web/ducks/events/event.api"; import { deleteEventSlice } from "@web/ducks/events/slices/event.slice"; import * as storeHooks from "@web/store/store.hooks"; diff --git a/packages/web/src/views/Forms/SomedayEventForm/SomedayEventForm.tsx b/packages/web/src/views/Forms/SomedayEventForm/SomedayEventForm.tsx index fe8fd7f22..3f5463f34 100644 --- a/packages/web/src/views/Forms/SomedayEventForm/SomedayEventForm.tsx +++ b/packages/web/src/views/Forms/SomedayEventForm/SomedayEventForm.tsx @@ -1,4 +1,6 @@ -import React, { KeyboardEvent, MouseEvent, useCallback, useRef } from "react"; +import { type KeyboardEvent, type MouseEvent } from "react"; +import type React from "react"; +import { useCallback, useRef } from "react"; import { Key } from "ts-key-enum"; import { Priorities } from "@core/constants/core.constants"; import { Categories_Event } from "@core/types/event.types"; @@ -14,7 +16,10 @@ import { StyledIconRow, StyledTitle, } from "@web/views/Forms/EventForm/styled"; -import { FormProps, SetEventFormField } from "@web/views/Forms/EventForm/types"; +import { + type FormProps, + type SetEventFormField, +} from "@web/views/Forms/EventForm/types"; import { SomedayEventActionMenu } from "@web/views/Forms/SomedayEventForm/SomedayEventActionMenu"; import { SomedayRecurrenceSection } from "@web/views/Forms/SomedayEventForm/SomedayRecurrenceSection/SomedayRecurrenceSection"; import { useSomedayFormShortcuts } from "@web/views/Forms/SomedayEventForm/useSomedayFormShortcuts"; diff --git a/packages/web/src/views/Forms/SomedayEventForm/SomedayRecurrenceSection/SomedayRecurrenceSection.test.tsx b/packages/web/src/views/Forms/SomedayEventForm/SomedayRecurrenceSection/SomedayRecurrenceSection.test.tsx index b6089423d..f157bce06 100644 --- a/packages/web/src/views/Forms/SomedayEventForm/SomedayRecurrenceSection/SomedayRecurrenceSection.test.tsx +++ b/packages/web/src/views/Forms/SomedayEventForm/SomedayRecurrenceSection/SomedayRecurrenceSection.test.tsx @@ -1,8 +1,8 @@ -import { SetStateAction, useCallback, useState } from "react"; +import { type SetStateAction, useCallback, useState } from "react"; import "@testing-library/jest-dom"; import { fireEvent, screen } from "@testing-library/react"; import { Priorities } from "@core/constants/core.constants"; -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; import { render } from "@web/__tests__/__mocks__/mock.render"; import { SomedayRecurrenceSection } from "./SomedayRecurrenceSection"; @@ -70,17 +70,13 @@ describe("SomedayRecurrenceSection", () => { focusOption?: boolean; }) => { const { focusOption = true } = options ?? {}; - let control = document.querySelector( - ".freq-select__control", - ) as HTMLElement | null; + let control = document.querySelector(".freq-select__control"); if (!control) { const trigger = screen.getByRole("button", { name: /edit recurrence/i }); fireEvent.click(trigger); await screen.findByRole("combobox"); - control = document.querySelector( - ".freq-select__control", - ) as HTMLElement | null; + control = document.querySelector(".freq-select__control"); } if (!control) { @@ -280,7 +276,7 @@ describe("SomedayRecurrenceSection", () => { const input = control.querySelector("input") as HTMLElement | null; fireEvent.keyDown(input ?? control, { key: "Escape", code: "Escape" }); - expect(mockSetEvent.mock.calls.length).toBe(initialCalls); + expect(mockSetEvent.mock.calls).toHaveLength(initialCalls); expect( screen.getByRole("button", { name: /edit recurrence/i }), ).toHaveTextContent(/^Repeat$/i); diff --git a/packages/web/src/views/Forms/SomedayEventForm/SomedayRecurrenceSection/SomedayRecurrenceSection.tsx b/packages/web/src/views/Forms/SomedayEventForm/SomedayRecurrenceSection/SomedayRecurrenceSection.tsx index 641728e15..e1b41a00d 100644 --- a/packages/web/src/views/Forms/SomedayEventForm/SomedayRecurrenceSection/SomedayRecurrenceSection.tsx +++ b/packages/web/src/views/Forms/SomedayEventForm/SomedayRecurrenceSection/SomedayRecurrenceSection.tsx @@ -1,12 +1,12 @@ -import React, { Dispatch, SetStateAction, useRef } from "react"; +import React, { type Dispatch, type SetStateAction, useRef } from "react"; import { Frequency } from "rrule"; -import { Schema_Event } from "@core/types/event.types"; +import { type Schema_Event } from "@core/types/event.types"; import { RepeatIcon } from "@web/components/Icons/Repeat"; import { StyledRepeatRow } from "@web/views/Forms/EventForm/DateControlsSection/RecurrenceSection/styled"; import { StyledRepeatTextContainer } from "@web/views/Forms/EventForm/DateControlsSection/RecurrenceSection/styled"; import { useRecurrence } from "../../EventForm/DateControlsSection/RecurrenceSection/useRecurrence/useRecurrence"; import { - SomedayFrequencyOption, + type SomedayFrequencyOption, SomedayRecurrenceSelect, } from "./SomedayRecurrenceSelect/SomedayRecurrenceSelect"; diff --git a/packages/web/src/views/Forms/SomedayEventForm/SomedayRecurrenceSection/SomedayRecurrenceSelect/SomedayRecurrenceSelect.tsx b/packages/web/src/views/Forms/SomedayEventForm/SomedayRecurrenceSection/SomedayRecurrenceSelect/SomedayRecurrenceSelect.tsx index 3b2ae4290..14bc6b826 100644 --- a/packages/web/src/views/Forms/SomedayEventForm/SomedayRecurrenceSection/SomedayRecurrenceSelect/SomedayRecurrenceSelect.tsx +++ b/packages/web/src/views/Forms/SomedayEventForm/SomedayRecurrenceSection/SomedayRecurrenceSelect/SomedayRecurrenceSelect.tsx @@ -1,5 +1,9 @@ -import React, { useEffect, useMemo, useRef } from "react"; -import ReactSelect, { SelectInstance, SingleValueProps } from "react-select"; +import type React from "react"; +import { useEffect, useMemo, useRef } from "react"; +import ReactSelect, { + type SelectInstance, + type SingleValueProps, +} from "react-select"; import { components } from "react-select"; import { Frequency } from "rrule"; import { useTheme } from "styled-components"; @@ -7,7 +11,7 @@ import { Key } from "ts-key-enum"; import { brighten, darken } from "@core/util/color.utils"; import { theme } from "@web/common/styles/theme"; import { RepeatIcon } from "@web/components/Icons/Repeat"; -import { FrequencyValues } from "../../../EventForm/DateControlsSection/RecurrenceSection/constants/recurrence.constants"; +import { type FrequencyValues } from "../../../EventForm/DateControlsSection/RecurrenceSection/constants/recurrence.constants"; import { SelectContent } from "./styled"; export type SomedayFrequencyOption = { diff --git a/packages/web/src/views/Forms/SomedayEventForm/useSomedayFormShortcuts.test.tsx b/packages/web/src/views/Forms/SomedayEventForm/useSomedayFormShortcuts.test.tsx index 2c37fa15e..2e075684c 100644 --- a/packages/web/src/views/Forms/SomedayEventForm/useSomedayFormShortcuts.test.tsx +++ b/packages/web/src/views/Forms/SomedayEventForm/useSomedayFormShortcuts.test.tsx @@ -3,7 +3,7 @@ import { Categories_Event } from "@core/types/event.types"; import { createMockStandaloneEvent } from "@core/util/test/ccal.event.factory"; import { SOMEDAY_HOTKEY_OPTIONS, - SomedayFormShortcutsProps, + type SomedayFormShortcutsProps, useSomedayFormShortcuts, } from "@web/views/Forms/SomedayEventForm/useSomedayFormShortcuts"; @@ -11,9 +11,7 @@ jest.mock("react-hotkeys-hook", () => ({ useHotkeys: jest.fn(), })); -const { useHotkeys } = jest.requireMock("react-hotkeys-hook") as { - useHotkeys: jest.Mock; -}; +const { useHotkeys } = jest.requireMock("react-hotkeys-hook"); const TestComponent = (props: SomedayFormShortcutsProps) => { useSomedayFormShortcuts(props); diff --git a/packages/web/src/views/Forms/SomedayEventForm/useSomedayFormShortcuts.ts b/packages/web/src/views/Forms/SomedayEventForm/useSomedayFormShortcuts.ts index 53c76b9aa..6948bdc30 100644 --- a/packages/web/src/views/Forms/SomedayEventForm/useSomedayFormShortcuts.ts +++ b/packages/web/src/views/Forms/SomedayEventForm/useSomedayFormShortcuts.ts @@ -1,9 +1,9 @@ import { useHotkeys } from "react-hotkeys-hook"; -import { OptionsOrDependencyArray } from "react-hotkeys-hook/dist/types"; +import { type OptionsOrDependencyArray } from "react-hotkeys-hook/dist/types"; import { - Categories_Event, - Direction_Migrate, - Schema_Event, + type Categories_Event, + type Direction_Migrate, + type Schema_Event, } from "@core/types/event.types"; import { isComboboxInteraction } from "@web/common/utils/form/form.util"; diff --git a/packages/web/src/views/Forms/hooks/useDeleteEvent.test.ts b/packages/web/src/views/Forms/hooks/useDeleteEvent.test.ts index 435986e91..9d8d2c82f 100644 --- a/packages/web/src/views/Forms/hooks/useDeleteEvent.test.ts +++ b/packages/web/src/views/Forms/hooks/useDeleteEvent.test.ts @@ -2,8 +2,8 @@ import { addEntities } from "@ngneat/elf-entities"; import { renderHook } from "@testing-library/react"; import { RecurringEventUpdateScope, - Schema_Event, - WithCompassId, + type Schema_Event, + type WithCompassId, } from "@core/types/event.types"; import { closeFloatingAtCursor, diff --git a/packages/web/src/views/Forms/hooks/useDuplicateEvent.test.ts b/packages/web/src/views/Forms/hooks/useDuplicateEvent.test.ts index 61142a3e8..dde281529 100644 --- a/packages/web/src/views/Forms/hooks/useDuplicateEvent.test.ts +++ b/packages/web/src/views/Forms/hooks/useDuplicateEvent.test.ts @@ -1,7 +1,7 @@ import { act } from "react"; import { addEntities } from "@ngneat/elf-entities"; import { renderHook } from "@testing-library/react"; -import { Schema_Event, WithCompassId } from "@core/types/event.types"; +import { type Schema_Event, type WithCompassId } from "@core/types/event.types"; import { DATA_EVENT_ELEMENT_ID, ID_GRID_MAIN, diff --git a/packages/web/src/views/Forms/hooks/useEventForm.ts b/packages/web/src/views/Forms/hooks/useEventForm.ts index 85320aec1..a1368e142 100644 --- a/packages/web/src/views/Forms/hooks/useEventForm.ts +++ b/packages/web/src/views/Forms/hooks/useEventForm.ts @@ -1,6 +1,6 @@ import { - OpenChangeReason, - UseFloatingOptions, + type OpenChangeReason, + type UseFloatingOptions, autoUpdate, flip, offset, diff --git a/packages/web/src/views/Forms/hooks/useOpenEventForm.ts b/packages/web/src/views/Forms/hooks/useOpenEventForm.ts index cdaa7def0..a570a82ad 100644 --- a/packages/web/src/views/Forms/hooks/useOpenEventForm.ts +++ b/packages/web/src/views/Forms/hooks/useOpenEventForm.ts @@ -1,9 +1,9 @@ import { ObjectId } from "bson"; -import { MouseEvent, PointerEvent, useCallback } from "react"; +import { type MouseEvent, type PointerEvent, useCallback } from "react"; import { getEntity } from "@ngneat/elf-entities"; import { Origin, Priorities } from "@core/constants/core.constants"; -import { Schema_Event, WithCompassId } from "@core/types/event.types"; -import dayjs, { Dayjs } from "@core/util/date/dayjs"; +import { type Schema_Event, type WithCompassId } from "@core/types/event.types"; +import dayjs, { type Dayjs } from "@core/util/date/dayjs"; import { getUserId } from "@web/auth/auth.util"; import { DATA_EVENT_ELEMENT_ID, diff --git a/packages/web/src/views/Forms/hooks/useSaveEventForm.ts b/packages/web/src/views/Forms/hooks/useSaveEventForm.ts index d760ada21..4d126fa77 100644 --- a/packages/web/src/views/Forms/hooks/useSaveEventForm.ts +++ b/packages/web/src/views/Forms/hooks/useSaveEventForm.ts @@ -1,11 +1,11 @@ import { useCallback } from "react"; import { - Recurrence, + type Recurrence, RecurringEventUpdateScope, - Schema_Event, + type Schema_Event, } from "@core/types/event.types"; import { useUpdateEvent } from "@web/common/hooks/useUpdateEvent"; -import { Schema_GridEvent } from "@web/common/types/web.event.types"; +import { type Schema_GridEvent } from "@web/common/types/web.event.types"; import { selectEventById } from "@web/ducks/events/selectors/event.selectors"; import { createEventSlice } from "@web/ducks/events/slices/event.slice"; import { store } from "@web/store"; diff --git a/packages/web/src/views/Now/components/AvailableTasks/AvailableTasks.tsx b/packages/web/src/views/Now/components/AvailableTasks/AvailableTasks.tsx index c9ec91d0a..9cf04c35c 100644 --- a/packages/web/src/views/Now/components/AvailableTasks/AvailableTasks.tsx +++ b/packages/web/src/views/Now/components/AvailableTasks/AvailableTasks.tsx @@ -1,4 +1,4 @@ -import { Task } from "@web/common/types/task.types"; +import { type Task } from "@web/common/types/task.types"; interface AvailableTasksProps { tasks: Task[]; diff --git a/packages/web/src/views/Now/components/FocusedTask/FocusedTask.tsx b/packages/web/src/views/Now/components/FocusedTask/FocusedTask.tsx index a9e443067..3982ca066 100644 --- a/packages/web/src/views/Now/components/FocusedTask/FocusedTask.tsx +++ b/packages/web/src/views/Now/components/FocusedTask/FocusedTask.tsx @@ -3,7 +3,7 @@ import { ArrowCircleRightIcon, CheckCircleIcon, } from "@phosphor-icons/react"; -import { Task } from "@web/common/types/task.types"; +import { type Task } from "@web/common/types/task.types"; import { TooltipWrapper } from "@web/components/Tooltip/TooltipWrapper"; import { TaskDescription } from "../TaskDescription/TaskDescription"; diff --git a/packages/web/src/views/Now/components/TaskDescription/TaskDescription.tsx b/packages/web/src/views/Now/components/TaskDescription/TaskDescription.tsx index 1f6c2b34d..24e1414e7 100644 --- a/packages/web/src/views/Now/components/TaskDescription/TaskDescription.tsx +++ b/packages/web/src/views/Now/components/TaskDescription/TaskDescription.tsx @@ -1,4 +1,5 @@ -import React, { useEffect, useRef, useState } from "react"; +import type React from "react"; +import { useEffect, useRef, useState } from "react"; import styled from "styled-components"; import { Pencil } from "@phosphor-icons/react"; import { diff --git a/packages/web/src/views/Now/components/TaskSelector/TaskSelector.test.tsx b/packages/web/src/views/Now/components/TaskSelector/TaskSelector.test.tsx index 2bc8d04fd..a901fd741 100644 --- a/packages/web/src/views/Now/components/TaskSelector/TaskSelector.test.tsx +++ b/packages/web/src/views/Now/components/TaskSelector/TaskSelector.test.tsx @@ -1,11 +1,16 @@ import { MemoryRouter } from "react-router-dom"; import "@testing-library/jest-dom"; -import { RenderOptions, render, screen, waitFor } from "@testing-library/react"; +import { + type RenderOptions, + render, + screen, + waitFor, +} from "@testing-library/react"; import userEvent from "@testing-library/user-event"; import dayjs from "@core/util/date/dayjs"; import { createMockTask } from "@web/__tests__/utils/factories/task.factory"; import { getTaskRepository } from "@web/common/repositories/task/task.repository.util"; -import { Task } from "@web/common/types/task.types"; +import { type Task } from "@web/common/types/task.types"; import * as storageUtil from "@web/common/utils/storage/storage.util"; import { CompassRequiredProviders } from "@web/components/CompassProvider/CompassProvider"; import { useAvailableTasks } from "@web/views/Now/hooks/useAvailableTasks"; diff --git a/packages/web/src/views/Now/context/NowViewProvider.tsx b/packages/web/src/views/Now/context/NowViewProvider.tsx index b5954d615..c33fd95df 100644 --- a/packages/web/src/views/Now/context/NowViewProvider.tsx +++ b/packages/web/src/views/Now/context/NowViewProvider.tsx @@ -1,9 +1,10 @@ -import React, { createContext, useCallback } from "react"; +import type React from "react"; +import { createContext, useCallback } from "react"; import { useNavigate } from "react-router-dom"; import { ROOT_ROUTES } from "@web/common/constants/routes"; import { getTaskRepository } from "@web/common/repositories/task/task.repository.util"; import { ensureStorageReady } from "@web/common/storage/adapter/adapter"; -import { Task } from "@web/common/types/task.types"; +import { type Task } from "@web/common/types/task.types"; import { getDateKey } from "@web/common/utils/storage/storage.util"; import { getIncompleteTasksSorted } from "@web/common/utils/task/sort.task"; import { useAvailableTasks } from "../hooks/useAvailableTasks"; diff --git a/packages/web/src/views/Now/hooks/useAvailableTasks.test.ts b/packages/web/src/views/Now/hooks/useAvailableTasks.test.ts index 4e984477c..56853b0c5 100644 --- a/packages/web/src/views/Now/hooks/useAvailableTasks.test.ts +++ b/packages/web/src/views/Now/hooks/useAvailableTasks.test.ts @@ -2,7 +2,7 @@ import React, { act } from "react"; import { renderHook, waitFor } from "@testing-library/react"; import dayjs from "@core/util/date/dayjs"; import { createMockTask } from "@web/__tests__/utils/factories/task.factory"; -import { Task } from "@web/common/types/task.types"; +import { type Task } from "@web/common/types/task.types"; import * as storageUtil from "@web/common/utils/storage/storage.util"; import { TaskContext } from "@web/views/Day/context/TaskContext"; import { useAvailableTasks } from "./useAvailableTasks"; diff --git a/packages/web/src/views/Now/hooks/useAvailableTasks.ts b/packages/web/src/views/Now/hooks/useAvailableTasks.ts index 654006b7a..5a2689160 100644 --- a/packages/web/src/views/Now/hooks/useAvailableTasks.ts +++ b/packages/web/src/views/Now/hooks/useAvailableTasks.ts @@ -1,7 +1,7 @@ import { useCallback, useContext, useEffect, useMemo, useState } from "react"; import dayjs from "@core/util/date/dayjs"; -import { Task } from "@web/common/types/task.types"; -import { CompassTasksSavedEvent } from "@web/common/utils/storage/storage.types"; +import { type Task } from "@web/common/types/task.types"; +import { type CompassTasksSavedEvent } from "@web/common/utils/storage/storage.types"; import { COMPASS_TASKS_SAVED_EVENT_NAME, getDateKey, diff --git a/packages/web/src/views/Now/hooks/useFocusedTask.test.ts b/packages/web/src/views/Now/hooks/useFocusedTask.test.ts index 514ab7f0b..78491aa91 100644 --- a/packages/web/src/views/Now/hooks/useFocusedTask.test.ts +++ b/packages/web/src/views/Now/hooks/useFocusedTask.test.ts @@ -1,6 +1,6 @@ import { act, renderHook, waitFor } from "@testing-library/react"; import { createMockTask } from "@web/__tests__/utils/factories/task.factory"; -import { Task } from "@web/common/types/task.types"; +import { type Task } from "@web/common/types/task.types"; import { useFocusedTask } from "./useFocusedTask"; describe("useFocusedTask", () => { diff --git a/packages/web/src/views/Now/hooks/useFocusedTask.ts b/packages/web/src/views/Now/hooks/useFocusedTask.ts index 0719ea592..951662f26 100644 --- a/packages/web/src/views/Now/hooks/useFocusedTask.ts +++ b/packages/web/src/views/Now/hooks/useFocusedTask.ts @@ -1,5 +1,5 @@ import { useCallback, useEffect, useMemo, useState } from "react"; -import { Task } from "@web/common/types/task.types"; +import { type Task } from "@web/common/types/task.types"; interface UseFocusedTaskOptions { availableTasks?: Task[]; diff --git a/packages/web/src/views/Now/shortcuts/useNowShortcuts.ts b/packages/web/src/views/Now/shortcuts/useNowShortcuts.ts index c5e43e98b..a780f00fd 100644 --- a/packages/web/src/views/Now/shortcuts/useNowShortcuts.ts +++ b/packages/web/src/views/Now/shortcuts/useNowShortcuts.ts @@ -6,7 +6,7 @@ import { useKeyDownEvent, useKeyUpEvent, } from "@web/common/hooks/useKeyboardEvent"; -import { Task } from "@web/common/types/task.types"; +import { type Task } from "@web/common/types/task.types"; import { CompassDOMEvents, compassEventEmitter,