diff --git a/package.json b/package.json index 6a1adb0b6c..ed2cc45f66 100644 --- a/package.json +++ b/package.json @@ -220,7 +220,7 @@ "object-hash": "^3.0.0", "open": "^8.4.0", "pinst": "^3.0.0", - "prettier": "^2.8.1", + "prettier": "^2.8.3", "require-dir": "^1.2.0", "rollup": "^2.8.2", "rollup-plugin-string": "^3.0.0", diff --git a/src/common/dom/scroll-to-target.ts b/src/common/dom/scroll-to-target.ts index f558974522..3feabad86c 100644 --- a/src/common/dom/scroll-to-target.ts +++ b/src/common/dom/scroll-to-target.ts @@ -39,5 +39,5 @@ export default function scrollToTarget(element, target) { ); requestAnimationFrame(updateFrame.bind(element)); } - }.call(element)); + }).call(element); } diff --git a/src/components/entity/ha-state-label-badge.ts b/src/components/entity/ha-state-label-badge.ts index 155294ef75..6af024518d 100644 --- a/src/components/entity/ha-state-label-badge.ts +++ b/src/components/entity/ha-state-label-badge.ts @@ -35,9 +35,9 @@ const TRUNCATED_DOMAINS = [ "person", ] as const satisfies ReadonlyArray; -type TruncatedDomain = typeof TRUNCATED_DOMAINS[number]; +type TruncatedDomain = (typeof TRUNCATED_DOMAINS)[number]; type TruncatedKey = { - [T in TruncatedDomain]: `${T}.${typeof FIXED_DOMAIN_STATES[T][number]}`; + [T in TruncatedDomain]: `${T}.${(typeof FIXED_DOMAIN_STATES)[T][number]}`; }[TruncatedDomain]; const getTruncatedKey = (domainKey: string, stateKey: string) => { diff --git a/src/data/automation.ts b/src/data/automation.ts index 1afa5a5184..b3dba670f6 100644 --- a/src/data/automation.ts +++ b/src/data/automation.ts @@ -8,7 +8,7 @@ import { BlueprintInput } from "./blueprint"; import { DeviceCondition, DeviceTrigger } from "./device_automation"; import { Action, MODES } from "./script"; -export const AUTOMATION_DEFAULT_MODE: typeof MODES[number] = "single"; +export const AUTOMATION_DEFAULT_MODE: (typeof MODES)[number] = "single"; export const AUTOMATION_DEFAULT_MAX = 10; export interface AutomationEntity extends HassEntityBase { @@ -29,7 +29,7 @@ export interface ManualAutomationConfig { trigger: Trigger | Trigger[]; condition?: Condition | Condition[]; action: Action | Action[]; - mode?: typeof MODES[number]; + mode?: (typeof MODES)[number]; max?: number; max_exceeded?: | "silent" diff --git a/src/data/energy.ts b/src/data/energy.ts index d7a8bf63d4..ba369bded0 100644 --- a/src/data/energy.ts +++ b/src/data/energy.ts @@ -671,7 +671,7 @@ export const getEnergySolarForecasts = (hass: HomeAssistant) => }); const energyGasUnitClass = ["volume", "energy"] as const; -export type EnergyGasUnitClass = typeof energyGasUnitClass[number]; +export type EnergyGasUnitClass = (typeof energyGasUnitClass)[number]; export const getEnergyGasUnitClass = ( prefs: EnergyPreferences, diff --git a/src/data/humidifier.ts b/src/data/humidifier.ts index 5f0fed7a5f..aaecf77e06 100644 --- a/src/data/humidifier.ts +++ b/src/data/humidifier.ts @@ -7,8 +7,8 @@ import { TranslationDict } from "../types"; import { UNAVAILABLE_STATES } from "./entity"; type HumidifierState = - | typeof FIXED_DOMAIN_STATES.humidifier[number] - | typeof UNAVAILABLE_STATES[number]; + | (typeof FIXED_DOMAIN_STATES.humidifier)[number] + | (typeof UNAVAILABLE_STATES)[number]; type HumidifierMode = keyof TranslationDict["state_attributes"]["humidifier"]["mode"]; diff --git a/src/data/recorder.ts b/src/data/recorder.ts index 1f12f5e9e2..7d93854db5 100644 --- a/src/data/recorder.ts +++ b/src/data/recorder.ts @@ -98,7 +98,7 @@ const statisticTypes = [ "state", "sum", ] as const; -export type StatisticsTypes = typeof statisticTypes[number][]; +export type StatisticsTypes = (typeof statisticTypes)[number][]; export interface StatisticsValidationResults { [statisticId: string]: StatisticsValidationResult[]; diff --git a/src/data/schedule.ts b/src/data/schedule.ts index c073795650..7de8111354 100644 --- a/src/data/schedule.ts +++ b/src/data/schedule.ts @@ -15,7 +15,7 @@ export interface ScheduleDay { to: string; } -type ScheduleDays = { [K in typeof weekdays[number]]?: ScheduleDay[] }; +type ScheduleDays = { [K in (typeof weekdays)[number]]?: ScheduleDay[] }; export interface Schedule extends ScheduleDays { id: string; diff --git a/src/data/script.ts b/src/data/script.ts index ed0a2c8e6a..a1288158db 100644 --- a/src/data/script.ts +++ b/src/data/script.ts @@ -77,7 +77,7 @@ const activateSceneActionStruct: Describe = assign( export interface ScriptEntity extends HassEntityBase { attributes: HassEntityAttributeBase & { last_triggered: string; - mode: typeof MODES[number]; + mode: (typeof MODES)[number]; current?: number; max?: number; }; @@ -89,7 +89,7 @@ export interface ManualScriptConfig { alias: string; sequence: Action | Action[]; icon?: string; - mode?: typeof MODES[number]; + mode?: (typeof MODES)[number]; max?: number; } diff --git a/src/panels/config/automation/automation-mode-dialog/dialog-automation-mode.ts b/src/panels/config/automation/automation-mode-dialog/dialog-automation-mode.ts index 270eaed01e..a8e1ce3aab 100644 --- a/src/panels/config/automation/automation-mode-dialog/dialog-automation-mode.ts +++ b/src/panels/config/automation/automation-mode-dialog/dialog-automation-mode.ts @@ -26,7 +26,7 @@ class DialogAutomationMode extends LitElement implements HassDialog { private _params!: AutomationModeDialog; - @state() private _newMode: typeof MODES[number] = AUTOMATION_DEFAULT_MODE; + @state() private _newMode: (typeof MODES)[number] = AUTOMATION_DEFAULT_MODE; @state() private _newMax?: number; diff --git a/src/panels/config/helpers/const.ts b/src/panels/config/helpers/const.ts index 82992ca6b4..43d6c7be78 100644 --- a/src/panels/config/helpers/const.ts +++ b/src/panels/config/helpers/const.ts @@ -21,7 +21,7 @@ export const HELPER_DOMAINS = [ "schedule", ] as const; -export type HelperDomain = typeof HELPER_DOMAINS[number]; +export type HelperDomain = (typeof HELPER_DOMAINS)[number]; export const isHelperDomain = arrayLiteralIncludes(HELPER_DOMAINS); export type Helper = diff --git a/src/panels/config/integrations/integration-panels/zha/zha-manage-clusters.ts b/src/panels/config/integrations/integration-panels/zha/zha-manage-clusters.ts index d956723242..db9aff319b 100644 --- a/src/panels/config/integrations/integration-panels/zha/zha-manage-clusters.ts +++ b/src/panels/config/integrations/integration-panels/zha/zha-manage-clusters.ts @@ -50,7 +50,7 @@ export class ZHAManageClusters extends LitElement { @state() private _selectedCluster?: Cluster; - @state() private _currTab: typeof tabs[number] = "attributes"; + @state() private _currTab: (typeof tabs)[number] = "attributes"; @state() private _clustersLoaded = false; diff --git a/src/panels/config/script/ha-script-editor.ts b/src/panels/config/script/ha-script-editor.ts index 167b0f6d95..829e762cbf 100644 --- a/src/panels/config/script/ha-script-editor.ts +++ b/src/panels/config/script/ha-script-editor.ts @@ -95,7 +95,7 @@ export class HaScriptEditor extends KeyboardShortcutMixin(LitElement) { ( hasID: boolean, useBluePrint?: boolean, - currentMode?: typeof MODES[number] + currentMode?: (typeof MODES)[number] ) => [ { @@ -528,7 +528,7 @@ export class HaScriptEditor extends KeyboardShortcutMixin(LitElement) { // Mode must be one of max modes per schema definition above return this.hass.localize( `ui.panel.config.script.editor.max.${ - data.mode as typeof MODES_MAX[number] + data.mode as (typeof MODES_MAX)[number] }` ); default: diff --git a/src/panels/lovelace/common/generate-lovelace-config.ts b/src/panels/lovelace/common/generate-lovelace-config.ts index 661334392d..f1343842c0 100644 --- a/src/panels/lovelace/common/generate-lovelace-config.ts +++ b/src/panels/lovelace/common/generate-lovelace-config.ts @@ -161,7 +161,7 @@ export const computeCards = ( renderFooterEntities && (domain === "scene" || domain === "script") ) { - const conf: typeof footerEntities[0] = { + const conf: (typeof footerEntities)[0] = { entity: entityId, show_icon: true, show_name: true, diff --git a/src/panels/lovelace/components/types.ts b/src/panels/lovelace/components/types.ts index 8c0684881e..ecdedbd423 100644 --- a/src/panels/lovelace/components/types.ts +++ b/src/panels/lovelace/components/types.ts @@ -16,4 +16,4 @@ export const TIMESTAMP_RENDERING_FORMATS = [ ] as const; export type TimestampRenderingFormat = - typeof TIMESTAMP_RENDERING_FORMATS[number]; + (typeof TIMESTAMP_RENDERING_FORMATS)[number]; diff --git a/src/panels/lovelace/editor/config-elements/hui-statistic-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-statistic-card-editor.ts index f37f1a2b17..7583d38fde 100644 --- a/src/panels/lovelace/editor/config-elements/hui-statistic-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-statistic-card-editor.ts @@ -38,7 +38,7 @@ const cardConfigStruct = assign( const stat_types = ["mean", "min", "max", "change"] as const; -const statTypeMap: Record = { +const statTypeMap: Record<(typeof stat_types)[number], StatisticType> = { mean: "mean", min: "min", max: "max", diff --git a/src/panels/lovelace/tile-features/types.ts b/src/panels/lovelace/tile-features/types.ts index d7186e6f19..b741503969 100644 --- a/src/panels/lovelace/tile-features/types.ts +++ b/src/panels/lovelace/tile-features/types.ts @@ -18,7 +18,7 @@ export const VACUUM_COMMANDS = [ "return_home", ] as const; -export type VacuumCommand = typeof VACUUM_COMMANDS[number]; +export type VacuumCommand = (typeof VACUUM_COMMANDS)[number]; export interface VacuumCommandsTileFeatureConfig { type: "vacuum-commands"; diff --git a/yarn.lock b/yarn.lock index 11e1a01f78..9b35f426fa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9592,7 +9592,7 @@ fsevents@^1.2.7: object-hash: ^3.0.0 open: ^8.4.0 pinst: ^3.0.0 - prettier: ^2.8.1 + prettier: ^2.8.3 proxy-polyfill: ^0.3.2 punycode: ^2.1.1 qr-scanner: ^1.3.0 @@ -13117,12 +13117,12 @@ fsevents@^1.2.7: languageName: node linkType: hard -"prettier@npm:^2.8.1": - version: 2.8.1 - resolution: "prettier@npm:2.8.1" +"prettier@npm:^2.8.3": + version: 2.8.3 + resolution: "prettier@npm:2.8.3" bin: prettier: bin-prettier.js - checksum: 4f21a0f1269f76fb36f54e9a8a1ea4c11e27478958bf860661fb4b6d7ac69aac1581f8724fa98ea3585e56d42a2ea317a17ff6e3324f40cb11ff9e20b73785cc + checksum: 92f2ceb522d454370e02082aa74ad27388672f7cee8975028b59517c069fe643bdc73e322675c8faf2ff173d7a626d1a6389f26b474000308e793aa25fff46e5 languageName: node linkType: hard