{ "description": "A frontend for Home Assistant", "repository": { "type": "git", "url": "https://github.com/home-assistant/frontend" }, "name": "home-assistant-frontend", "version": "1.0.0", "scripts": { "build": "script/build_frontend", "lint:eslint": "eslint --flag unstable_config_lookup_from_file \"**/src/**/*.{js,ts,html}\" --cache --cache-strategy=content --cache-location=node_modules/.cache/eslint/.eslintcache --ignore-pattern=.gitignore --max-warnings=0", "format:eslint": "eslint --flag unstable_config_lookup_from_file \"**/src/**/*.{js,ts,html}\" --cache --cache-strategy=content --cache-location=node_modules/.cache/eslint/.eslintcache --ignore-pattern=.gitignore --fix", "lint:prettier": "prettier . --cache --check", "format:prettier": "prettier . --cache --write", "lint:types": "tsc", "lint:lit": "lit-analyzer \"{.,*}/src/**/*.ts\"", "lint": "yarn run lint:eslint && yarn run lint:prettier && yarn run lint:types && yarn run lint:lit", "format": "yarn run format:eslint && yarn run format:prettier", "postinstall": "husky", "prepack": "pinst --disable", "postpack": "pinst --enable", "test": "vitest run --config test/vitest.config.ts", "test:coverage": "vitest run --config test/vitest.config.ts --coverage" }, "author": "Paulus Schoutsen (http://paulusschoutsen.nl)", "license": "Apache-2.0", "type": "module", "dependencies": { "@babel/runtime": "7.27.0", "@braintree/sanitize-url": "7.1.1", "@codemirror/autocomplete": "6.18.6", "@codemirror/commands": "6.8.0", "@codemirror/language": "6.11.0", "@codemirror/legacy-modes": "6.5.0", "@codemirror/search": "6.5.10", "@codemirror/state": "6.5.2", "@codemirror/view": "6.36.4", "@egjs/hammerjs": "2.0.17", "@formatjs/intl-datetimeformat": "6.17.4", "@formatjs/intl-displaynames": "6.8.11", "@formatjs/intl-durationformat": "0.7.4", "@formatjs/intl-getcanonicallocales": "2.5.5", "@formatjs/intl-listformat": "7.7.11", "@formatjs/intl-locale": "4.2.11", "@formatjs/intl-numberformat": "8.15.4", "@formatjs/intl-pluralrules": "5.4.4", "@formatjs/intl-relativetimeformat": "11.4.11", "@fullcalendar/core": "6.1.15", "@fullcalendar/daygrid": "6.1.15", "@fullcalendar/interaction": "6.1.15", "@fullcalendar/list": "6.1.15", "@fullcalendar/luxon3": "6.1.15", "@fullcalendar/timegrid": "6.1.15", "@lezer/highlight": "1.2.1", "@lit-labs/context": "0.4.1", "@lit-labs/motion": "1.0.8", "@lit-labs/observers": "2.0.5", "@lit-labs/virtualizer": "2.1.0", "@material/chips": "=14.0.0-canary.53b3cad2f.0", "@material/data-table": "=14.0.0-canary.53b3cad2f.0", "@material/mwc-base": "0.27.0", "@material/mwc-button": "0.27.0", "@material/mwc-checkbox": "0.27.0", "@material/mwc-dialog": "0.27.0", "@material/mwc-drawer": "0.27.0", "@material/mwc-fab": "0.27.0", "@material/mwc-floating-label": "0.27.0", "@material/mwc-formfield": "0.27.0", "@material/mwc-icon-button": "0.27.0", "@material/mwc-linear-progress": "0.27.0", "@material/mwc-list": "0.27.0", "@material/mwc-menu": "0.27.0", "@material/mwc-radio": "0.27.0", "@material/mwc-select": "0.27.0", "@material/mwc-snackbar": "0.27.0", "@material/mwc-switch": "0.27.0", "@material/mwc-tab": "0.27.0", "@material/mwc-tab-bar": "0.27.0", "@material/mwc-textarea": "0.27.0", "@material/mwc-textfield": "0.27.0", "@material/mwc-top-app-bar": "0.27.0", "@material/mwc-top-app-bar-fixed": "0.27.0", "@material/top-app-bar": "=14.0.0-canary.53b3cad2f.0", "@material/web": "2.2.0", "@mdi/js": "7.4.47", "@mdi/svg": "7.4.47", "@polymer/paper-item": "3.0.1", "@polymer/paper-listbox": "3.0.1", "@polymer/paper-tabs": "3.1.0", "@polymer/polymer": "3.5.2", "@replit/codemirror-indentation-markers": "6.5.3", "@shoelace-style/shoelace": "2.20.1", "@thomasloven/round-slider": "0.6.0", "@tsparticles/engine": "3.8.1", "@tsparticles/preset-links": "3.2.0", "@vaadin/combo-box": "24.7.1", "@vaadin/vaadin-themable-mixin": "24.7.1", "@vibrant/color": "4.0.0", "@vue/web-component-wrapper": "1.3.0", "@webcomponents/scoped-custom-element-registry": "0.0.10", "@webcomponents/webcomponentsjs": "2.8.0", "app-datepicker": "5.1.1", "barcode-detector": "3.0.1", "color-name": "2.0.0", "comlink": "4.4.2", "core-js": "3.41.0", "cropperjs": "1.6.2", "date-fns": "4.1.0", "date-fns-tz": "3.2.0", "deep-clone-simple": "1.1.1", "deep-freeze": "0.0.1", "dialog-polyfill": "0.5.6", "echarts": "5.6.0", "element-internals-polyfill": "3.0.1", "fuse.js": "7.1.0", "google-timezones-json": "1.2.0", "gulp-zopfli-green": "6.0.2", "hls.js": "patch:hls.js@npm%3A1.5.7#~/.yarn/patches/hls.js-npm-1.5.7-f5bbd3d060.patch", "home-assistant-js-websocket": "9.4.0", "idb-keyval": "6.2.1", "intl-messageformat": "10.7.16", "js-yaml": "4.1.0", "leaflet": "1.9.4", "leaflet-draw": "patch:leaflet-draw@npm%3A1.0.4#./.yarn/patches/leaflet-draw-npm-1.0.4-0ca0ebcf65.patch", "leaflet.markercluster": "1.5.3", "lit": "2.8.0", "lit-html": "2.8.0", "luxon": "3.5.0", "marked": "15.0.7", "memoize-one": "6.0.0", "node-vibrant": "4.0.3", "object-hash": "3.0.0", "punycode": "2.3.1", "qr-scanner": "1.4.2", "qrcode": "1.5.4", "roboto-fontface": "0.10.0", "rrule": "2.8.1", "sortablejs": "patch:sortablejs@npm%3A1.15.3#~/.yarn/patches/sortablejs-npm-1.15.3-3235a8f83b.patch", "stacktrace-js": "2.0.2", "superstruct": "2.0.2", "tinykeys": "3.0.0", "ua-parser-js": "2.0.3", "vis-data": "7.1.9", "vis-network": "9.1.9", "vue": "2.7.16", "vue2-daterange-picker": "0.6.8", "weekstart": "2.0.0", "workbox-cacheable-response": "7.3.0", "workbox-core": "7.3.0", "workbox-expiration": "7.3.0", "workbox-precaching": "7.3.0", "workbox-routing": "7.3.0", "workbox-strategies": "7.3.0", "xss": "1.0.15" }, "devDependencies": { "@babel/core": "7.26.10", "@babel/helper-define-polyfill-provider": "0.6.4", "@babel/plugin-proposal-decorators": "7.25.9", "@babel/plugin-transform-runtime": "7.26.10", "@babel/preset-env": "7.26.9", "@babel/preset-typescript": "7.27.0", "@bundle-stats/plugin-webpack-filter": "4.19.1", "@lokalise/node-api": "14.2.0", "@octokit/auth-oauth-device": "7.1.4", "@octokit/plugin-retry": "7.2.0", "@octokit/rest": "21.1.1", "@rsdoctor/rspack-plugin": "1.0.0", "@rspack/cli": "1.2.8", "@rspack/core": "1.2.8", "@types/babel__plugin-transform-runtime": "7.9.5", "@types/chromecast-caf-receiver": "6.0.21", "@types/chromecast-caf-sender": "1.0.11", "@types/color-name": "2.0.0", "@types/glob": "8.1.0", "@types/html-minifier-terser": "7.0.2", "@types/js-yaml": "4.0.9", "@types/leaflet": "1.9.17", "@types/leaflet-draw": "1.0.11", "@types/leaflet.markercluster": "1.5.5", "@types/lodash.merge": "4.6.9", "@types/luxon": "3.4.2", "@types/mocha": "10.0.10", "@types/qrcode": "1.5.5", "@types/sortablejs": "1.15.8", "@types/tar": "6.1.13", "@types/ua-parser-js": "0.7.39", "@types/webspeechapi": "0.0.29", "@vitest/coverage-v8": "3.0.9", "babel-loader": "10.0.0", "babel-plugin-template-html-minifier": "4.1.0", "browserslist-useragent-regexp": "4.1.3", "del": "8.0.0", "eslint": "9.23.0", "eslint-config-airbnb-base": "15.0.0", "eslint-config-prettier": "10.1.1", "eslint-import-resolver-webpack": "0.13.10", "eslint-plugin-import": "2.31.0", "eslint-plugin-lit": "2.0.0", "eslint-plugin-lit-a11y": "4.1.4", "eslint-plugin-unused-imports": "4.1.4", "eslint-plugin-wc": "3.0.0", "fancy-log": "2.0.0", "fs-extra": "11.3.0", "glob": "11.0.1", "gulp": "5.0.0", "gulp-brotli": "3.0.0", "gulp-json-transform": "0.5.0", "gulp-rename": "2.0.0", "html-minifier-terser": "7.2.0", "husky": "9.1.7", "jsdom": "26.0.0", "jszip": "3.10.1", "lint-staged": "15.5.0", "lit-analyzer": "2.0.3", "lodash.merge": "4.6.2", "lodash.template": "4.5.0", "map-stream": "0.0.7", "pinst": "3.0.0", "prettier": "3.5.3", "rspack-manifest-plugin": "5.0.3", "serve": "14.2.4", "sinon": "19.0.5", "tar": "7.4.3", "terser-webpack-plugin": "5.3.14", "ts-lit-plugin": "2.0.2", "typescript": "5.8.2", "typescript-eslint": "8.28.0", "vite-tsconfig-paths": "5.1.4", "vitest": "3.0.9", "webpack-stats-plugin": "1.1.3", "webpackbar": "7.0.0", "workbox-build": "patch:workbox-build@npm%3A7.1.1#~/.yarn/patches/workbox-build-npm-7.1.1-a854f3faae.patch" }, "_comment": "Polymer 3.2 contained a bug, fixed in https://github.com/Polymer/polymer/pull/5569, add as patch", "resolutions": { "@polymer/polymer": "patch:@polymer/polymer@3.5.2#./.yarn/patches/@polymer/polymer/pr-5569.patch", "@material/mwc-button@^0.25.3": "^0.27.0", "lit": "2.8.0", "lit-html": "2.8.0", "clean-css": "5.3.3", "@lit/reactive-element": "1.6.3", "@fullcalendar/daygrid": "6.1.15", "globals": "16.0.0", "tslib": "2.8.1" }, "packageManager": "yarn@4.7.0" }