chore: Enforce consistent type imports via @typescript-eslint/consistent-type-imports (#2545)

This commit is contained in:
Dermot Duffy
2026-06-30 17:45:13 -07:00
committed by dermotduffy
parent 8f4ebcc0de
commit 7dc29865b8
589 changed files with 2419 additions and 2103 deletions
@@ -1,4 +1,4 @@
import { ReactiveControllerHost } from 'lit';
import type { ReactiveControllerHost } from 'lit';
import { afterEach, describe, expect, it, vi } from 'vitest';
import { mock } from 'vitest-mock-extended';
@@ -1,19 +1,24 @@
import { assert, describe, expect, it, vi } from 'vitest';
import { mock } from 'vitest-mock-extended';
import {
import type {
ViewManagerEpoch,
ViewManagerInterface,
} from '../../../src/card-controller/view/types';
import { GalleryController } from '../../../src/components-lib/gallery/controller';
import { THUMBNAIL_WIDTH_DEFAULT } from '../../../src/config/schema/common/controls/thumbnails';
import { FolderConfig } from '../../../src/config/schema/folders';
import { MediaGalleryThumbnailsConfig } from '../../../src/config/schema/media-gallery';
import { ViewFolder, ViewItem, ViewMedia, ViewMediaType } from '../../../src/view/item';
import { QueryResults } from '../../../src/view/query-results';
import { UnifiedQuery } from '../../../src/view/unified-query';
import { UnifiedQueryRunner } from '../../../src/view/unified-query-runner';
import { View } from '../../../src/view/view';
import type { FolderConfig } from '../../../src/config/schema/folders';
import type { MediaGalleryThumbnailsConfig } from '../../../src/config/schema/media-gallery';
import {
ViewFolder,
ViewMedia,
ViewMediaType,
type ViewItem,
} from '../../../src/view/item';
import type { QueryResults } from '../../../src/view/query-results';
import type { UnifiedQuery } from '../../../src/view/unified-query';
import type { UnifiedQueryRunner } from '../../../src/view/unified-query-runner';
import type { View } from '../../../src/view/view';
// @vitest-environment jsdom
const createThumbnailConfig = (
@@ -1,11 +1,11 @@
import { LitElement } from 'lit';
import type { LitElement } from 'lit';
import { afterAll, beforeAll, beforeEach, describe, expect, it, vi } from 'vitest';
import {
GalleryColumnCountRoundMethod,
GalleryCoreController,
type GalleryColumnCountRoundMethod,
} from '../../../src/components-lib/gallery/gallery-core-controller';
import { GalleryExtendEvent } from '../../../src/components/gallery/types';
import type { GalleryExtendEvent } from '../../../src/components/gallery/types';
import { scrollIntoView } from '../../../src/utils/scroll';
import { sleep } from '../../../src/utils/sleep';
import {
@@ -10,7 +10,7 @@ import {
} from 'vitest';
import { LazyLoadController } from '../../src/components-lib/lazy-load-controller';
import { LazyUnloadCondition } from '../../src/config/schema/common/media-actions';
import type { LazyUnloadCondition } from '../../src/config/schema/common/media-actions';
import {
callIntersectionHandler,
callVisibilityHandler,
@@ -1,7 +1,7 @@
import { afterAll, beforeAll, beforeEach, describe, expect, it, vi } from 'vitest';
import { mock } from 'vitest-mock-extended';
import { MicrophoneManager } from '../../../src/card-controller/microphone-manager';
import type { MicrophoneManager } from '../../../src/card-controller/microphone-manager';
import { MicrophoneActionsController } from '../../../src/components-lib/live/microphone-actions-controller';
import {
callIntersectionHandler,
@@ -1,7 +1,7 @@
import { describe, expect, it } from 'vitest';
import { getTechnologyForVideoRTC } from '../../../../src/components-lib/live/utils/get-technology-for-video-rtc';
import { VideoRTC } from '../../../../src/components/live/providers/go2rtc/video-rtc';
import type { VideoRTC } from '../../../../src/components/live/providers/go2rtc/video-rtc';
import { createLitElement } from '../../../test-utils';
// @vitest-environment jsdom
@@ -1,12 +1,12 @@
import { afterAll, beforeAll, beforeEach, describe, expect, it, vi } from 'vitest';
import { mock } from 'vitest-mock-extended';
import { MicrophoneState } from '../../src/card-controller/types';
import type { MicrophoneState } from '../../src/card-controller/types';
import {
MediaActionsController,
MediaActionsControllerOptions,
type MediaActionsControllerOptions,
} from '../../src/components-lib/media-actions-controller';
import { MediaPlayerController, MediaPlayerElement } from '../../src/types';
import type { MediaPlayerController, MediaPlayerElement } from '../../src/types';
import {
callIntersectionHandler,
callMutationHandler,
@@ -1,8 +1,8 @@
import { afterAll, beforeAll, beforeEach, describe, expect, it, vi } from 'vitest';
import { MediaDimensionsContainerController } from '../../src/components-lib/media-dimensions-container-controller';
import { CameraDimensionsConfig, Rotation } from '../../src/config/schema/cameras';
import { MediaLoadedInfo } from '../../src/types';
import type { CameraDimensionsConfig, Rotation } from '../../src/config/schema/cameras';
import type { MediaLoadedInfo } from '../../src/types';
import {
callResizeHandler,
createLitElement,
@@ -9,28 +9,28 @@ import {
it,
vi,
} from 'vitest';
import { mock, MockProxy } from 'vitest-mock-extended';
import { mock, type MockProxy } from 'vitest-mock-extended';
import { Capabilities } from '../../src/camera-manager/capabilities';
import {
EventQuery,
MediaQuery,
QueryType,
RecordingQuery,
ReviewQuery,
type EventQuery,
type MediaQuery,
type RecordingQuery,
type ReviewQuery,
} from '../../src/camera-manager/types';
import { FoldersManager } from '../../src/card-controller/folders/manager';
import { ViewManager } from '../../src/card-controller/view/view-manager';
import type { FoldersManager } from '../../src/card-controller/folders/manager';
import type { ViewManager } from '../../src/card-controller/view/view-manager';
import {
MediaFilterController,
MediaFilterCoreDefaults,
MediaFilterCoreFavoriteSelection,
MediaFilterCoreReviewedSelection,
MediaFilterCoreWhen,
MediaFilterMediaType,
type MediaFilterCoreDefaults,
} from '../../src/components-lib/media-filter-controller';
import { QuerySource } from '../../src/query-source';
import { Severity } from '../../src/severity';
import type { Severity } from '../../src/severity';
import { UnifiedQuery } from '../../src/view/unified-query';
import {
createCameraConfig,
@@ -3,9 +3,9 @@ import { beforeEach, describe, expect, it, vi } from 'vitest';
import { mock } from 'vitest-mock-extended';
import {
ExtendedMasonry,
MediaGridConstructorOptions,
MediaGridController,
type ExtendedMasonry,
type MediaGridConstructorOptions,
} from '../../src/components-lib/media-grid-controller';
import {
createSlot,
@@ -2,7 +2,7 @@ import { beforeEach, describe, expect, it, vi } from 'vitest';
import { mock } from 'vitest-mock-extended';
import { MediaLoadedInfoSourceController } from '../../src/components-lib/media-loaded-info-source-controller';
import { MediaPlayerController } from '../../src/types';
import type { MediaPlayerController } from '../../src/types';
import { createLitElement, createMediaLoadedInfo } from '../test-utils';
// @vitest-environment jsdom
@@ -1,4 +1,4 @@
import JSMpeg from '@cycjimmy/jsmpeg-player';
import type JSMpeg from '@cycjimmy/jsmpeg-player';
import { beforeEach, describe, expect, it, vi } from 'vitest';
import { mock } from 'vitest-mock-extended';
@@ -1,7 +1,7 @@
import { beforeEach, describe, expect, it, vi } from 'vitest';
import { mock } from 'vitest-mock-extended';
import { CachedValueController } from '../../../src/components-lib/cached-value-controller';
import type { CachedValueController } from '../../../src/components-lib/cached-value-controller';
import { ImageMediaPlayerController } from '../../../src/components-lib/media-player/image';
import { UpdatingImageMediaPlayerController } from '../../../src/components-lib/media-player/updating-image';
import { createLitElement } from '../../test-utils';
@@ -2,16 +2,16 @@ import { format } from 'date-fns';
import { afterEach, assert, describe, expect, it, vi } from 'vitest';
import { mock } from 'vitest-mock-extended';
import { CameraManager } from '../../../src/camera-manager/manager';
import type { CameraManager } from '../../../src/camera-manager/manager';
import { ActionFactory } from '../../../src/card-controller/actions/factory';
import { CardController } from '../../../src/card-controller/controller';
import { ViewItemManager } from '../../../src/card-controller/view/item-manager';
import { ViewManagerEpoch } from '../../../src/card-controller/view/types';
import type { CardController } from '../../../src/card-controller/controller';
import type { ViewItemManager } from '../../../src/card-controller/view/item-manager';
import type { ViewManagerEpoch } from '../../../src/card-controller/view/types';
import {
MediaNotificationController,
NotificationControlsContext,
type NotificationControlsContext,
} from '../../../src/components-lib/media/notification-controller';
import { NotificationControl } from '../../../src/config/schema/actions/types';
import type { NotificationControl } from '../../../src/config/schema/actions/types';
import { formatDateAndTime } from '../../../src/utils/basic';
import { downloadMedia, navigateToTimeline } from '../../../src/utils/media-actions';
import { ViewFolder, ViewMediaType } from '../../../src/view/item';
@@ -3,27 +3,27 @@ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
import { mock } from 'vitest-mock-extended';
import { Capabilities } from '../../src/camera-manager/capabilities.js';
import { CameraManager } from '../../src/camera-manager/manager.js';
import { CameraManagerCameraMetadata } from '../../src/camera-manager/types.js';
import { CallManager } from '../../src/card-controller/call/manager.js';
import { FoldersManager } from '../../src/card-controller/folders/manager.js';
import { FolderQuery } from '../../src/card-controller/folders/types';
import { FullscreenManager } from '../../src/card-controller/fullscreen/fullscreen-manager.js';
import { MediaPlayerManager } from '../../src/card-controller/media-player-manager.js';
import { MicrophoneManager } from '../../src/card-controller/microphone-manager.js';
import { PIPManager } from '../../src/card-controller/pip-manager.js';
import { ViewManager } from '../../src/card-controller/view/view-manager.js';
import type { CameraManager } from '../../src/camera-manager/manager.js';
import type { CameraManagerCameraMetadata } from '../../src/camera-manager/types.js';
import type { CallManager } from '../../src/card-controller/call/manager.js';
import type { FoldersManager } from '../../src/card-controller/folders/manager.js';
import type { FolderQuery } from '../../src/card-controller/folders/types';
import type { FullscreenManager } from '../../src/card-controller/fullscreen/fullscreen-manager.js';
import type { MediaPlayerManager } from '../../src/card-controller/media-player-manager.js';
import type { MicrophoneManager } from '../../src/card-controller/microphone-manager.js';
import type { PIPManager } from '../../src/card-controller/pip-manager.js';
import type { ViewManager } from '../../src/card-controller/view/view-manager.js';
import {
MenuButtonController,
MenuButtonControllerOptions,
type MenuButtonControllerOptions,
} from '../../src/components-lib/menu-button-controller.js';
import { AdvancedCameraCardView } from '../../src/config/schema/common/const.js';
import { ViewDisplayMode } from '../../src/config/schema/common/display.js';
import { MenuItem } from '../../src/config/schema/elements/custom/menu/types.js';
import { AdvancedCameraCardConfig } from '../../src/config/schema/types.js';
import { HomeAssistant } from '../../src/ha/types.js';
import type { AdvancedCameraCardView } from '../../src/config/schema/common/const.js';
import type { ViewDisplayMode } from '../../src/config/schema/common/display.js';
import type { MenuItem } from '../../src/config/schema/elements/custom/menu/types.js';
import type { AdvancedCameraCardConfig } from '../../src/config/schema/types.js';
import type { HomeAssistant } from '../../src/ha/types.js';
import { QuerySource } from '../../src/query-source';
import { MediaPlayerController, PTZMovementType } from '../../src/types.js';
import { PTZMovementType, type MediaPlayerController } from '../../src/types.js';
import { createGeneralAction, createViewAction } from '../../src/utils/action.js';
import { ViewMedia, ViewMediaType } from '../../src/view/item.js';
import { QueryResults } from '../../src/view/query-results.js';
@@ -32,7 +32,7 @@ import {
getCameraIDsWithCapabilityForView,
isViewSupported,
} from '../../src/view/view-support.js';
import { View } from '../../src/view/view.js';
import type { View } from '../../src/view/view.js';
import {
createCameraConfig,
createCameraManager,
+2 -2
View File
@@ -4,8 +4,8 @@ import { mock } from 'vitest-mock-extended';
import type { LockManager } from '../../src/card-controller/lock/manager';
import type { LockManagerEpoch } from '../../src/card-controller/lock/types';
import { MenuController } from '../../src/components-lib/menu-controller.js';
import { SubmenuItem } from '../../src/components/submenu/types.js';
import { MenuConfig, menuConfigSchema } from '../../src/config/schema/menu.js';
import type { SubmenuItem } from '../../src/components/submenu/types.js';
import { menuConfigSchema, type MenuConfig } from '../../src/config/schema/menu.js';
import {
createInteractionActionEvent,
createLitElement,
+11 -8
View File
@@ -1,19 +1,22 @@
import { NonEmptyTuple } from 'type-fest';
import type { NonEmptyTuple } from 'type-fest';
import { assert, describe, expect, it, vi } from 'vitest';
import { mock } from 'vitest-mock-extended';
import { CameraManager } from '../../src/camera-manager/manager';
import { EventQuery, QueryType } from '../../src/camera-manager/types';
import { FoldersManager } from '../../src/card-controller/folders/manager';
import { FolderPathComponent } from '../../src/card-controller/folders/types';
import { ViewManagerEpoch, ViewModifier } from '../../src/card-controller/view/types';
import type { CameraManager } from '../../src/camera-manager/manager';
import { QueryType, type EventQuery } from '../../src/camera-manager/types';
import type { FoldersManager } from '../../src/card-controller/folders/manager';
import type { FolderPathComponent } from '../../src/card-controller/folders/types';
import type {
ViewManagerEpoch,
ViewModifier,
} from '../../src/card-controller/view/types';
import {
FolderNavigationParamaters,
getUpFolderItem,
MediaNavigationParamaters,
navigateToFolder,
navigateToMedia,
navigateUp,
type FolderNavigationParamaters,
type MediaNavigationParamaters,
} from '../../src/components-lib/navigation';
import { QuerySource } from '../../src/query-source';
import { ViewFolder, ViewMedia } from '../../src/view/item';
@@ -3,7 +3,7 @@ import { beforeEach, describe, expect, it, vi } from 'vitest';
import { dispatchActionExecutionRequest } from '../../../src/card-controller/actions/utils/execution-request';
import { handleControlAction } from '../../../src/components-lib/notification/action';
import { NotificationControl } from '../../../src/config/schema/actions/types';
import type { NotificationControl } from '../../../src/config/schema/actions/types';
import {
getActionConfigGivenAction,
stopEventFromActivatingCardWideActions,
@@ -1,7 +1,7 @@
import { describe, expect, it } from 'vitest';
import { summarizeNotification } from '../../../src/components-lib/notification/summarize';
import { Notification } from '../../../src/config/schema/actions/types';
import type { Notification } from '../../../src/config/schema/actions/types';
describe('summarizeNotification', () => {
it('should return the body text when present', () => {
@@ -3,7 +3,7 @@ import { beforeEach, describe, expect, it, vi } from 'vitest';
import { dispatchActionExecutionRequest } from '../../../src/card-controller/actions/utils/execution-request.js';
import { PTZDragController } from '../../../src/components-lib/ptz/drag-controller';
import {
import type {
PTZAction,
PTZActionPhase,
} from '../../../src/config/schema/actions/custom/ptz';
@@ -2,10 +2,10 @@ import { beforeEach, describe, expect, it, vi } from 'vitest';
import { Capabilities } from '../../../src/camera-manager/capabilities';
import { PTZController } from '../../../src/components-lib/ptz/ptz-controller';
import { PTZControlAction } from '../../../src/config/schema/actions/custom/ptz';
import type { PTZControlAction } from '../../../src/config/schema/actions/custom/ptz';
import {
PTZControlsConfig,
ptzControlsConfigSchema,
type PTZControlsConfig,
} from '../../../src/config/schema/common/controls/ptz';
import { PTZMovementType } from '../../../src/types';
import { createCameraManager, createCapabilities, createStore } from '../../test-utils';
@@ -1,11 +1,11 @@
import { ReactiveControllerHost } from 'lit';
import type { ReactiveControllerHost } from 'lit';
import { afterEach, describe, expect, it, vi } from 'vitest';
import { mock } from 'vitest-mock-extended';
import { SignedURLController } from '../../src/components-lib/signed-url-controller';
import { homeAssistantGetSignedURLIfNecessary } from '../../src/ha/sign-path';
import { createProxiedEndpointIfNecessary } from '../../src/ha/web-proxy';
import { Endpoint } from '../../src/types';
import type { Endpoint } from '../../src/types';
import { createHASS, flushPromises } from '../test-utils';
vi.mock('../../src/ha/sign-path');
@@ -2,8 +2,8 @@ import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest';
import { StatusBarController } from '../../src/components-lib/status-bar-controller';
import {
StatusBarConfig,
statusBarConfigSchema,
type StatusBarConfig,
} from '../../src/config/schema/status-bar';
import { createInteractionActionEvent, createLitElement } from '../test-utils';
@@ -2,7 +2,7 @@ import { format } from 'date-fns';
import { assert, describe, expect, it } from 'vitest';
import { mock } from 'vitest-mock-extended';
import { CameraManager } from '../../../../src/camera-manager/manager';
import type { CameraManager } from '../../../../src/camera-manager/manager';
import { ThumbnailFeatureController } from '../../../../src/components-lib/thumbnail/feature/controller';
import { ViewFolder } from '../../../../src/view/item';
import { createFolder, TestViewMedia } from '../../../test-utils';
+14 -14
View File
@@ -1,7 +1,7 @@
import { add } from 'date-fns';
import { NonEmptyTuple } from 'type-fest';
import { DataSet } from 'vis-data';
import { TimelineWindow } from 'vis-timeline';
import type { NonEmptyTuple } from 'type-fest';
import type { DataSet } from 'vis-data';
import type { TimelineWindow } from 'vis-timeline';
import {
afterAll,
assert,
@@ -14,30 +14,30 @@ import {
} from 'vitest';
import { mock } from 'vitest-mock-extended';
import { CameraManager } from '../../../src/camera-manager/manager';
import type { CameraManager } from '../../../src/camera-manager/manager';
import {
Engine,
EventQuery,
QueryResultsType,
QueryType,
RecordingSegment,
RecordingSegmentsQuery,
RecordingSegmentsQueryResults,
ReviewQuery,
type EventQuery,
type RecordingSegment,
type RecordingSegmentsQuery,
type RecordingSegmentsQueryResults,
type ReviewQuery,
} from '../../../src/camera-manager/types';
import { FoldersManager } from '../../../src/card-controller/folders/manager';
import {
import type { FoldersManager } from '../../../src/card-controller/folders/manager';
import type {
FolderPathComponent,
FolderQuery,
} from '../../../src/card-controller/folders/types';
import {
AdvancedCameraCardTimelineItem,
TimelineDataSource,
type AdvancedCameraCardTimelineItem,
} from '../../../src/components-lib/timeline/source';
import { ConditionStateManagerReadonlyInterface } from '../../../src/condition-trigger/conditions/types';
import type { ConditionStateManagerReadonlyInterface } from '../../../src/condition-trigger/conditions/types';
import { QuerySource } from '../../../src/query-source';
import { ViewMediaType } from '../../../src/view/item';
import { QueryNode, UnifiedQuery } from '../../../src/view/unified-query';
import { UnifiedQuery, type QueryNode } from '../../../src/view/unified-query';
import {
createCameraManager,
createFolder,
@@ -1,4 +1,7 @@
import Panzoom, { PanzoomEventDetail, PanzoomObject } from '@dermotduffy/panzoom';
import Panzoom, {
type PanzoomEventDetail,
type PanzoomObject,
} from '@dermotduffy/panzoom';
import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest';
import { mock, mockClear } from 'vitest-mock-extended';
@@ -2,7 +2,7 @@ import { describe, expect, it, vi } from 'vitest';
import { mock } from 'vitest-mock-extended';
import { MergeContextViewModifier } from '../../../src/card-controller/view/modifiers/merge-context';
import { ViewManager } from '../../../src/card-controller/view/view-manager';
import type { ViewManager } from '../../../src/card-controller/view/view-manager';
import {
generateViewContextForZoom,
handleZoomSettingsObservedEvent,