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
+32 -29
View File
@@ -1,48 +1,51 @@
import { CardActionsAPI } from '../card-controller/types.js';
import { ZoomSettingsBase } from '../components-lib/zoom/types.js';
import { CallAnswerActionConfig } from '../config/schema/actions/custom/call-answer.js';
import { CallEndActionConfig } from '../config/schema/actions/custom/call-end.js';
import { CallStartActionConfig } from '../config/schema/actions/custom/call-start.js';
import { CameraSelectActionConfig } from '../config/schema/actions/custom/camera-select.js';
import { DisplayModeActionConfig } from '../config/schema/actions/custom/display-mode.js';
import {
import type { CardActionsAPI } from '../card-controller/types.js';
import type { ZoomSettingsBase } from '../components-lib/zoom/types.js';
import type { CallAnswerActionConfig } from '../config/schema/actions/custom/call-answer.js';
import type { CallEndActionConfig } from '../config/schema/actions/custom/call-end.js';
import type { CallStartActionConfig } from '../config/schema/actions/custom/call-start.js';
import type { CameraSelectActionConfig } from '../config/schema/actions/custom/camera-select.js';
import type { DisplayModeActionConfig } from '../config/schema/actions/custom/display-mode.js';
import type {
EffectAction,
EffectActionConfig,
} from '../config/schema/actions/custom/effect.js';
import {
import type {
AdvancedCameraCardGeneralAction,
GeneralActionConfig,
} from '../config/schema/actions/custom/general.js';
import {
INTERNAL_CALLBACK_ACTION,
InternalCallbackActionConfig,
type InternalCallbackActionConfig,
} from '../config/schema/actions/custom/internal.js';
import { LogActionConfig, LogActionLevel } from '../config/schema/actions/custom/log.js';
import { MediaPlayerActionConfig } from '../config/schema/actions/custom/media-player.js';
import { PTZControlsActionConfig } from '../config/schema/actions/custom/ptz-controls.js';
import { PTZDigitialActionConfig } from '../config/schema/actions/custom/ptz-digital.js';
import { PTZMultiActionConfig } from '../config/schema/actions/custom/ptz-multi.js';
import {
import type {
LogActionConfig,
LogActionLevel,
} from '../config/schema/actions/custom/log.js';
import type { MediaPlayerActionConfig } from '../config/schema/actions/custom/media-player.js';
import type { PTZControlsActionConfig } from '../config/schema/actions/custom/ptz-controls.js';
import type { PTZDigitialActionConfig } from '../config/schema/actions/custom/ptz-digital.js';
import type { PTZMultiActionConfig } from '../config/schema/actions/custom/ptz-multi.js';
import type {
PTZAction,
PTZActionConfig,
PTZActionPhase,
} from '../config/schema/actions/custom/ptz.js';
import { SetReviewActionConfig } from '../config/schema/actions/custom/set-review.js';
import { SubstreamOffActionConfig } from '../config/schema/actions/custom/substream-off.js';
import { SubstreamOnActionConfig } from '../config/schema/actions/custom/substream-on.js';
import { ViewActionConfig } from '../config/schema/actions/custom/view.js';
import { PerformActionActionConfig } from '../config/schema/actions/stock/perform-action.js';
import type { SetReviewActionConfig } from '../config/schema/actions/custom/set-review.js';
import type { SubstreamOffActionConfig } from '../config/schema/actions/custom/substream-off.js';
import type { SubstreamOnActionConfig } from '../config/schema/actions/custom/substream-on.js';
import type { ViewActionConfig } from '../config/schema/actions/custom/view.js';
import type { PerformActionActionConfig } from '../config/schema/actions/stock/perform-action.js';
import {
ActionConfig,
Actions,
AdvancedCameraCardCustomActionConfig,
IfActionConfig,
NotificationActionConfig,
type ActionConfig,
type Actions,
type AdvancedCameraCardCustomActionConfig,
type IfActionConfig,
type Notification,
type NotificationActionConfig,
} from '../config/schema/actions/types.js';
import { AdvancedCameraCardUserSpecifiedView } from '../config/schema/common/const.js';
import { PTZControlType } from '../config/schema/common/controls/ptz.js';
import { ServiceCallRequest } from '../ha/types.js';
import type { AdvancedCameraCardUserSpecifiedView } from '../config/schema/common/const.js';
import type { PTZControlType } from '../config/schema/common/controls/ptz.js';
import type { ServiceCallRequest } from '../ha/types.js';
import type { EffectName } from '../types.js';
import { arrayify } from './basic.js';
+1 -1
View File
@@ -4,7 +4,7 @@ import {
differenceInSeconds,
format,
} from 'date-fns';
import { StyleInfo } from 'lit/directives/style-map';
import type { StyleInfo } from 'lit/directives/style-map';
import { isEqualWith, mergeWith, round, uniq } from 'lodash-es';
import { AdvancedCameraCardError } from '../types';
+2 -2
View File
@@ -1,5 +1,5 @@
import { CameraConfig } from '../config/schema/cameras';
import { RawAdvancedCameraCardConfig } from '../config/types';
import type { CameraConfig } from '../config/schema/cameras';
import type { RawAdvancedCameraCardConfig } from '../config/types';
/**
* Get a camera id.
+1 -1
View File
@@ -1,4 +1,4 @@
import { CardWideConfig } from '../config/schema/types';
import type { CardWideConfig } from '../config/schema/types';
export const log = (cardWideConfig?: CardWideConfig | null, ...args: unknown[]) => {
if (cardWideConfig?.debug?.logging) {
+5 -5
View File
@@ -1,10 +1,10 @@
import pkg from '../../package.json';
import { IssueKey, IssuePresence } from '../card-controller/issues/types';
import { RawAdvancedCameraCardConfig } from '../config/types';
import type { IssueKey, IssuePresence } from '../card-controller/issues/types';
import type { RawAdvancedCameraCardConfig } from '../config/types';
import { getIntegrationManifest } from '../ha/integration';
import { IntegrationManifest } from '../ha/integration/types';
import { DeviceRegistryManager } from '../ha/registry/device';
import { HomeAssistant } from '../ha/types';
import type { IntegrationManifest } from '../ha/integration/types';
import type { DeviceRegistryManager } from '../ha/registry/device';
import type { HomeAssistant } from '../ha/types';
import { HASS_WEB_PROXY_DOMAIN } from '../ha/web-proxy';
import { getLanguage } from '../localize/localize';
+7 -4
View File
@@ -1,12 +1,15 @@
import EmblaCarousel, { EmblaCarouselType } from 'embla-carousel';
import EmblaCarousel, { type EmblaCarouselType } from 'embla-carousel';
import { WheelGesturesPlugin } from 'embla-carousel-wheel-gestures';
import { CreatePluginType, LoosePluginType } from 'embla-carousel/components/Plugins';
import type {
CreatePluginType,
LoosePluginType,
} from 'embla-carousel/components/Plugins';
import { isEqual } from 'lodash-es';
import { TransitionEffect } from '../../config/schema/common/transition-effect.js';
import type { TransitionEffect } from '../../config/schema/common/transition-effect.js';
import { getChildrenFromElement } from '../basic.js';
import { fireAdvancedCameraCardEvent } from '../fire-advanced-camera-card-event';
import { TextDirection } from '../text-direction';
import type { TextDirection } from '../text-direction';
export interface CarouselSelected {
index: number;
+1 -1
View File
@@ -1,4 +1,4 @@
import { ViewItem } from '../view/item';
import type { ViewItem } from '../view/item';
import { ViewItemClassifier } from '../view/item-classifier';
/**
+2 -2
View File
@@ -1,5 +1,5 @@
import { FolderConfig } from '../config/schema/folders';
import { RawAdvancedCameraCardConfig } from '../config/types';
import type { FolderConfig } from '../config/schema/folders';
import type { RawAdvancedCameraCardConfig } from '../config/types';
/**
* Get a folder id.
+1 -1
View File
@@ -1,4 +1,4 @@
import { InteractionMode } from '../config/schema/view';
import type { InteractionMode } from '../config/schema/view';
export const isActionAllowedBasedOnInteractionState = (
interactionMode: InteractionMode,
+5 -5
View File
@@ -1,9 +1,9 @@
import { supports2WayAudio as gortcSupports2WayAudio } from '../camera-manager/utils/go2rtc/audio';
import { CameraConfig } from '../config/schema/cameras';
import { LiveProvider } from '../config/schema/cameras.js';
import { EnabledProxyConfig } from '../config/schema/common/proxy';
import { HomeAssistant } from '../ha/types';
import { Endpoint } from '../types';
import type { CameraConfig } from '../config/schema/cameras';
import type { LiveProvider } from '../config/schema/cameras.js';
import type { EnabledProxyConfig } from '../config/schema/common/proxy';
import type { HomeAssistant } from '../ha/types';
import type { Endpoint } from '../types';
export const getResolvedLiveProvider = (
config: CameraConfig | undefined,
+3 -3
View File
@@ -1,7 +1,7 @@
import { ViewItemManager } from '../card-controller/view/item-manager';
import type { ViewItemManager } from '../card-controller/view/item-manager';
import { RemoveContextViewModifier } from '../card-controller/view/modifiers/remove-context';
import { ViewManagerEpoch } from '../card-controller/view/types';
import { ViewItem } from '../view/item';
import type { ViewManagerEpoch } from '../card-controller/view/types';
import type { ViewItem } from '../view/item';
import { ViewItemClassifier } from '../view/item-classifier';
import { errorToConsole } from './basic';
+1 -1
View File
@@ -1,4 +1,4 @@
import {
import type {
MediaLoadedCapabilities,
MediaLoadedInfo,
MediaPlayerController,
+1 -1
View File
@@ -1,4 +1,4 @@
import { MediaLayoutConfig } from '../config/schema/camera/media-layout';
import type { MediaLayoutConfig } from '../config/schema/camera/media-layout';
import { setOrRemoveStyleProperty } from './basic';
/**
+4 -4
View File
@@ -1,9 +1,9 @@
import { CameraManager } from '../camera-manager/manager';
import { PTZAction } from '../config/schema/actions/custom/ptz';
import { PTZCapabilities } from '../types';
import type { CameraManager } from '../camera-manager/manager';
import type { PTZAction } from '../config/schema/actions/custom/ptz';
import type { PTZCapabilities } from '../types';
import { getStreamCameraID } from '../view/substream';
import { getViewTargetID } from '../view/target-id';
import { View } from '../view/view';
import type { View } from '../view/view';
export type PTZType = 'digital' | 'ptz';
interface PTZTarget {
+4 -1
View File
@@ -1,4 +1,7 @@
import { ExponentialBackoff, ExponentialBackoffOptions } from './exponential-backoff';
import {
ExponentialBackoff,
type ExponentialBackoffOptions,
} from './exponential-backoff';
import { Timer } from './timer';
// Expand a plain `number` (fixed delay in seconds) into the equivalent
+1 -1
View File
@@ -1,4 +1,4 @@
import { ViewItem } from '../view/item';
import type { ViewItem } from '../view/item';
export interface CardMediaReviewEventTarget extends EventTarget {
addEventListener(
+1 -1
View File
@@ -1,6 +1,6 @@
import { format } from 'date-fns';
import { View } from '../view/view';
import type { View } from '../view/view';
export const screenshotImage = (image: HTMLImageElement): string | null => {
return screenshotElement(image, image.naturalWidth, image.naturalHeight);
+1 -1
View File
@@ -1,4 +1,4 @@
import { compute as computeScroll, Options } from 'compute-scroll-into-view';
import { compute as computeScroll, type Options } from 'compute-scroll-into-view';
// Alternative to the stock element.scrollIntoView that suppports limiting
// scrolling to a boundary, rather than the entire browser root.
+3 -3
View File
@@ -1,8 +1,8 @@
import { Task } from '@lit-labs/task';
import { html, TemplateResult } from 'lit';
import type { Task } from '@lit-labs/task';
import { html, type TemplateResult } from 'lit';
import { renderProgressIndicator } from '../components/progress-indicator';
import { CardWideConfig } from '../config/schema/types';
import type { CardWideConfig } from '../config/schema/types';
import { errorToConsole } from './basic';
/**
+2 -2
View File
@@ -1,7 +1,7 @@
import { Task } from '@lit-labs/task';
import { ReactiveControllerHost } from '@lit/reactive-element';
import type { ReactiveControllerHost } from '@lit/reactive-element';
import { HomeAssistant } from '../ha/types';
import type { HomeAssistant } from '../ha/types';
// See: https://github.com/sindresorhus/is-absolute-url
// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1