Skip to content

Commit f7a06f3

Browse files
authored
Sync core frontend to 3ffbd43 (#820)
1 parent 5cc0322 commit f7a06f3

13 files changed

+5214
-4876
lines changed

.browserslistrc

+10-16
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@
44
# - released in the last year + current alpha/beta versions
55
# - Firefox extended support release (ESR)
66
# - with global utilization at or above 0.5%
7-
# - must support dynamic import of ES modules
8-
# - exclude browsers no longer being maintained
7+
# - exclude dead browsers (no security maintenance for 2+ years)
98
# - exclude KaiOS, QQ, and UC browsers due to lack of sufficient feature support data
109
unreleased versions
1110
last 1 year
1211
Firefox ESR
13-
>= 0.5% and supports es6-module-dynamic-import
12+
>= 0.5%
1413
not dead
1514
not KaiOS > 0
1615
not QQAndroid > 0
@@ -20,23 +19,18 @@ not UCAndroid > 0
2019
# Legacy builds are served when modern requirements are not met and support browsers:
2120
# - released in the last 7 years + current alpha/beta versionss
2221
# - with global utilization at or above 0.05%
23-
# The lattermost query ensures that support for popular old browsers is not dropped too early
24-
# (e.g. IE 11, Android 4.4, or Samsung 4).
25-
#
26-
# In addition, legacy browsers must support some minimum features that cannot be polyfilled:
27-
# - ES5 (strict mode)
28-
# - web sockets to communicate with backend
29-
# - inline SVG used widely in buttons, widgets, etc.
30-
# - custom events used for most user interactions
31-
# - CSS flexbox used in the majority of the layout
32-
# Nearly all of these are redundant with the above rules.
33-
# As of May 2023, only web sockets must be added to the query.
22+
# - exclude dead browsers (no security maintenance for 2+ years)
23+
# - exclude Opera Mini which does not support web sockets
3424
unreleased versions
3525
last 7 years
36-
>= 0.05% and supports websockets
26+
>= 0.05%
27+
not dead
28+
not op_mini all
3729

3830
[legacy-sw]
3931
# Same as legacy plus supports service workers
4032
unreleased versions
4133
last 7 years
42-
>= 0.05% and supports websockets and supports serviceworkers
34+
>= 0.05% and supports serviceworkers
35+
not dead
36+
not op_mini all

.gitmodules

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
[submodule "homeassistant-frontend"]
22
path = homeassistant-frontend
33
url = https://github.com/home-assistant/frontend.git
4-
branch = dev
4+
branch = master

.yarnrc.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ enableGlobalCache: false
77

88
nodeLinker: node-modules
99

10-
yarnPath: ./homeassistant-frontend/.yarn/releases/yarn-4.4.1.cjs
10+
yarnPath: ./homeassistant-frontend/.yarn/releases/yarn-4.5.3.cjs

homeassistant-frontend

package.json

+86-101
Original file line numberDiff line numberDiff line change
@@ -16,123 +16,104 @@
1616
"type": "module",
1717
"version": "1.0.0",
1818
"devDependencies": {
19-
"@babel/core": "7.25.2",
20-
"@babel/helper-define-polyfill-provider": "0.6.2",
21-
"@babel/plugin-proposal-decorators": "7.24.7",
22-
"@babel/plugin-transform-runtime": "7.25.4",
23-
"@babel/preset-env": "7.25.4",
24-
"@babel/preset-typescript": "7.24.7",
25-
"@bundle-stats/plugin-webpack-filter": "4.15.0",
26-
"@koa/cors": "5.0.0",
27-
"@lokalise/node-api": "12.7.0",
19+
"@babel/core": "7.26.0",
20+
"@babel/helper-define-polyfill-provider": "0.6.3",
21+
"@babel/plugin-proposal-decorators": "7.25.9",
22+
"@babel/plugin-transform-runtime": "7.25.9",
23+
"@babel/preset-env": "7.26.0",
24+
"@babel/preset-typescript": "7.26.0",
25+
"@bundle-stats/plugin-webpack-filter": "4.17.0",
26+
"@lokalise/node-api": "13.0.0",
2827
"@octokit/auth-oauth-device": "7.1.1",
29-
"@octokit/plugin-retry": "7.1.1",
28+
"@octokit/plugin-retry": "7.1.2",
3029
"@octokit/rest": "21.0.2",
31-
"@open-wc/dev-server-hmr": "0.1.4",
32-
"@rollup/plugin-babel": "6.0.4",
33-
"@rollup/plugin-commonjs": "26.0.1",
34-
"@rollup/plugin-json": "6.1.0",
35-
"@rollup/plugin-node-resolve": "15.2.3",
36-
"@rollup/plugin-replace": "5.0.7",
30+
"@rsdoctor/rspack-plugin": "0.4.12",
31+
"@rspack/cli": "1.1.8",
32+
"@rspack/core": "1.1.8",
3733
"@types/babel__plugin-transform-runtime": "7.9.5",
38-
"@types/chromecast-caf-receiver": "6.0.17",
39-
"@types/chromecast-caf-sender": "1.0.10",
40-
"@types/color-name": "1.1.4",
34+
"@types/chromecast-caf-receiver": "6.0.20",
35+
"@types/chromecast-caf-sender": "1.0.11",
36+
"@types/color-name": "2.0.0",
4137
"@types/glob": "8.1.0",
4238
"@types/html-minifier-terser": "7.0.2",
4339
"@types/js-yaml": "4.0.9",
44-
"@types/leaflet": "1.9.12",
40+
"@types/leaflet": "1.9.15",
4541
"@types/leaflet-draw": "1.0.11",
4642
"@types/lodash.merge": "4.6.9",
4743
"@types/luxon": "3.4.2",
48-
"@types/mocha": "10.0.7",
44+
"@types/mocha": "10.0.10",
4945
"@types/qrcode": "1.5.5",
50-
"@types/serve-handler": "6.1.4",
5146
"@types/sortablejs": "1.15.8",
5247
"@types/tar": "6.1.13",
5348
"@types/ua-parser-js": "0.7.39",
5449
"@types/webspeechapi": "0.0.29",
5550
"@typescript-eslint/eslint-plugin": "7.18.0",
5651
"@typescript-eslint/parser": "7.18.0",
57-
"@web/dev-server": "0.1.38",
58-
"@web/dev-server-rollup": "0.4.1",
59-
"babel-loader": "9.1.3",
52+
"@vitest/coverage-v8": "2.1.8",
53+
"babel-loader": "9.2.1",
6054
"babel-plugin-template-html-minifier": "4.1.0",
6155
"browserslist-useragent-regexp": "4.1.3",
62-
"chai": "5.1.1",
63-
"del": "7.1.0",
64-
"eslint": "8.57.0",
56+
"del": "8.0.0",
57+
"eslint": "9.17.0",
6558
"eslint-config-airbnb-base": "15.0.0",
6659
"eslint-config-airbnb-typescript": "18.0.0",
6760
"eslint-config-prettier": "9.1.0",
68-
"eslint-import-resolver-webpack": "0.13.8",
69-
"eslint-plugin-import": "2.29.1",
70-
"eslint-plugin-lit": "1.14.0",
61+
"eslint-import-resolver-webpack": "0.13.10",
62+
"eslint-plugin-import": "2.31.0",
63+
"eslint-plugin-lit": "1.15.0",
7164
"eslint-plugin-lit-a11y": "4.1.4",
72-
"eslint-plugin-unused-imports": "4.1.3",
73-
"eslint-plugin-wc": "2.1.1",
65+
"eslint-plugin-unused-imports": "4.1.4",
66+
"eslint-plugin-wc": "2.2.0",
7467
"fancy-log": "2.0.0",
7568
"fs-extra": "11.2.0",
7669
"glob": "11.0.0",
7770
"gulp": "5.0.0",
7871
"gulp-brotli": "3.0.0",
7972
"gulp-json-transform": "0.5.0",
8073
"gulp-rename": "2.0.0",
81-
"gulp-zopfli-green": "6.0.2",
8274
"html-minifier-terser": "7.2.0",
83-
"husky": "9.1.5",
84-
"instant-mocha": "1.5.2",
75+
"husky": "9.1.7",
76+
"jsdom": "25.0.1",
8577
"jszip": "3.10.1",
86-
"lint-staged": "15.2.9",
78+
"lint-staged": "15.2.11",
8779
"lit-analyzer": "2.0.3",
8880
"lodash.merge": "4.6.2",
8981
"lodash.template": "4.5.0",
90-
"magic-string": "0.30.11",
9182
"map-stream": "0.0.7",
92-
"mocha": "10.5.0",
9383
"object-hash": "3.0.0",
94-
"open": "10.1.0",
9584
"pinst": "3.0.0",
96-
"prettier": "3.3.3",
97-
"rollup": "2.79.1",
98-
"rollup-plugin-string": "3.0.0",
99-
"rollup-plugin-terser": "7.0.2",
100-
"rollup-plugin-visualizer": "5.12.0",
101-
"serve-handler": "6.1.5",
102-
"sinon": "18.0.0",
103-
"systemjs": "6.15.1",
85+
"prettier": "3.4.2",
86+
"rspack-manifest-plugin": "5.0.2",
87+
"sinon": "19.0.2",
10488
"tar": "7.4.3",
105-
"terser-webpack-plugin": "5.3.10",
106-
"transform-async-modules-webpack-plugin": "1.1.1",
89+
"terser-webpack-plugin": "5.3.11",
10790
"ts-lit-plugin": "2.0.2",
108-
"typescript": "5.5.4",
109-
"webpack": "5.94.0",
110-
"webpack-cli": "5.1.4",
111-
"webpack-dev-server": "5.0.4",
112-
"webpack-manifest-plugin": "5.0.0",
91+
"typescript": "5.7.2",
92+
"vitest": "2.1.8",
11393
"webpack-stats-plugin": "1.1.3",
114-
"webpackbar": "6.0.1",
94+
"webpackbar": "7.0.0",
11595
"workbox-build": "patch:workbox-build@npm%3A7.1.1#~/homeassistant-frontend/.yarn/patches/workbox-build-npm-7.1.1-a854f3faae.patch"
11696
},
11797
"dependencies": {
118-
"@babel/runtime": "7.25.4",
119-
"@braintree/sanitize-url": "7.1.0",
120-
"@codemirror/autocomplete": "6.18.0",
121-
"@codemirror/commands": "6.6.0",
122-
"@codemirror/language": "6.10.2",
123-
"@codemirror/legacy-modes": "6.4.1",
124-
"@codemirror/search": "6.5.6",
125-
"@codemirror/state": "6.4.1",
126-
"@codemirror/view": "6.33.0",
98+
"@babel/runtime": "7.26.0",
99+
"@braintree/sanitize-url": "7.1.1",
100+
"@codemirror/autocomplete": "6.18.4",
101+
"@codemirror/commands": "6.7.1",
102+
"@codemirror/language": "6.10.7",
103+
"@codemirror/legacy-modes": "6.4.2",
104+
"@codemirror/search": "6.5.8",
105+
"@codemirror/state": "6.5.0",
106+
"@codemirror/view": "6.36.1",
127107
"@egjs/hammerjs": "2.0.17",
128-
"@formatjs/intl-datetimeformat": "6.12.5",
129-
"@formatjs/intl-displaynames": "6.6.8",
130-
"@formatjs/intl-getcanonicallocales": "2.3.0",
131-
"@formatjs/intl-listformat": "7.5.7",
132-
"@formatjs/intl-locale": "4.0.0",
133-
"@formatjs/intl-numberformat": "8.10.3",
134-
"@formatjs/intl-pluralrules": "5.2.14",
135-
"@formatjs/intl-relativetimeformat": "11.2.14",
108+
"@formatjs/intl-datetimeformat": "6.17.1",
109+
"@formatjs/intl-displaynames": "6.8.8",
110+
"@formatjs/intl-durationformat": "0.7.1",
111+
"@formatjs/intl-getcanonicallocales": "2.5.4",
112+
"@formatjs/intl-listformat": "7.7.8",
113+
"@formatjs/intl-locale": "4.2.8",
114+
"@formatjs/intl-numberformat": "8.15.1",
115+
"@formatjs/intl-pluralrules": "5.4.1",
116+
"@formatjs/intl-relativetimeformat": "11.4.8",
136117
"@fullcalendar/core": "6.1.15",
137118
"@fullcalendar/daygrid": "6.1.15",
138119
"@fullcalendar/interaction": "6.1.15",
@@ -142,7 +123,7 @@
142123
"@lezer/highlight": "1.2.1",
143124
"@lit-labs/context": "0.4.1",
144125
"@lit-labs/motion": "1.0.7",
145-
"@lit-labs/observers": "2.0.2",
126+
"@lit-labs/observers": "2.0.4",
146127
"@lit-labs/virtualizer": "2.0.14",
147128
"@lrnwebcomponents/simple-tooltip": "8.0.2",
148129
"@material/chips": "=14.0.0-canary.53b3cad2f.0",
@@ -170,86 +151,90 @@
170151
"@material/mwc-top-app-bar": "0.27.0",
171152
"@material/mwc-top-app-bar-fixed": "0.27.0",
172153
"@material/top-app-bar": "=14.0.0-canary.53b3cad2f.0",
173-
"@material/web": "2.1.0",
154+
"@material/web": "2.2.0",
174155
"@mdi/js": "7.4.47",
175156
"@mdi/svg": "7.4.47",
176157
"@polymer/paper-item": "3.0.1",
177158
"@polymer/paper-listbox": "3.0.1",
178159
"@polymer/paper-tabs": "3.1.0",
179-
"@polymer/polymer": "3.5.1",
160+
"@polymer/polymer": "3.5.2",
161+
"@replit/codemirror-indentation-markers": "6.5.3",
180162
"@thomasloven/round-slider": "0.6.0",
181-
"@vaadin/combo-box": "24.4.6",
182-
"@vaadin/vaadin-themable-mixin": "24.4.6",
163+
"@vaadin/combo-box": "24.6.0",
164+
"@vaadin/vaadin-themable-mixin": "24.6.0",
183165
"@vibrant/color": "3.2.1-alpha.1",
184166
"@vibrant/core": "3.2.1-alpha.1",
185167
"@vibrant/quantizer-mmcq": "3.2.1-alpha.1",
186168
"@vue/web-component-wrapper": "1.3.0",
187169
"@webcomponents/scoped-custom-element-registry": "0.0.9",
188170
"@webcomponents/webcomponentsjs": "2.8.0",
189171
"app-datepicker": "5.1.1",
190-
"chart.js": "4.4.4",
172+
"barcode-detector": "2.3.1",
173+
"chart.js": "4.4.7",
174+
"chartjs-plugin-zoom": "2.2.0",
191175
"color-name": "2.0.0",
192-
"comlink": "4.4.1",
193-
"core-js": "3.38.1",
176+
"comlink": "4.4.2",
177+
"core-js": "3.39.0",
194178
"cropperjs": "1.6.2",
195-
"date-fns": "3.6.0",
196-
"date-fns-tz": "3.1.3",
179+
"date-fns": "4.1.0",
180+
"date-fns-tz": "3.2.0",
197181
"deep-clone-simple": "1.1.1",
198182
"deep-freeze": "0.0.1",
199-
"element-internals-polyfill": "1.3.11",
183+
"dialog-polyfill": "0.5.6",
184+
"element-internals-polyfill": "1.3.12",
200185
"fuse.js": "7.0.0",
201186
"google-timezones-json": "1.2.0",
187+
"gulp-zopfli-green": "6.0.2",
202188
"hls.js": "patch:hls.js@npm%3A1.5.7#~/homeassistant-frontend/.yarn/patches/hls.js-npm-1.5.7-f5bbd3d060.patch",
203189
"home-assistant-js-websocket": "9.4.0",
204190
"idb-keyval": "6.2.1",
205-
"intl-messageformat": "10.5.14",
191+
"intl-messageformat": "10.7.10",
206192
"js-yaml": "4.1.0",
207193
"leaflet": "1.9.4",
208-
"leaflet-draw": "1.0.4",
194+
"leaflet-draw": "patch:leaflet-draw@npm%3A1.0.4#./homeassistant-frontend/.yarn/patches/leaflet-draw-npm-1.0.4-0ca0ebcf65.patch",
209195
"lit": "2.8.0",
196+
"lit-html": "2.8.0",
210197
"luxon": "3.5.0",
211-
"marked": "14.1.0",
198+
"marked": "15.0.4",
212199
"memoize-one": "6.0.0",
213200
"node-vibrant": "3.2.1-alpha.1",
214-
"proxy-polyfill": "0.3.2",
215201
"punycode": "2.3.1",
216202
"qr-scanner": "1.4.2",
217203
"qrcode": "1.5.4",
218204
"roboto-fontface": "0.10.0",
219205
"rrule": "2.8.1",
220-
"sortablejs": "1.15.2",
206+
"sortablejs": "patch:sortablejs@npm%3A1.15.3#~/homeassistant-frontend/.yarn/patches/sortablejs-npm-1.15.3-3235a8f83b.patch",
221207
"stacktrace-js": "2.0.2",
222208
"superstruct": "2.0.2",
223209
"tinykeys": "3.0.0",
224210
"tsparticles-engine": "2.12.0",
225211
"tsparticles-preset-links": "2.12.0",
226-
"ua-parser-js": "1.0.38",
227-
"unfetch": "5.0.0",
212+
"ua-parser-js": "1.0.40",
228213
"vis-data": "7.1.9",
229214
"vis-network": "9.1.9",
230215
"vue": "2.7.16",
231216
"vue2-daterange-picker": "0.6.8",
232217
"weekstart": "2.0.0",
233-
"workbox-cacheable-response": "7.1.0",
234-
"workbox-core": "7.1.0",
235-
"workbox-expiration": "7.1.0",
236-
"workbox-precaching": "7.1.0",
237-
"workbox-routing": "7.1.0",
238-
"workbox-strategies": "7.1.0",
218+
"workbox-cacheable-response": "7.3.0",
219+
"workbox-core": "7.3.0",
220+
"workbox-expiration": "7.3.0",
221+
"workbox-precaching": "7.3.0",
222+
"workbox-routing": "7.3.0",
223+
"workbox-strategies": "7.3.0",
239224
"xss": "1.0.15"
240225
},
241226
"resolutionsOverride": {},
242227
"dependenciesOverride": {},
243228
"devDependenciesOverride": {},
244-
"packageManager": "yarn@4.4.1",
229+
"packageManager": "yarn@4.5.3",
245230
"resolutions": {
246-
"@polymer/polymer": "patch:@polymer/[email protected].1#./homeassistant-frontend/.yarn/patches/@polymer/polymer/pr-5569.patch",
231+
"@polymer/polymer": "patch:@polymer/[email protected].2#./homeassistant-frontend/.yarn/patches/@polymer/polymer/pr-5569.patch",
247232
"@material/mwc-button@^0.25.3": "^0.27.0",
248233
"lit": "2.8.0",
234+
"lit-html": "2.8.0",
249235
"clean-css": "5.3.3",
250236
"@lit/reactive-element": "1.6.3",
251237
"@fullcalendar/daygrid": "6.1.15",
252-
"[email protected]": "patch:sortablejs@npm%3A1.15.2#~/homeassistant-frontend/.yarn/patches/sortablejs-npm-1.15.2-73347ae85a.patch",
253-
"[email protected]": "patch:leaflet-draw@npm%3A1.0.4#./homeassistant-frontend/.yarn/patches/leaflet-draw-npm-1.0.4-0ca0ebcf65.patch"
238+
"globals": "15.14.0"
254239
}
255240
}

script/gulp/app.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import "./gather-static.js";
77
import "../../homeassistant-frontend/build-scripts/gulp/gen-icons-json.js";
88
import "../../homeassistant-frontend/build-scripts/gulp/locale-data.js";
99
import "./paths.cjs";
10-
import "./webpack.cjs";
10+
import "./rspack.cjs";
1111

1212
gulp.task(
1313
"develop-hacs",
@@ -24,7 +24,7 @@ gulp.task(
2424
),
2525
"build-translation-fingerprints",
2626
"copy-static-app",
27-
"webpack-watch-app",
27+
"rspack-watch-app",
2828
),
2929
);
3030

@@ -38,7 +38,7 @@ gulp.task(
3838
gulp.parallel("gen-dummy-icons-json", "build-locale-data", "generate-translations"),
3939
"build-translation-fingerprints",
4040
"copy-static-app",
41-
"webpack-prod-app",
41+
"rspack-prod-app",
4242
// Don't compress running tests
4343
...(env.isTestBuild() ? [] : ["compress-app"]),
4444
"gen-pages-app-prod",

0 commit comments

Comments
 (0)