Skip to content

Commit 64eae1c

Browse files
authored
Merge branch 'home-assistant:dev' into dev
2 parents d8c663c + c791649 commit 64eae1c

File tree

276 files changed

+8956
-3984
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

276 files changed

+8956
-3984
lines changed

.devcontainer/devcontainer.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"context": ".."
66
},
77
"appPort": "8124:8123",
8-
"postCreateCommand": "sudo apt update && sudo apt upgrade -y && sudo apt install -y libpcap-dev",
8+
"postCreateCommand": "./.devcontainer/post_create.sh",
99
"postStartCommand": "script/bootstrap",
1010
"containerEnv": {
1111
"DEV_CONTAINER": "1",

.devcontainer/post_create.sh

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#!/bin/bash
2+
3+
# This script will run after the container is created
4+
5+
# add github cli
6+
(type -p wget >/dev/null || (sudo apt update && sudo apt-get install wget -y)) \
7+
&& sudo mkdir -p -m 755 /etc/apt/keyrings \
8+
&& out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg \
9+
&& cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
10+
&& sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
11+
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
12+
13+
# Update package lists
14+
sudo apt-get update
15+
16+
sudo apt upgrade -y
17+
18+
# Install necessary packages
19+
sudo apt-get install -y libpcap-dev gh
20+
21+
# Display a message
22+
echo "Post-create script has been executed successfully."

.github/workflows/ci.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
- name: Build resources
3838
run: ./node_modules/.bin/gulp gen-icons-json build-translations build-locale-data gather-gallery-pages
3939
- name: Setup lint cache
40-
uses: actions/cache@v4.2.0
40+
uses: actions/cache@v4.2.2
4141
with:
4242
path: |
4343
node_modules/.cache/prettier
@@ -89,7 +89,7 @@ jobs:
8989
env:
9090
IS_TEST: "true"
9191
- name: Upload bundle stats
92-
uses: actions/upload-artifact@v4.6.0
92+
uses: actions/upload-artifact@v4.6.1
9393
with:
9494
name: frontend-bundle-stats
9595
path: build/stats/*.json
@@ -113,7 +113,7 @@ jobs:
113113
env:
114114
IS_TEST: "true"
115115
- name: Upload bundle stats
116-
uses: actions/upload-artifact@v4.6.0
116+
uses: actions/upload-artifact@v4.6.1
117117
with:
118118
name: supervisor-bundle-stats
119119
path: build/stats/*.json

.github/workflows/nightly.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,14 @@ jobs:
5757
run: tar -czvf translations.tar.gz translations
5858

5959
- name: Upload build artifacts
60-
uses: actions/upload-artifact@v4.6.0
60+
uses: actions/upload-artifact@v4.6.1
6161
with:
6262
name: wheels
6363
path: dist/home_assistant_frontend*.whl
6464
if-no-files-found: error
6565

6666
- name: Upload translations
67-
uses: actions/upload-artifact@v4.6.0
67+
uses: actions/upload-artifact@v4.6.1
6868
with:
6969
name: translations
7070
path: translations.tar.gz

.github/workflows/release.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ jobs:
7474
echo "home-assistant-frontend==$version" > ./requirements.txt
7575
7676
- name: Build wheels
77-
uses: home-assistant/wheels@2024.11.0
77+
uses: home-assistant/wheels@2025.02.0
7878
with:
7979
abi: cp313
8080
tag: musllinux_1_2

.vscode/tasks.json

+42
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,42 @@
11
{
22
"version": "2.0.0",
33
"tasks": [
4+
{
5+
"label": "Develop and serve Frontend",
6+
"type": "shell",
7+
"command": "script/develop_and_serve -c ${input:coreUrl}",
8+
// Sync changes here to other tasks until issue resolved
9+
// https://github.com/Microsoft/vscode/issues/61497
10+
"problemMatcher": {
11+
"owner": "ha-build",
12+
"source": "ha-build",
13+
"fileLocation": "absolute",
14+
"severity": "error",
15+
"pattern": [
16+
{
17+
"regexp": "(SyntaxError): (.+): (.+) \\((\\d+):(\\d+)\\)",
18+
"severity": 1,
19+
"file": 2,
20+
"message": 3,
21+
"line": 4,
22+
"column": 5
23+
}
24+
],
25+
"background": {
26+
"activeOnStart": true,
27+
"beginsPattern": "Changes detected. Starting compilation",
28+
"endsPattern": "Build done @"
29+
}
30+
},
31+
"isBackground": true,
32+
"group": {
33+
"kind": "build",
34+
"isDefault": true
35+
},
36+
"runOptions": {
37+
"instanceLimit": 1
38+
}
39+
},
440
{
541
"label": "Develop Frontend",
642
"type": "gulp",
@@ -241,6 +277,12 @@
241277
"id": "supervisorToken",
242278
"type": "promptString",
243279
"description": "The token for the Remote API proxy add-on"
280+
},
281+
{
282+
"id": "coreUrl",
283+
"type": "promptString",
284+
"description": "The URL of the Home Assistant Core instance",
285+
"default": "http://127.0.0.1:8123"
244286
}
245287
]
246288
}

.yarn/releases/yarn-4.6.0.cjs .yarn/releases/yarn-4.7.0.cjs

+292-291
Large diffs are not rendered by default.

.yarnrc.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ enableGlobalCache: false
66

77
nodeLinker: node-modules
88

9-
yarnPath: .yarn/releases/yarn-4.6.0.cjs
9+
yarnPath: .yarn/releases/yarn-4.7.0.cjs

build-scripts/eslint.config.mjs

+13-13
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1+
// @ts-check
2+
3+
import tseslint from "typescript-eslint";
14
import rootConfig from "../eslint.config.mjs";
25

3-
export default [
4-
...rootConfig,
5-
{
6-
rules: {
7-
"no-console": "off",
8-
"import/no-extraneous-dependencies": "off",
9-
"import/extensions": "off",
10-
"import/no-dynamic-require": "off",
11-
"global-require": "off",
12-
"@typescript-eslint/no-require-imports": "off",
13-
"prefer-arrow-callback": "off",
14-
},
6+
export default tseslint.config(...rootConfig, {
7+
rules: {
8+
"no-console": "off",
9+
"import/no-extraneous-dependencies": "off",
10+
"import/extensions": "off",
11+
"import/no-dynamic-require": "off",
12+
"global-require": "off",
13+
"@typescript-eslint/no-require-imports": "off",
14+
"prefer-arrow-callback": "off",
1515
},
16-
];
16+
});

build-scripts/gulp/gather-static.js

+4
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,10 @@ function copyMapPanel(staticDir) {
9090
npmPath("leaflet/dist/leaflet.css"),
9191
staticPath("images/leaflet/")
9292
);
93+
copyFileDir(
94+
npmPath("leaflet.markercluster/dist/MarkerCluster.css"),
95+
staticPath("images/leaflet/")
96+
);
9397
fs.copySync(
9498
npmPath("leaflet/dist/images"),
9599
staticPath("images/leaflet/images/")

eslint.config.mjs

+17-15
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
1+
// @ts-check
2+
13
/* eslint-disable import/no-extraneous-dependencies */
24
import unusedImports from "eslint-plugin-unused-imports";
35
import globals from "globals";
4-
import tsParser from "@typescript-eslint/parser";
56
import path from "node:path";
67
import { fileURLToPath } from "node:url";
78
import js from "@eslint/js";
89
import { FlatCompat } from "@eslint/eslintrc";
10+
import tseslint from "typescript-eslint";
11+
import eslintConfigPrettier from "eslint-config-prettier";
12+
import { configs as litConfigs } from "eslint-plugin-lit";
13+
import { configs as wcConfigs } from "eslint-plugin-wc";
914

1015
const _filename = fileURLToPath(import.meta.url);
1116
const _dirname = path.dirname(_filename);
@@ -15,17 +20,14 @@ const compat = new FlatCompat({
1520
allConfig: js.configs.all,
1621
});
1722

18-
export default [
19-
...compat.extends(
20-
"airbnb-base",
21-
"plugin:@typescript-eslint/recommended",
22-
"plugin:@typescript-eslint/strict",
23-
"plugin:@typescript-eslint/stylistic",
24-
"plugin:wc/recommended",
25-
"plugin:lit/all",
26-
"plugin:lit-a11y/recommended",
27-
"prettier"
28-
),
23+
export default tseslint.config(
24+
...compat.extends("airbnb-base", "plugin:lit-a11y/recommended"),
25+
eslintConfigPrettier,
26+
litConfigs["flat/all"],
27+
tseslint.configs.recommended,
28+
tseslint.configs.strict,
29+
tseslint.configs.stylistic,
30+
wcConfigs["flat/recommended"],
2931
{
3032
plugins: {
3133
"unused-imports": unusedImports,
@@ -43,7 +45,7 @@ export default [
4345
Polymer: true,
4446
},
4547

46-
parser: tsParser,
48+
parser: tseslint.parser,
4749
ecmaVersion: 2020,
4850
sourceType: "module",
4951

@@ -184,5 +186,5 @@ export default [
184186
],
185187
"no-use-before-define": "off",
186188
},
187-
},
188-
];
189+
}
190+
);

gallery/eslint.config.mjs

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1+
// @ts-check
2+
3+
import tseslint from "typescript-eslint";
14
import rootConfig from "../eslint.config.mjs";
25

3-
export default [
4-
...rootConfig,
5-
{
6-
rules: {
7-
"no-console": "off",
8-
},
6+
export default tseslint.config(...rootConfig, {
7+
rules: {
8+
"no-console": "off",
99
},
10-
];
10+
});
+10
Loading
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
---
2+
title: Select box
3+
---

0 commit comments

Comments
 (0)