diff --git a/.eslintrc.json b/.eslintrc.json index 49546398a7..dd3bdc9c00 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -76,12 +76,13 @@ "default-case": 0, "wc/no-self-class": 0, "@typescript-eslint/camelcase": 0, - "@typescript-eslint/ban-ts-ignore": 0, + "@typescript-eslint/ban-ts-comment": 0, "@typescript-eslint/no-use-before-define": 0, "@typescript-eslint/no-non-null-assertion": 0, "@typescript-eslint/no-explicit-any": 0, "@typescript-eslint/no-unused-vars": 0, - "@typescript-eslint/explicit-function-return-type": 0 + "@typescript-eslint/explicit-function-return-type": 0, + "@typescript-eslint/explicit-module-boundary-types": 0 }, "plugins": ["disable", "import", "lit", "prettier", "@typescript-eslint"], "processor": "disable/disable" diff --git a/hassio/src/dialogs/network/dialog-hassio-network.ts b/hassio/src/dialogs/network/dialog-hassio-network.ts index 1ab958891b..8569b8bc60 100644 --- a/hassio/src/dialogs/network/dialog-hassio-network.ts +++ b/hassio/src/dialogs/network/dialog-hassio-network.ts @@ -39,7 +39,8 @@ import type { HomeAssistant } from "../../../../src/types"; import { HassioNetworkDialogParams } from "./show-dialog-network"; @customElement("dialog-hassio-network") -export class DialogHassioNetwork extends LitElement implements HassDialog { +export class DialogHassioNetwork extends LitElement + implements HassDialog { @property({ attribute: false }) public hass!: HomeAssistant; @internalProperty() private _prosessing = false; diff --git a/hassio/src/dialogs/snapshot/dialog-hassio-snapshot-upload.ts b/hassio/src/dialogs/snapshot/dialog-hassio-snapshot-upload.ts index ed0532d29f..1f657bf0d8 100644 --- a/hassio/src/dialogs/snapshot/dialog-hassio-snapshot-upload.ts +++ b/hassio/src/dialogs/snapshot/dialog-hassio-snapshot-upload.ts @@ -19,7 +19,7 @@ import { HassioSnapshotUploadDialogParams } from "./show-dialog-snapshot-upload" @customElement("dialog-hassio-snapshot-upload") export class DialogHassioSnapshotUpload extends LitElement - implements HassDialog { + implements HassDialog { @property({ attribute: false }) public hass!: HomeAssistant; @internalProperty() private _params?: HassioSnapshotUploadDialogParams; diff --git a/package.json b/package.json index b082c40cfb..5815f6f1b1 100644 --- a/package.json +++ b/package.json @@ -128,17 +128,17 @@ "xss": "^1.0.6" }, "devDependencies": { - "@babel/core": "^7.9.0", - "@babel/plugin-external-helpers": "^7.8.3", - "@babel/plugin-proposal-class-properties": "^7.8.3", - "@babel/plugin-proposal-decorators": "^7.8.3", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-proposal-object-rest-spread": "^7.9.5", - "@babel/plugin-proposal-optional-chaining": "^7.9.0", + "@babel/core": "^7.11.6", + "@babel/plugin-external-helpers": "^7.10.4", + "@babel/plugin-proposal-class-properties": "^7.10.4", + "@babel/plugin-proposal-decorators": "^7.10.5", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4", + "@babel/plugin-proposal-object-rest-spread": "^7.11.0", + "@babel/plugin-proposal-optional-chaining": "^7.11.0", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/preset-env": "^7.9.5", - "@babel/preset-typescript": "^7.9.0", + "@babel/preset-env": "^7.11.5", + "@babel/preset-typescript": "^7.10.4", "@rollup/plugin-commonjs": "^11.1.0", "@rollup/plugin-json": "^4.0.3", "@rollup/plugin-node-resolve": "^7.1.3", @@ -155,8 +155,8 @@ "@types/mocha": "^7.0.2", "@types/resize-observer-browser": "^0.1.3", "@types/webspeechapi": "^0.0.29", - "@typescript-eslint/eslint-plugin": "^2.28.0", - "@typescript-eslint/parser": "^2.28.0", + "@typescript-eslint/eslint-plugin": "^4.4.0", + "@typescript-eslint/parser": "^4.4.0", "babel-loader": "^8.1.0", "chai": "^4.2.0", "del": "^4.0.0", @@ -204,7 +204,7 @@ "terser-webpack-plugin": "^3.0.6", "ts-lit-plugin": "^1.2.1", "ts-mocha": "^7.0.0", - "typescript": "^3.8.3", + "typescript": "^4.0.3", "vinyl-buffer": "^1.0.1", "vinyl-source-stream": "^2.0.0", "webpack": "5.0.0-rc.3", diff --git a/src/auth/ha-auth-flow.ts b/src/auth/ha-auth-flow.ts index 4ad4b3330b..a4234c56ca 100644 --- a/src/auth/ha-auth-flow.ts +++ b/src/auth/ha-auth-flow.ts @@ -200,7 +200,7 @@ class HaAuthFlow extends litLocalizeLiteMixin(LitElement) { private _redirect(authCode: string) { // OAuth 2: 3.1.2 we need to retain query component of a redirect URI - let url = this.redirectUri!!; + let url = this.redirectUri!; if (!url.includes("?")) { url += "?"; } else if (!url.endsWith("&")) { diff --git a/src/common/util/debounce.ts b/src/common/util/debounce.ts index fedd679e2e..557d596540 100644 --- a/src/common/util/debounce.ts +++ b/src/common/util/debounce.ts @@ -5,7 +5,7 @@ // N milliseconds. If `immediate` is passed, trigger the function on the // leading edge, instead of the trailing. // eslint-disable-next-line: ban-types -export const debounce = ( +export const debounce = unknown>( func: T, wait, immediate = false diff --git a/src/common/util/subscribe-one.ts b/src/common/util/subscribe-one.ts index f86bfb7388..51bfa1081d 100644 --- a/src/common/util/subscribe-one.ts +++ b/src/common/util/subscribe-one.ts @@ -2,7 +2,10 @@ import { Connection, UnsubscribeFunc } from "home-assistant-js-websocket"; export const subscribeOne = async ( conn: Connection, - subscribe: (conn: Connection, onChange: (items: T) => void) => UnsubscribeFunc + subscribe: ( + conn2: Connection, + onChange: (items: T) => void + ) => UnsubscribeFunc ) => new Promise((resolve) => { const unsub = subscribe(conn, (items) => { diff --git a/src/common/util/throttle.ts b/src/common/util/throttle.ts index 1cd98ea188..4832a2709b 100644 --- a/src/common/util/throttle.ts +++ b/src/common/util/throttle.ts @@ -5,7 +5,7 @@ // as much as it can, without ever going more than once per `wait` duration; // but if you'd like to disable the execution on the leading edge, pass // `false for leading`. To disable execution on the trailing edge, ditto. -export const throttle = ( +export const throttle = unknown>( func: T, wait: number, leading = true, diff --git a/src/components/data-table/ha-data-table.ts b/src/components/data-table/ha-data-table.ts index bb984a8cce..d460edf743 100644 --- a/src/components/data-table/ha-data-table.ts +++ b/src/components/data-table/ha-data-table.ts @@ -73,13 +73,17 @@ export interface DataTableColumnData extends DataTableSortColumnData { hidden?: boolean; } +type ClonedDataTableColumnData = Omit & { + title?: string; +}; + export interface DataTableRowData { [key: string]: any; selectable?: boolean; } export interface SortableColumnContainer { - [key: string]: DataTableSortColumnData; + [key: string]: ClonedDataTableColumnData; } @customElement("ha-data-table") @@ -169,11 +173,13 @@ export class HaDataTable extends LitElement { } const clonedColumns: DataTableColumnContainer = deepClone(this.columns); - Object.values(clonedColumns).forEach((column: DataTableColumnData) => { - delete column.title; - delete column.type; - delete column.template; - }); + Object.values(clonedColumns).forEach( + (column: ClonedDataTableColumnData) => { + delete column.title; + delete column.type; + delete column.template; + } + ); this._sortColumns = clonedColumns; } diff --git a/src/components/date-range-picker.ts b/src/components/date-range-picker.ts index cc0e7d3f29..70211da366 100644 --- a/src/components/date-range-picker.ts +++ b/src/components/date-range-picker.ts @@ -1,7 +1,7 @@ +// @ts-nocheck import Vue from "vue"; import wrap from "@vue/web-component-wrapper"; import DateRangePicker from "vue2-daterange-picker"; -// @ts-ignore import dateRangePickerStyles from "vue2-daterange-picker/dist/vue2-daterange-picker.css"; import { fireEvent } from "../common/dom/fire_event"; import { Constructor } from "../types"; @@ -35,7 +35,6 @@ const Component = Vue.extend({ }, }, render(createElement) { - // @ts-ignore return createElement(DateRangePicker, { props: { "time-picker": true, @@ -52,7 +51,6 @@ const Component = Vue.extend({ endDate: this.endDate, }, callback: (value) => { - // @ts-ignore fireEvent(this.$el as HTMLElement, "change", value); }, expression: "dateRange", diff --git a/src/components/ha-yaml-editor.ts b/src/components/ha-yaml-editor.ts index c905ec24e5..3666fb09ea 100644 --- a/src/components/ha-yaml-editor.ts +++ b/src/components/ha-yaml-editor.ts @@ -20,7 +20,7 @@ declare global { } } -const isEmpty = (obj: object): boolean => { +const isEmpty = (obj: Record): boolean => { if (typeof obj !== "object") { return false; } diff --git a/src/components/map/ha-location-editor.ts b/src/components/map/ha-location-editor.ts index 3b42fd38cc..8ba1ec3c2b 100644 --- a/src/components/map/ha-location-editor.ts +++ b/src/components/map/ha-location-editor.ts @@ -61,8 +61,8 @@ class LocationEditor extends LitElement { if (!this._leafletMap || !this.location) { return; } - if ((this._locationMarker as Circle).getBounds) { - this._leafletMap.fitBounds((this._locationMarker as Circle).getBounds()); + if (this._locationMarker && "getBounds" in this._locationMarker) { + this._leafletMap.fitBounds(this._locationMarker.getBounds()); } else { this._leafletMap.setView(this.location, this.fitZoom); } diff --git a/src/components/map/ha-locations-editor.ts b/src/components/map/ha-locations-editor.ts index 06547974fe..a12021c11f 100644 --- a/src/components/map/ha-locations-editor.ts +++ b/src/components/map/ha-locations-editor.ts @@ -90,8 +90,8 @@ export class HaLocationsEditor extends LitElement { if (!marker) { return; } - if ((marker as Circle).getBounds) { - this._leafletMap.fitBounds((marker as Circle).getBounds()); + if ("getBounds" in marker) { + this._leafletMap.fitBounds(marker.getBounds()); (marker as Circle).bringToFront(); } else { const circle = this._circles[id]; @@ -296,8 +296,8 @@ export class HaLocationsEditor extends LitElement { // @ts-ignore (ev: MouseEvent) => this._markerClicked(ev) ) - .addTo(this._leafletMap); - marker.id = location.id; + .addTo(this._leafletMap!); + (marker as any).id = location.id; this._locationMarkers![location.id] = marker; } diff --git a/src/data/automation.ts b/src/data/automation.ts index 4b06d4af63..acbd13df47 100644 --- a/src/data/automation.ts +++ b/src/data/automation.ts @@ -217,12 +217,12 @@ export const subscribeTrigger = ( hass: HomeAssistant, onChange: (result: { variables: { - trigger: {}; + trigger: Record; }; context: Context; }) => void, trigger: Trigger | Trigger[], - variables?: {} + variables?: Record ) => hass.connection.subscribeMessage(onChange, { type: "subscribe_trigger", @@ -233,7 +233,7 @@ export const subscribeTrigger = ( export const testCondition = ( hass: HomeAssistant, condition: Condition | Condition[], - variables?: {} + variables?: Record ) => hass.callWS<{ result: boolean }>({ type: "test_condition", diff --git a/src/data/collection.ts b/src/data/collection.ts index a565d371f0..43931acd31 100644 --- a/src/data/collection.ts +++ b/src/data/collection.ts @@ -17,12 +17,12 @@ interface OptimisticCollection extends Collection { */ export const getOptimisticCollection = ( - saveCollection: (conn: Connection, data: StateType) => Promise, + saveCollection: (conn2: Connection, data: StateType) => Promise, conn: Connection, key: string, - fetchCollection: (conn: Connection) => Promise, + fetchCollection: (conn2: Connection) => Promise, subscribeUpdates?: ( - conn: Connection, + conn2: Connection, store: Store ) => Promise ): OptimisticCollection => { diff --git a/src/data/entity_registry.ts b/src/data/entity_registry.ts index a5d897ca8b..4c5271e82d 100644 --- a/src/data/entity_registry.ts +++ b/src/data/entity_registry.ts @@ -15,7 +15,7 @@ export interface EntityRegistryEntry { export interface ExtEntityRegistryEntry extends EntityRegistryEntry { unique_id: string; - capabilities: object; + capabilities: Record; original_name?: string; original_icon?: string; } diff --git a/src/data/hassio/addon.ts b/src/data/hassio/addon.ts index d500ad4311..deae77ea4b 100644 --- a/src/data/hassio/addon.ts +++ b/src/data/hassio/addon.ts @@ -34,9 +34,9 @@ export interface HassioAddonDetails extends HassioAddonInfo { version_latest: string; boot: "auto" | "manual"; build: boolean; - options: object; - network: null | object; - network_description: null | object; + options: Record; + network: null | Record; + network_description: null | Record; host_network: boolean; host_pid: boolean; host_ipc: boolean; @@ -96,11 +96,11 @@ export interface HassioAddonRepository { export interface HassioAddonSetOptionParams { audio_input?: string | null; audio_output?: string | null; - options?: object | null; + options?: Record | null; boot?: "auto" | "manual"; auto_update?: boolean; ingress_panel?: boolean; - network?: object | null; + network?: Record | null; watchdog?: boolean; } diff --git a/src/data/hassio/hardware.ts b/src/data/hassio/hardware.ts index 345bf0d1ba..863a16d70d 100644 --- a/src/data/hassio/hardware.ts +++ b/src/data/hassio/hardware.ts @@ -18,7 +18,7 @@ export interface HassioHardwareInfo { input: string[]; disk: string[]; gpio: string[]; - audio: object; + audio: Record; } export const fetchHassioHardwareAudio = async (hass: HomeAssistant) => { diff --git a/src/data/panel_custom.ts b/src/data/panel_custom.ts index ce09a24408..0b6472c6d1 100644 --- a/src/data/panel_custom.ts +++ b/src/data/panel_custom.ts @@ -9,6 +9,6 @@ export interface CustomPanelConfig { html_url?: string; } -export type CustomPanelInfo = PanelInfo< +export type CustomPanelInfo> = PanelInfo< T & { _panel_custom: CustomPanelConfig } >; diff --git a/src/data/script.ts b/src/data/script.ts index 240472f743..3becd56e0a 100644 --- a/src/data/script.ts +++ b/src/data/script.ts @@ -105,7 +105,7 @@ export type Action = export const triggerScript = ( hass: HomeAssistant, entityId: string, - variables?: {} + variables?: Record ) => hass.callService("script", computeObjectId(entityId), variables); export const canExcecute = (state: ScriptEntity) => { diff --git a/src/data/translation.ts b/src/data/translation.ts index a713ccd256..8a11515458 100644 --- a/src/data/translation.ts +++ b/src/data/translation.ts @@ -33,8 +33,8 @@ export const getHassTranslations = async ( category: TranslationCategory, integration?: string, config_flow?: boolean -): Promise<{}> => { - const result = await hass.callWS<{ resources: {} }>({ +): Promise> => { + const result = await hass.callWS<{ resources: Record }>({ type: "frontend/get_translations", language, category, @@ -47,8 +47,8 @@ export const getHassTranslations = async ( export const getHassTranslationsPre109 = async ( hass: HomeAssistant, language: string -): Promise<{}> => { - const result = await hass.callWS<{ resources: {} }>({ +): Promise> => { + const result = await hass.callWS<{ resources: Record }>({ type: "frontend/get_translations", language, }); diff --git a/src/data/ws-templates.ts b/src/data/ws-templates.ts index 0cac4d4606..ace9115578 100644 --- a/src/data/ws-templates.ts +++ b/src/data/ws-templates.ts @@ -17,7 +17,7 @@ export const subscribeRenderTemplate = ( params: { template: string; entity_ids?: string | string[]; - variables?: object; + variables?: Record; timeout?: number; } ): Promise => { diff --git a/src/dialogs/domain-toggler/dialog-domain-toggler.ts b/src/dialogs/domain-toggler/dialog-domain-toggler.ts index 4fb23c79de..4540edfcc7 100644 --- a/src/dialogs/domain-toggler/dialog-domain-toggler.ts +++ b/src/dialogs/domain-toggler/dialog-domain-toggler.ts @@ -19,7 +19,8 @@ import { HassDialog } from "../make-dialog-manager"; import { HaDomainTogglerDialogParams } from "./show-dialog-domain-toggler"; @customElement("dialog-domain-toggler") -class DomainTogglerDialog extends LitElement implements HassDialog { +class DomainTogglerDialog extends LitElement + implements HassDialog { public hass!: HomeAssistant; @internalProperty() private _params?: HaDomainTogglerDialogParams; diff --git a/src/entrypoints/custom-panel.ts b/src/entrypoints/custom-panel.ts index 4ff9160025..bbb9320c41 100644 --- a/src/entrypoints/custom-panel.ts +++ b/src/entrypoints/custom-panel.ts @@ -35,7 +35,10 @@ function setProperties(properties) { setCustomPanelProperties(panelEl, properties); } -function initialize(panel: CustomPanelInfo, properties: {}) { +function initialize( + panel: CustomPanelInfo, + properties: Record +) { const style = document.createElement("style"); style.innerHTML = "body{margin:0}"; document.head.appendChild(style); diff --git a/src/panels/config/automation/action/types/ha-automation-action-wait_template.ts b/src/panels/config/automation/action/types/ha-automation-action-wait_template.ts index 2cf6a86299..ed6326a381 100644 --- a/src/panels/config/automation/action/types/ha-automation-action-wait_template.ts +++ b/src/panels/config/automation/action/types/ha-automation-action-wait_template.ts @@ -40,7 +40,9 @@ export class HaWaitAction extends LitElement implements ActionElement { >
; @property() public showAsYaml = false; diff --git a/src/panels/config/devices/device-detail/integration-elements/ozw/ha-device-actions-ozw.ts b/src/panels/config/devices/device-detail/integration-elements/ozw/ha-device-actions-ozw.ts index 7f0cac03f2..6773c324a9 100644 --- a/src/panels/config/devices/device-detail/integration-elements/ozw/ha-device-actions-ozw.ts +++ b/src/panels/config/devices/device-detail/integration-elements/ozw/ha-device-actions-ozw.ts @@ -31,7 +31,6 @@ export class HaDeviceActionsOzw extends LitElement { @property() private ozw_instance = 1; - protected updated(changedProperties: PropertyValues) { if (changedProperties.has("device")) { const identifiers: diff --git a/src/panels/config/entities/dialog-entity-editor.ts b/src/panels/config/entities/dialog-entity-editor.ts index 87e3cb87da..c12c79d28e 100644 --- a/src/panels/config/entities/dialog-entity-editor.ts +++ b/src/panels/config/entities/dialog-entity-editor.ts @@ -175,16 +175,11 @@ export class DialogEntityEditor extends LitElement { "ui.dialogs.entity_registry.no_unique_id", "faq_link", html`${this.hass.localize( - "ui.dialogs.entity_registry.faq" - )}` + >${this.hass.localize("ui.dialogs.entity_registry.faq")}` )} `; diff --git a/src/panels/config/tags/dialog-tag-detail.ts b/src/panels/config/tags/dialog-tag-detail.ts index d34ed4e206..ab007e8323 100644 --- a/src/panels/config/tags/dialog-tag-detail.ts +++ b/src/panels/config/tags/dialog-tag-detail.ts @@ -22,7 +22,8 @@ import { HomeAssistant } from "../../../types"; import { TagDetailDialogParams } from "./show-dialog-tag-detail"; @customElement("dialog-tag-detail") -class DialogTagDetail extends LitElement implements HassDialog { +class DialogTagDetail extends LitElement + implements HassDialog { @property({ attribute: false }) public hass!: HomeAssistant; @internalProperty() private _id?: string; diff --git a/src/panels/custom/ha-panel-custom.ts b/src/panels/custom/ha-panel-custom.ts index 028cd9b227..e64476fef6 100644 --- a/src/panels/custom/ha-panel-custom.ts +++ b/src/panels/custom/ha-panel-custom.ts @@ -24,7 +24,7 @@ export class HaPanelCustom extends UpdatingElement { @property() public panel!: CustomPanelInfo; - private _setProperties?: (props: {}) => void | undefined; + private _setProperties?: (props: Record) => void | undefined; // Since navigate fires events on `window`, we need to expose this as a function // to allow custom panels to forward their location changes to the main window diff --git a/src/panels/lovelace/cards/hui-stack-card.ts b/src/panels/lovelace/cards/hui-stack-card.ts index 0f6d0ebb71..d4126bbf3b 100644 --- a/src/panels/lovelace/cards/hui-stack-card.ts +++ b/src/panels/lovelace/cards/hui-stack-card.ts @@ -22,7 +22,7 @@ export abstract class HuiStackCard extends LitElement implements LovelaceCard { return document.createElement("hui-stack-card-editor"); } - public static getStubConfig(): object { + public static getStubConfig(): Record { return { cards: [] }; } diff --git a/src/panels/lovelace/cards/types.ts b/src/panels/lovelace/cards/types.ts index 78997f8b31..da051b44e3 100644 --- a/src/panels/lovelace/cards/types.ts +++ b/src/panels/lovelace/cards/types.ts @@ -50,7 +50,7 @@ export interface EntitiesCardEntityConfig extends EntityConfig { | "brightness"; action_name?: string; service?: string; - service_data?: object; + service_data?: Record; url?: string; tap_action?: ActionConfig; hold_action?: ActionConfig; @@ -212,7 +212,7 @@ export interface PictureElementsCardConfig extends LovelaceCardConfig { image?: string; camera_image?: string; camera_view?: HuiImage["cameraView"]; - state_image?: {}; + state_image?: Record; state_filter?: string[]; aspect_ratio?: string; entity?: string; @@ -226,7 +226,7 @@ export interface PictureEntityCardConfig extends LovelaceCardConfig { image?: string; camera_image?: string; camera_view?: HuiImage["cameraView"]; - state_image?: {}; + state_image?: Record; state_filter?: string[]; aspect_ratio?: string; tap_action?: ActionConfig; @@ -243,7 +243,7 @@ export interface PictureGlanceCardConfig extends LovelaceCardConfig { image?: string; camera_image?: string; camera_view?: HuiImage["cameraView"]; - state_image?: {}; + state_image?: Record; state_filter?: string[]; aspect_ratio?: string; entity?: string; diff --git a/src/panels/lovelace/components/hui-warning.ts b/src/panels/lovelace/components/hui-warning.ts index 05732f51b1..2d58d9cbba 100644 --- a/src/panels/lovelace/components/hui-warning.ts +++ b/src/panels/lovelace/components/hui-warning.ts @@ -35,7 +35,7 @@ export class HuiWarning extends LitElement { color: black; background-color: #fce588; padding: 8px; - word-break: break-word; + word-break: break-word; } `; } diff --git a/src/panels/lovelace/editor/card-editor/hui-dialog-create-card.ts b/src/panels/lovelace/editor/card-editor/hui-dialog-create-card.ts index dcd85faf58..3eb419a3cd 100644 --- a/src/panels/lovelace/editor/card-editor/hui-dialog-create-card.ts +++ b/src/panels/lovelace/editor/card-editor/hui-dialog-create-card.ts @@ -40,7 +40,8 @@ interface SelectedChangedEvent { } @customElement("hui-dialog-create-card") -export class HuiCreateDialogCard extends LitElement implements HassDialog { +export class HuiCreateDialogCard extends LitElement + implements HassDialog { @property({ attribute: false }) protected hass!: HomeAssistant; @internalProperty() private _params?: CreateCardDialogParams; diff --git a/src/panels/lovelace/editor/card-editor/hui-dialog-edit-card.ts b/src/panels/lovelace/editor/card-editor/hui-dialog-edit-card.ts index dc2eecbe57..a99e1ac6ca 100755 --- a/src/panels/lovelace/editor/card-editor/hui-dialog-edit-card.ts +++ b/src/panels/lovelace/editor/card-editor/hui-dialog-edit-card.ts @@ -50,7 +50,8 @@ declare global { } @customElement("hui-dialog-edit-card") -export class HuiDialogEditCard extends LitElement implements HassDialog { +export class HuiDialogEditCard extends LitElement + implements HassDialog { @property({ attribute: false }) public hass!: HomeAssistant; @internalProperty() private _params?: EditCardDialogParams; diff --git a/src/panels/lovelace/editor/config-elements/hui-picture-glance-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-picture-glance-card-editor.ts index d22f7b0036..fd68a51057 100644 --- a/src/panels/lovelace/editor/config-elements/hui-picture-glance-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-picture-glance-card-editor.ts @@ -83,7 +83,7 @@ export class HuiPictureGlanceCardEditor extends LitElement return this._config!.camera_view || "auto"; } - get _state_image(): {} { + get _state_image(): Record { return this._config!.state_image || {}; } diff --git a/src/panels/lovelace/elements/hui-service-button-element.ts b/src/panels/lovelace/elements/hui-service-button-element.ts index 08f0988818..a9af59cf0e 100644 --- a/src/panels/lovelace/elements/hui-service-button-element.ts +++ b/src/panels/lovelace/elements/hui-service-button-element.ts @@ -22,10 +22,6 @@ export class HuiServiceButtonElement extends LitElement private _service?: string; - static get properties() { - return { _config: {} }; - } - public setConfig(config: ServiceButtonElementConfig): void { if (!config || !config.service) { throw Error("Invalid Configuration: 'service' required"); diff --git a/src/panels/lovelace/elements/types.ts b/src/panels/lovelace/elements/types.ts index 46374b34c2..1894946a13 100644 --- a/src/panels/lovelace/elements/types.ts +++ b/src/panels/lovelace/elements/types.ts @@ -4,7 +4,7 @@ import { Condition } from "../common/validate-condition"; interface LovelaceElementConfigBase { type: string; - style: object; + style: Record; } export type LovelaceElementConfig = @@ -51,7 +51,7 @@ export interface ImageElementConfig extends LovelaceElementConfigBase { export interface ServiceButtonElementConfig extends LovelaceElementConfigBase { title?: string; service?: string; - service_data?: object; + service_data?: Record; } export interface StateBadgeElementConfig extends LovelaceElementConfigBase { diff --git a/src/panels/lovelace/entity-rows/hui-group-entity-row.ts b/src/panels/lovelace/entity-rows/hui-group-entity-row.ts index 8982640a61..fb414e312f 100644 --- a/src/panels/lovelace/entity-rows/hui-group-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-group-entity-row.ts @@ -29,7 +29,7 @@ class HuiGroupEntityRow extends LitElement implements LovelaceRow { if (domain === "group") { return this._computeCanToggle( hass, - this.hass?.states[entityId].attributes["entity_id"] + this.hass?.states[entityId].attributes.entity_id ); } return DOMAINS_TOGGLE.has(domain); diff --git a/src/panels/lovelace/entity-rows/types.ts b/src/panels/lovelace/entity-rows/types.ts index 03c162fb2f..e1d328c330 100644 --- a/src/panels/lovelace/entity-rows/types.ts +++ b/src/panels/lovelace/entity-rows/types.ts @@ -50,12 +50,12 @@ export interface ButtonRowConfig extends EntityConfig { } export interface CastConfig { type: "cast"; - icon: string; - name: string; + icon?: string; + name?: string; view: string | number; dashboard?: string; // Hide the row if either unsupported browser or no API available. - hide_if_unavailable: boolean; + hide_if_unavailable?: boolean; } export interface ButtonsRowConfig { type: "buttons"; diff --git a/src/panels/lovelace/header-footer/hui-buttons-header-footer.ts b/src/panels/lovelace/header-footer/hui-buttons-header-footer.ts index 19f8be82be..80007fbfc2 100644 --- a/src/panels/lovelace/header-footer/hui-buttons-header-footer.ts +++ b/src/panels/lovelace/header-footer/hui-buttons-header-footer.ts @@ -16,7 +16,7 @@ import { ButtonsHeaderFooterConfig } from "./types"; @customElement("hui-buttons-header-footer") export class HuiButtonsHeaderFooter extends LitElement implements LovelaceHeaderFooter { - public static getStubConfig(): object { + public static getStubConfig(): Record { return { entities: [] }; } diff --git a/src/panels/lovelace/header-footer/hui-graph-header-footer.ts b/src/panels/lovelace/header-footer/hui-graph-header-footer.ts index 8cbda2ed3e..1bcc14afc2 100644 --- a/src/panels/lovelace/header-footer/hui-graph-header-footer.ts +++ b/src/panels/lovelace/header-footer/hui-graph-header-footer.ts @@ -25,7 +25,7 @@ const DAY = 86400000; @customElement("hui-graph-header-footer") export class HuiGraphHeaderFooter extends LitElement implements LovelaceHeaderFooter { - public static getStubConfig(): object { + public static getStubConfig(): Record { return {}; } diff --git a/src/panels/lovelace/header-footer/hui-picture-header-footer.ts b/src/panels/lovelace/header-footer/hui-picture-header-footer.ts index 7b00580748..dd762486ef 100644 --- a/src/panels/lovelace/header-footer/hui-picture-header-footer.ts +++ b/src/panels/lovelace/header-footer/hui-picture-header-footer.ts @@ -22,7 +22,7 @@ import { PictureHeaderFooterConfig } from "./types"; @customElement("hui-picture-header-footer") export class HuiPictureHeaderFooter extends LitElement implements LovelaceHeaderFooter { - public static getStubConfig(): object { + public static getStubConfig(): Record { return { image: "https://www.home-assistant.io/images/merchandise/shirt-frontpage.png", diff --git a/src/panels/lovelace/special-rows/hui-buttons-row.ts b/src/panels/lovelace/special-rows/hui-buttons-row.ts index 574ffd0bf4..f910df90b0 100644 --- a/src/panels/lovelace/special-rows/hui-buttons-row.ts +++ b/src/panels/lovelace/special-rows/hui-buttons-row.ts @@ -17,7 +17,7 @@ import { @customElement("hui-buttons-row") export class HuiButtonsRow extends LitElement implements LovelaceRow { - public static getStubConfig(): object { + public static getStubConfig(): Record { return { entities: [] }; } diff --git a/src/panels/lovelace/types.ts b/src/panels/lovelace/types.ts index 8609f47b78..b6e52a3d1c 100644 --- a/src/panels/lovelace/types.ts +++ b/src/panels/lovelace/types.ts @@ -10,8 +10,8 @@ import { LovelaceHeaderFooterConfig } from "./header-footer/types"; declare global { // eslint-disable-next-line interface HASSDomEvents { - "ll-rebuild": {}; - "ll-badge-rebuild": {}; + "ll-rebuild": Record; + "ll-badge-rebuild": Record; } } diff --git a/src/panels/profile/ha-panel-profile.ts b/src/panels/profile/ha-panel-profile.ts index c26d92b853..3c8e6ab6a4 100644 --- a/src/panels/profile/ha-panel-profile.ts +++ b/src/panels/profile/ha-panel-profile.ts @@ -132,7 +132,7 @@ class HaPanelProfile extends LitElement { > ` : ""} - ${navigator.vibrate + ${"vibrate" in navigator ? html` = new (...args: any[]) => T; +export type Constructor = new (...args: any[]) => T; export interface ClassElement { kind: "field" | "method"; key: PropertyKey; placement: "static" | "prototype" | "own"; - initializer?: Function; + initializer?: (...args) => unknown; extras?: ClassElement[]; finisher?: (cls: Constructor) => undefined | Constructor; descriptor?: PropertyDescriptor; @@ -109,7 +109,7 @@ export interface ThemeSettings { accentColor?: string; } -export interface PanelInfo { +export interface PanelInfo | null> { component_name: string; config: T; icon: string | null; diff --git a/src/util/hass-call-api.ts b/src/util/hass-call-api.ts index ba75db21f9..cc85783cc7 100644 --- a/src/util/hass-call-api.ts +++ b/src/util/hass-call-api.ts @@ -52,7 +52,7 @@ export default async function hassCallApi( auth: Auth, method: string, path: string, - parameters?: {} + parameters?: Record ) { const url = `${auth.data.hassUrl}/api/${path}`; diff --git a/yarn.lock b/yarn.lock index 1b33a11108..9b1d580274 100644 --- a/yarn.lock +++ b/yarn.lock @@ -39,15 +39,6 @@ invariant "^2.2.4" semver "^5.5.0" -"@babel/compat-data@^7.8.6", "@babel/compat-data@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.9.0.tgz#04815556fc90b0c174abd2c0c1bb966faa036a6c" - integrity sha512-zeFQrr+284Ekvd9e7KAX954LkapWiOmQtsfHirhxqfdlX6MEC32iRE+pqUGlYIBchdevaCwvzxWGSy/YBNI85g== - dependencies: - browserslist "^4.9.1" - invariant "^2.2.4" - semver "^5.5.0" - "@babel/compat-data@^7.9.6": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.9.6.tgz#3f604c40e420131affe6f2c8052e9a275ae2049b" @@ -57,7 +48,7 @@ invariant "^2.2.4" semver "^5.5.0" -"@babel/core@^7.1.6": +"@babel/core@^7.1.6", "@babel/core@^7.11.6": version "7.11.6" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.11.6.tgz#3a9455dc7387ff1bac45770650bc13ba04a15651" integrity sha512-Wpcv03AGnmkgm6uS6k8iwhIwTrcP0m17TL1n1sy7qD0qelDu4XNeW0dN0mHfa+Gei211yDaLoEe/VlbXQzM4Bg== @@ -101,28 +92,6 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e" - integrity sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w== - dependencies: - "@babel/code-frame" "^7.8.3" - "@babel/generator" "^7.9.0" - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helpers" "^7.9.0" - "@babel/parser" "^7.9.0" - "@babel/template" "^7.8.6" - "@babel/traverse" "^7.9.0" - "@babel/types" "^7.9.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - "@babel/generator@^7.11.5", "@babel/generator@^7.11.6": version "7.11.6" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.6.tgz#b868900f81b163b4d464ea24545c61cbac4dc620" @@ -142,7 +111,7 @@ lodash "^4.17.13" source-map "^0.5.0" -"@babel/generator@^7.9.0", "@babel/generator@^7.9.5": +"@babel/generator@^7.9.5": version "7.9.5" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.5.tgz#27f0917741acc41e6eaaced6d68f96c3fa9afaf9" integrity sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ== @@ -203,17 +172,6 @@ levenary "^1.1.1" semver "^5.5.0" -"@babel/helper-compilation-targets@^7.8.7": - version "7.8.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.7.tgz#dac1eea159c0e4bd46e309b5a1b04a66b53c1dde" - integrity sha512-4mWm8DCK2LugIS+p1yArqvG1Pf162upsIsjE7cNBjez+NjliQpVhj20obE520nao0o14DaTnFJv+Fw5a0JpoUw== - dependencies: - "@babel/compat-data" "^7.8.6" - browserslist "^4.9.1" - invariant "^2.2.4" - levenary "^1.1.1" - semver "^5.5.0" - "@babel/helper-compilation-targets@^7.9.6": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.9.6.tgz#1e05b7ccc9d38d2f8b40b458b380a04dcfadd38a" @@ -237,18 +195,6 @@ "@babel/helper-replace-supers" "^7.10.4" "@babel/helper-split-export-declaration" "^7.10.4" -"@babel/helper-create-class-features-plugin@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.8.3.tgz#5b94be88c255f140fd2c10dd151e7f98f4bff397" - integrity sha512-qmp4pD7zeTxsv0JNecSBsEmG1ei2MqwJq4YQcK3ZWm/0t07QstWfvuV/vm3Qt5xNMFETn2SZqpMx2MQzbtq+KA== - dependencies: - "@babel/helper-function-name" "^7.8.3" - "@babel/helper-member-expression-to-functions" "^7.8.3" - "@babel/helper-optimise-call-expression" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-replace-supers" "^7.8.3" - "@babel/helper-split-export-declaration" "^7.8.3" - "@babel/helper-create-regexp-features-plugin@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz#fdd60d88524659a0b6959c0579925e425714f3b8" @@ -594,15 +540,6 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" -"@babel/helpers@^7.9.0": - version "7.9.2" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.2.tgz#b42a81a811f1e7313b88cba8adc66b3d9ae6c09f" - integrity sha512-JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA== - dependencies: - "@babel/template" "^7.8.3" - "@babel/traverse" "^7.9.0" - "@babel/types" "^7.9.0" - "@babel/helpers@^7.9.6": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.6.tgz#092c774743471d0bb6c7de3ad465ab3d3486d580" @@ -659,12 +596,12 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.6.tgz#3b1bbb30dabe600cd72db58720998376ff653bc7" integrity sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q== -"@babel/plugin-external-helpers@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-external-helpers/-/plugin-external-helpers-7.8.3.tgz#5a94164d9af393b2820a3cdc407e28ebf237de4b" - integrity sha512-mx0WXDDiIl5DwzMtzWGRSPugXi9BxROS05GQrhLNbEamhBiicgn994ibwkyiBH+6png7bm/yA7AUsvHyCXi4Vw== +"@babel/plugin-external-helpers@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-external-helpers/-/plugin-external-helpers-7.10.4.tgz#40d38e8e48a1fa3766ab43496253266ca26783ce" + integrity sha512-5mASqSthmRNYVXOphYzlqmR3Y8yp5SZMZhtKDh2DGV3R2PWGLEmP7qOahw66//6m4hjhlpV1bVM7xIJHt1F77Q== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-proposal-async-generator-functions@^7.10.4": version "7.10.5" @@ -692,22 +629,14 @@ "@babel/helper-create-class-features-plugin" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-proposal-class-properties@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e" - integrity sha512-EqFhbo7IosdgPgZggHaNObkmO1kNUe3slaKu54d5OWvy+p9QIKOzK1GAEpAIsZtWVtPXUHSMcT4smvDrCfY4AA== +"@babel/plugin-proposal-decorators@^7.10.5": + version "7.10.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.10.5.tgz#42898bba478bc4b1ae242a703a953a7ad350ffb4" + integrity sha512-Sc5TAQSZuLzgY0664mMDn24Vw2P8g/VhyLyGPaWiHahhgLqeZvcGeyBZOrJW0oSKIK2mvQ22a1ENXBIQLhrEiQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-proposal-decorators@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.8.3.tgz#2156860ab65c5abf068c3f67042184041066543e" - integrity sha512-e3RvdvS4qPJVTe288DlXjwKflpfy1hr0j5dz5WpIYYeP7vQZg2WfAEIp8k5/Lwis/m5REXEteIz6rrcDtXXG7w== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-decorators" "^7.8.3" + "@babel/helper-create-class-features-plugin" "^7.10.5" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/plugin-syntax-decorators" "^7.10.4" "@babel/plugin-proposal-dynamic-import@^7.10.4": version "7.10.4" @@ -798,15 +727,6 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-transform-parameters" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.9.5": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.5.tgz#3fd65911306d8746014ec0d0cf78f0e39a149116" - integrity sha512-VP2oXvAf7KCYTthbUHwBlewbl1Iq059f6seJGsxMizaCdgHIeczOr7FBqELhSqfkIl04Fi8okzWzl63UKbQmmg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-transform-parameters" "^7.9.5" - "@babel/plugin-proposal-object-rest-spread@^7.9.6": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.6.tgz#7a093586fcb18b08266eb1a7177da671ac575b63" @@ -895,12 +815,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-decorators@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.8.3.tgz#8d2c15a9f1af624b0025f961682a9d53d3001bda" - integrity sha512-8Hg4dNNT9/LcA1zQlfwuKR8BUc/if7Q7NkTam9sGTcJphLwpf2g4S42uhspQrIrR+dpzE0dtTqBVFoHl8GtnnQ== +"@babel/plugin-syntax-decorators@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.10.4.tgz#6853085b2c429f9d322d02f5a635018cdeb2360c" + integrity sha512-2NaoC6fAk2VMdhY1eerkfHV+lVYC1u8b+jmRJISqANCJlTxYy19HGdIkkQtix2UtkcPuPu+IlDgrVseZnU03bw== dependencies: - "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" @@ -1007,13 +927,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-typescript@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.8.3.tgz#c1f659dda97711a569cef75275f7e15dcaa6cabc" - integrity sha512-GO1MQ/SGGGoiEXY0e0bSpHimJvxqB7lktLLIq2pv8xG7WZ8IMEle74jIe1FhprHBWjwjZtXHkycDLZXIWM5Wfg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-transform-arrow-functions@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz#e22960d77e697c74f41c501d44d73dbf8a6a64cd" @@ -1252,15 +1165,6 @@ "@babel/helper-plugin-utils" "^7.10.4" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-amd@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.0.tgz#19755ee721912cf5bb04c07d50280af3484efef4" - integrity sha512-vZgDDF003B14O8zJy0XXLnPH4sg+9X5hFBBGN1V+B2rgrB+J2xIypSN6Rk9imB2hSTHQi5OHLrFWsZab1GMk+Q== - dependencies: - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - babel-plugin-dynamic-import-node "^2.3.0" - "@babel/plugin-transform-modules-amd@^7.9.6": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.6.tgz#8539ec42c153d12ea3836e0e3ac30d5aae7b258e" @@ -1280,16 +1184,6 @@ "@babel/helper-simple-access" "^7.10.4" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.0.tgz#e3e72f4cbc9b4a260e30be0ea59bdf5a39748940" - integrity sha512-qzlCrLnKqio4SlgJ6FMMLBe4bySNis8DFn1VkGmOcxG9gqEyPIOzeQrA//u0HAKrWpJlpZbZMPB1n/OPa4+n8g== - dependencies: - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/helper-simple-access" "^7.8.3" - babel-plugin-dynamic-import-node "^2.3.0" - "@babel/plugin-transform-modules-commonjs@^7.9.6": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz#64b7474a4279ee588cacd1906695ca721687c277" @@ -1310,16 +1204,6 @@ "@babel/helper-plugin-utils" "^7.10.4" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.0.tgz#e9fd46a296fc91e009b64e07ddaa86d6f0edeb90" - integrity sha512-FsiAv/nao/ud2ZWy4wFacoLOm5uxl0ExSQ7ErvP7jpoihLR6Cq90ilOFyX9UXct3rbtKsAiZ9kFt5XGfPe/5SQ== - dependencies: - "@babel/helper-hoist-variables" "^7.8.3" - "@babel/helper-module-transforms" "^7.9.0" - "@babel/helper-plugin-utils" "^7.8.3" - babel-plugin-dynamic-import-node "^2.3.0" - "@babel/plugin-transform-modules-systemjs@^7.9.6": version "7.9.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.6.tgz#207f1461c78a231d5337a92140e52422510d81a4" @@ -1532,15 +1416,6 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-typescript" "^7.10.4" -"@babel/plugin-transform-typescript@^7.9.0": - version "7.9.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.9.4.tgz#4bb4dde4f10bbf2d787fce9707fb09b483e33359" - integrity sha512-yeWeUkKx2auDbSxRe8MusAG+n4m9BFY/v+lPjmQDgOFX5qnySkUY5oXzkp6FwPdsYqnKay6lorXYdC0n3bZO7w== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-typescript" "^7.8.3" - "@babel/plugin-transform-unicode-escapes@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz#feae523391c7651ddac115dae0a9d06857892007" @@ -1564,7 +1439,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/preset-env@^7.1.6": +"@babel/preset-env@^7.1.6", "@babel/preset-env@^7.11.5": version "7.11.5" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.11.5.tgz#18cb4b9379e3e92ffea92c07471a99a2914e4272" integrity sha512-kXqmW1jVcnB2cdueV+fyBM8estd5mlNfaQi6lwLgRwCby4edpavgbFhiBNjmWA3JpB/yZGSISa7Srf+TwxDQoA== @@ -1704,72 +1579,6 @@ levenary "^1.1.1" semver "^5.5.0" -"@babel/preset-env@^7.9.5": - version "7.9.5" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.9.5.tgz#8ddc76039bc45b774b19e2fc548f6807d8a8919f" - integrity sha512-eWGYeADTlPJH+wq1F0wNfPbVS1w1wtmMJiYk55Td5Yu28AsdR9AsC97sZ0Qq8fHqQuslVSIYSGJMcblr345GfQ== - dependencies: - "@babel/compat-data" "^7.9.0" - "@babel/helper-compilation-targets" "^7.8.7" - "@babel/helper-module-imports" "^7.8.3" - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-proposal-async-generator-functions" "^7.8.3" - "@babel/plugin-proposal-dynamic-import" "^7.8.3" - "@babel/plugin-proposal-json-strings" "^7.8.3" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-proposal-numeric-separator" "^7.8.3" - "@babel/plugin-proposal-object-rest-spread" "^7.9.5" - "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" - "@babel/plugin-proposal-optional-chaining" "^7.9.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" - "@babel/plugin-syntax-async-generators" "^7.8.0" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - "@babel/plugin-syntax-json-strings" "^7.8.0" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-syntax-numeric-separator" "^7.8.0" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - "@babel/plugin-transform-arrow-functions" "^7.8.3" - "@babel/plugin-transform-async-to-generator" "^7.8.3" - "@babel/plugin-transform-block-scoped-functions" "^7.8.3" - "@babel/plugin-transform-block-scoping" "^7.8.3" - "@babel/plugin-transform-classes" "^7.9.5" - "@babel/plugin-transform-computed-properties" "^7.8.3" - "@babel/plugin-transform-destructuring" "^7.9.5" - "@babel/plugin-transform-dotall-regex" "^7.8.3" - "@babel/plugin-transform-duplicate-keys" "^7.8.3" - "@babel/plugin-transform-exponentiation-operator" "^7.8.3" - "@babel/plugin-transform-for-of" "^7.9.0" - "@babel/plugin-transform-function-name" "^7.8.3" - "@babel/plugin-transform-literals" "^7.8.3" - "@babel/plugin-transform-member-expression-literals" "^7.8.3" - "@babel/plugin-transform-modules-amd" "^7.9.0" - "@babel/plugin-transform-modules-commonjs" "^7.9.0" - "@babel/plugin-transform-modules-systemjs" "^7.9.0" - "@babel/plugin-transform-modules-umd" "^7.9.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" - "@babel/plugin-transform-new-target" "^7.8.3" - "@babel/plugin-transform-object-super" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.9.5" - "@babel/plugin-transform-property-literals" "^7.8.3" - "@babel/plugin-transform-regenerator" "^7.8.7" - "@babel/plugin-transform-reserved-words" "^7.8.3" - "@babel/plugin-transform-shorthand-properties" "^7.8.3" - "@babel/plugin-transform-spread" "^7.8.3" - "@babel/plugin-transform-sticky-regex" "^7.8.3" - "@babel/plugin-transform-template-literals" "^7.8.3" - "@babel/plugin-transform-typeof-symbol" "^7.8.4" - "@babel/plugin-transform-unicode-regex" "^7.8.3" - "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.9.5" - browserslist "^4.9.1" - core-js-compat "^3.6.2" - invariant "^2.2.2" - levenary "^1.1.1" - semver "^5.5.0" - "@babel/preset-flow@^7.0.0": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.10.4.tgz#e0d9c72f8cb02d1633f6a5b7b16763aa2edf659f" @@ -1789,7 +1598,7 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-typescript@^7.1.0": +"@babel/preset-typescript@^7.1.0", "@babel/preset-typescript@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.10.4.tgz#7d5d052e52a682480d6e2cc5aa31be61c8c25e36" integrity sha512-SdYnvGPv+bLlwkF2VkJnaX/ni1sMNetcGI1+nThF1gyv6Ph8Qucc4ZZAjM5yZcE/AKRXIOTZz7eSRDWOEjPyRQ== @@ -1797,14 +1606,6 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-transform-typescript" "^7.10.4" -"@babel/preset-typescript@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.9.0.tgz#87705a72b1f0d59df21c179f7c3d2ef4b16ce192" - integrity sha512-S4cueFnGrIbvYJgwsVFKdvOmpiL0XGw9MFW9D0vgRys5g36PBhZRL8NX8Gr2akz8XRtzq6HuDXPD/1nniagNUg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-transform-typescript" "^7.9.0" - "@babel/register@^7.0.0": version "7.11.5" resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.11.5.tgz#79becf89e0ddd0fba8b92bc279bc0f5d2d7ce2ea" @@ -1901,7 +1702,7 @@ globals "^11.1.0" lodash "^4.17.13" -"@babel/traverse@^7.8.6", "@babel/traverse@^7.9.0": +"@babel/traverse@^7.8.6": version "7.9.5" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.5.tgz#6e7c56b44e2ac7011a948c21e283ddd9d9db97a2" integrity sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ== @@ -3615,14 +3416,17 @@ resolved "https://registry.yarnpkg.com/@types/webspeechapi/-/webspeechapi-0.0.29.tgz#8f3c6b31b779df7a9bbac7f89acfce0c3bcb1972" integrity sha512-AYEhqEJLdR08YPBOwYa73IHTiGU4DdngbKbtZdW+bzuM7s8LzKBed0Fwgl/a3oMqMY227qOT+3Lpr5A0WSmm+A== -"@typescript-eslint/eslint-plugin@^2.28.0": - version "2.28.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.28.0.tgz#4431bc6d3af41903e5255770703d4e55a0ccbdec" - integrity sha512-w0Ugcq2iatloEabQP56BRWJowliXUP5Wv6f9fKzjJmDW81hOTBxRoJ4LoEOxRpz9gcY51Libytd2ba3yLmSOfg== +"@typescript-eslint/eslint-plugin@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.4.0.tgz#0321684dd2b902c89128405cf0385e9fe8561934" + integrity sha512-RVt5wU9H/2H+N/ZrCasTXdGbUTkbf7Hfi9eLiA8vPQkzUJ/bLDCC3CsoZioPrNcnoyN8r0gT153dC++A4hKBQQ== dependencies: - "@typescript-eslint/experimental-utils" "2.28.0" + "@typescript-eslint/experimental-utils" "4.4.0" + "@typescript-eslint/scope-manager" "4.4.0" + debug "^4.1.1" functional-red-black-tree "^1.0.1" regexpp "^3.0.0" + semver "^7.3.2" tsutils "^3.17.1" "@typescript-eslint/experimental-utils@2.28.0": @@ -3635,7 +3439,19 @@ eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@^2.24.0", "@typescript-eslint/parser@^2.28.0": +"@typescript-eslint/experimental-utils@4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.4.0.tgz#62a05d3f543b8fc5dec4982830618ea4d030e1a9" + integrity sha512-01+OtK/oWeSJTjQcyzDztfLF1YjvKpLFo+JZmurK/qjSRcyObpIecJ4rckDoRCSh5Etw+jKfdSzVEHevh9gJ1w== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/scope-manager" "4.4.0" + "@typescript-eslint/types" "4.4.0" + "@typescript-eslint/typescript-estree" "4.4.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/parser@^2.24.0": version "2.28.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.28.0.tgz#bb761286efd2b0714761cab9d0ee5847cf080385" integrity sha512-RqPybRDquui9d+K86lL7iPqH6Dfp9461oyqvlXMNtap+PyqYbkY5dB7LawQjDzot99fqzvS0ZLZdfe+1Bt3Jgw== @@ -3645,6 +3461,29 @@ "@typescript-eslint/typescript-estree" "2.28.0" eslint-visitor-keys "^1.1.0" +"@typescript-eslint/parser@^4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.4.0.tgz#65974db9a75f23b036f17b37e959b5f99b659ec0" + integrity sha512-yc14iEItCxoGb7W4Nx30FlTyGpU9r+j+n1LUK/exlq2eJeFxczrz/xFRZUk2f6yzWfK+pr1DOTyQnmDkcC4TnA== + dependencies: + "@typescript-eslint/scope-manager" "4.4.0" + "@typescript-eslint/types" "4.4.0" + "@typescript-eslint/typescript-estree" "4.4.0" + debug "^4.1.1" + +"@typescript-eslint/scope-manager@4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.4.0.tgz#2f3dd27692a12cc9a046a90ba6a9d8cb7731190a" + integrity sha512-r2FIeeU1lmW4K3CxgOAt8djI5c6Q/5ULAgdVo9AF3hPMpu0B14WznBAtxrmB/qFVbVIB6fSx2a+EVXuhSVMEyA== + dependencies: + "@typescript-eslint/types" "4.4.0" + "@typescript-eslint/visitor-keys" "4.4.0" + +"@typescript-eslint/types@4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.4.0.tgz#63440ef87a54da7399a13bdd4b82060776e9e621" + integrity sha512-nU0VUpzanFw3jjX+50OTQy6MehVvf8pkqFcURPAE06xFNFenMj1GPEI6IESvp7UOHAnq+n/brMirZdR+7rCrlA== + "@typescript-eslint/typescript-estree@2.28.0": version "2.28.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.28.0.tgz#d34949099ff81092c36dc275b6a1ea580729ba00" @@ -3658,6 +3497,28 @@ semver "^6.3.0" tsutils "^3.17.1" +"@typescript-eslint/typescript-estree@4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.4.0.tgz#16a2df7c16710ddd5406b32b86b9c1124b1ca526" + integrity sha512-Fh85feshKXwki4nZ1uhCJHmqKJqCMba+8ZicQIhNi5d5jSQFteWiGeF96DTjO8br7fn+prTP+t3Cz/a/3yOKqw== + dependencies: + "@typescript-eslint/types" "4.4.0" + "@typescript-eslint/visitor-keys" "4.4.0" + debug "^4.1.1" + globby "^11.0.1" + is-glob "^4.0.1" + lodash "^4.17.15" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/visitor-keys@4.4.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.4.0.tgz#0a9118344082f14c0f051342a74b42dfdb012640" + integrity sha512-oBWeroUZCVsHLiWRdcTXJB7s1nB3taFY8WGvS23tiAlT6jXVvsdAV4rs581bgdEjOhn43q6ro7NkOiLKu6kFqA== + dependencies: + "@typescript-eslint/types" "4.4.0" + eslint-visitor-keys "^2.0.0" + "@vaadin/vaadin-button@^2.1.0": version "2.2.1" resolved "https://registry.yarnpkg.com/@vaadin/vaadin-button/-/vaadin-button-2.2.1.tgz#129b585d176053289b13451767495727b2201763" @@ -4744,13 +4605,6 @@ babel-loader@^8.1.0: pify "^4.0.1" schema-utils "^2.6.5" -babel-plugin-dynamic-import-node@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" - integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== - dependencies: - object.assign "^4.1.0" - babel-plugin-dynamic-import-node@^2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" @@ -5068,16 +4922,6 @@ browserslist@^4.8.3: electron-to-chromium "^1.3.349" node-releases "^1.1.49" -browserslist@^4.9.1: - version "4.11.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.11.1.tgz#92f855ee88d6e050e7e7311d987992014f1a1f1b" - integrity sha512-DCTr3kDrKEYNw6Jb9HFxVLQNaue8z+0ZfRBRjmCunKDEXEBajKDj2Y+Uelg+Pi29OnvaSGwjOsnRyNEkXzHg5g== - dependencies: - caniuse-lite "^1.0.30001038" - electron-to-chromium "^1.3.390" - node-releases "^1.1.53" - pkg-up "^2.0.0" - buffer-equal@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b" @@ -5292,20 +5136,15 @@ caniuse-lite@^1.0.30001027: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001027.tgz#283e2ef17d94889cc216a22c6f85303d78ca852d" integrity sha512-7xvKeErvXZFtUItTHgNtLgS9RJpVnwBlWX8jSo/BO8VsF6deszemZSkJJJA1KOKrXuzZH4WALpAJdq5EyfgMLg== -caniuse-lite@^1.0.30001038: - version "1.0.30001041" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001041.tgz#c2ea138dafc6fe03877921ddcddd4a02a14daf76" - integrity sha512-fqDtRCApddNrQuBxBS7kEiSGdBsgO4wiVw4G/IClfqzfhW45MbTumfN4cuUJGTM0YGFNn97DCXPJ683PS6zwvA== - caniuse-lite@^1.0.30001043: version "1.0.30001055" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001055.tgz#7b52c3537f7a8c0408aca867e83d2b04268b54cd" integrity sha512-MbwsBmKrBSKIWldfdIagO5OJWZclpJtS4h0Jrk/4HFrXJxTdVdH23Fd+xCiHriVGvYcWyW8mR/CPsYajlH8Iuw== caniuse-lite@^1.0.30001135: - version "1.0.30001141" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001141.tgz#214a196d81aa938b268fb0cb6d8fab23fdf14378" - integrity sha512-EHfInJHoQTmlMdVZrEc5gmwPc0zyN/hVufmGHPbVNQwlk7tJfCmQ2ysRZMY2MeleBivALUTyyxXnQjK18XrVpA== + version "1.0.30001144" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001144.tgz#bca0fffde12f97e1127a351fec3bfc1971aa3b3d" + integrity sha512-4GQTEWNMnVZVOFG3BK0xvGeaDAtiPAbG2N8yuMXuXzx/c2Vd4XoMPO8+E918zeXn5IF0FRVtGShBfkfQea2wHQ== capture-stack-trace@^1.0.0: version "1.0.1" @@ -6435,6 +6274,13 @@ dir-glob@^2.2.2: dependencies: path-type "^3.0.0" +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + dns-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" @@ -6562,20 +6408,15 @@ electron-to-chromium@^1.3.349: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.349.tgz#663f26a69d348a462df47b4d7ab162a2f29bbcb7" integrity sha512-uEb2zs6EJ6OZIqaMsCSliYVgzE/f7/s1fLWqtvRtHg/v5KBF2xds974fUnyatfxIDgkqzQVwFtam5KExqywx0Q== -electron-to-chromium@^1.3.390: - version "1.3.403" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.403.tgz#c8bab4e2e72bf78bc28bad1cc355c061f9cc1918" - integrity sha512-JaoxV4RzdBAZOnsF4dAlZ2ijJW72MbqO5lNfOBHUWiBQl3Rwe+mk2RCUMrRI3rSClLJ8HSNQNqcry12H+0ZjFw== - electron-to-chromium@^1.3.413: version "1.3.434" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.434.tgz#a67dcb268e93768e2169399999ccffa4783f048e" integrity sha512-WjzGrE6appXvMyc2kH9Ide7OxsgTuRzag9sjQ5AcbOnbS9ut7P1HzOeEbJFLhr81IR7n2Hlr6qTTSGTXLIX5Pg== electron-to-chromium@^1.3.571: - version "1.3.576" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.576.tgz#2e70234484e03d7c7e90310d7d79fd3775379c34" - integrity sha512-uSEI0XZ//5ic+0NdOqlxp0liCD44ck20OAGyLMSymIWTEAtHKVJi6JM18acOnRgUgX7Q65QqnI+sNncNvIy8ew== + version "1.3.577" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.577.tgz#9885f3f72c6e3367010b461ff6f2d9624a929720" + integrity sha512-dSb64JQSFif/pD8mpVAgSFkbVi6YHbK6JeEziwNNmXlr/Ne2rZtseFK5SM7JoWSLf6gP0gVvRGi4/2ZRhSX/rA== elegant-spinner@^1.0.1: version "1.0.1" @@ -6941,6 +6782,11 @@ eslint-visitor-keys@^1.1.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== +eslint-visitor-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" + integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== + eslint@>=0.16.0, eslint@^6.8.0: version "6.8.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" @@ -7305,7 +7151,7 @@ fast-glob@^2.0.2, fast-glob@^2.2.6: merge2 "^1.2.3" micromatch "^3.1.10" -fast-glob@^3.2.2: +fast-glob@^3.1.1, fast-glob@^3.2.2: version "3.2.4" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== @@ -8033,6 +7879,18 @@ globals@^12.1.0: dependencies: type-fest "^0.8.1" +globby@^11.0.1: + version "11.0.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" + integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + globby@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" @@ -8572,6 +8430,11 @@ ignore@^4.0.3, ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== +ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + import-fresh@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" @@ -11567,6 +11430,11 @@ path-type@^3.0.0: dependencies: pify "^3.0.0" +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + pathval@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" @@ -12790,7 +12658,7 @@ semver@^6.0.0, semver@^6.1.2, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.1.3, semver@^7.2.1: +semver@^7.1.3, semver@^7.2.1, semver@^7.3.2: version "7.3.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== @@ -13008,6 +12876,11 @@ slash@^2.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + slice-ansi@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" @@ -14039,6 +13912,11 @@ typescript@^3.8.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061" integrity sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w== +typescript@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.3.tgz#153bbd468ef07725c1df9c77e8b453f8d36abba5" + integrity sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg== + typical@^5.0.0, typical@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066"