{ "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 \"**/src/**/*.{js,ts,html}\" --cache --cache-strategy=content --cache-location=node_modules/.cache/eslint/.eslintcache --ignore-path=.gitignore", "format:eslint": "eslint \"**/src/**/*.{js,ts,html}\" --cache --cache-strategy=content --cache-location=node_modules/.cache/eslint/.eslintcache --ignore-path=.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 install", "prepack": "pinst --disable", "postpack": "pinst --enable", "test": "instant-mocha --webpack-config ./test/webpack.config.js --require ./test/setup.cjs \"test/**/*.ts\"" }, "author": "Paulus Schoutsen (http://paulusschoutsen.nl)", "license": "Apache-2.0", "type": "module", "dependencies": { "@babel/runtime": "7.24.5", "@braintree/sanitize-url": "7.0.1", "@codemirror/autocomplete": "6.16.0", "@codemirror/commands": "6.5.0", "@codemirror/language": "6.10.1", "@codemirror/legacy-modes": "6.4.0", "@codemirror/search": "6.5.6", "@codemirror/state": "6.4.1", "@codemirror/view": "6.26.3", "@egjs/hammerjs": "2.0.17", "@formatjs/intl-datetimeformat": "6.12.3", "@formatjs/intl-displaynames": "6.6.6", "@formatjs/intl-getcanonicallocales": "2.3.0", "@formatjs/intl-listformat": "7.5.5", "@formatjs/intl-locale": "3.4.5", "@formatjs/intl-numberformat": "8.10.1", "@formatjs/intl-pluralrules": "5.2.12", "@formatjs/intl-relativetimeformat": "11.2.12", "@fullcalendar/core": "6.1.11", "@fullcalendar/daygrid": "6.1.11", "@fullcalendar/interaction": "6.1.11", "@fullcalendar/list": "6.1.11", "@fullcalendar/luxon3": "6.1.11", "@fullcalendar/timegrid": "6.1.11", "@lezer/highlight": "1.2.0", "@lit-labs/context": "0.4.1", "@lit-labs/motion": "1.0.7", "@lit-labs/observers": "2.0.2", "@lit-labs/virtualizer": "2.0.12", "@lrnwebcomponents/simple-tooltip": "8.0.2", "@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-ripple": "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": "1.4.1", "@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.1", "@thomasloven/round-slider": "0.6.0", "@vaadin/combo-box": "24.3.11", "@vaadin/vaadin-themable-mixin": "24.3.11", "@vibrant/color": "3.2.1-alpha.1", "@vibrant/core": "3.2.1-alpha.1", "@vibrant/quantizer-mmcq": "3.2.1-alpha.1", "@vue/web-component-wrapper": "1.3.0", "@webcomponents/scoped-custom-element-registry": "0.0.9", "@webcomponents/webcomponentsjs": "2.8.0", "app-datepicker": "5.1.1", "chart.js": "4.4.2", "color-name": "2.0.0", "comlink": "4.4.1", "core-js": "3.37.0", "cropperjs": "1.6.2", "date-fns": "3.6.0", "date-fns-tz": "3.1.3", "deep-clone-simple": "1.1.1", "deep-freeze": "0.0.1", "element-internals-polyfill": "1.3.11", "fuse.js": "7.0.0", "google-timezones-json": "1.2.0", "hls.js": "patch:hls.js@npm%3A1.5.7#~/.yarn/patches/hls.js-npm-1.5.7-f5bbd3d060.patch", "home-assistant-js-websocket": "9.3.0", "idb-keyval": "6.2.1", "intl-messageformat": "10.5.11", "js-yaml": "4.1.0", "leaflet": "1.9.4", "leaflet-draw": "1.0.4", "lit": "2.8.0", "luxon": "3.4.4", "marked": "12.0.2", "memoize-one": "6.0.0", "node-vibrant": "3.2.1-alpha.1", "proxy-polyfill": "0.3.2", "punycode": "2.3.1", "qr-scanner": "1.4.2", "qrcode": "1.5.3", "roboto-fontface": "0.10.0", "rrule": "2.8.1", "sortablejs": "1.15.2", "stacktrace-js": "2.0.2", "superstruct": "1.0.4", "tinykeys": "2.1.0", "tsparticles-engine": "2.12.0", "tsparticles-preset-links": "2.12.0", "ua-parser-js": "1.0.37", "unfetch": "5.0.0", "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.1.0", "workbox-core": "7.1.0", "workbox-expiration": "7.1.0", "workbox-precaching": "7.1.0", "workbox-routing": "7.1.0", "workbox-strategies": "7.1.0", "xss": "1.0.15" }, "devDependencies": { "@babel/core": "7.24.5", "@babel/helper-define-polyfill-provider": "0.6.2", "@babel/plugin-proposal-decorators": "7.24.1", "@babel/plugin-transform-runtime": "7.24.3", "@babel/preset-env": "7.24.5", "@babel/preset-typescript": "7.24.1", "@bundle-stats/plugin-webpack-filter": "4.12.2", "@koa/cors": "5.0.0", "@lokalise/node-api": "12.4.1", "@octokit/auth-oauth-device": "7.1.1", "@octokit/plugin-retry": "7.1.1", "@octokit/rest": "20.1.0", "@open-wc/dev-server-hmr": "0.1.4", "@rollup/plugin-babel": "6.0.4", "@rollup/plugin-commonjs": "25.0.7", "@rollup/plugin-json": "6.1.0", "@rollup/plugin-node-resolve": "15.2.3", "@rollup/plugin-replace": "5.0.5", "@types/babel__plugin-transform-runtime": "7.9.5", "@types/chromecast-caf-receiver": "6.0.14", "@types/chromecast-caf-sender": "1.0.9", "@types/color-name": "1.1.4", "@types/glob": "8.1.0", "@types/html-minifier-terser": "7.0.2", "@types/js-yaml": "4.0.9", "@types/leaflet": "1.9.12", "@types/leaflet-draw": "1.0.11", "@types/luxon": "3.4.2", "@types/mocha": "10.0.6", "@types/qrcode": "1.5.5", "@types/serve-handler": "6.1.4", "@types/sortablejs": "1.15.8", "@types/tar": "6.1.13", "@types/ua-parser-js": "0.7.39", "@types/webspeechapi": "0.0.29", "@typescript-eslint/eslint-plugin": "7.8.0", "@typescript-eslint/parser": "7.8.0", "@web/dev-server": "0.1.38", "@web/dev-server-rollup": "0.4.1", "babel-loader": "9.1.3", "babel-plugin-template-html-minifier": "4.1.0", "chai": "5.1.0", "del": "7.1.0", "eslint": "8.57.0", "eslint-config-airbnb-base": "15.0.0", "eslint-config-airbnb-typescript": "18.0.0", "eslint-config-prettier": "9.1.0", "eslint-import-resolver-webpack": "0.13.8", "eslint-plugin-disable": "2.0.3", "eslint-plugin-import": "2.29.1", "eslint-plugin-lit": "1.11.0", "eslint-plugin-lit-a11y": "4.1.2", "eslint-plugin-unused-imports": "3.1.0", "eslint-plugin-wc": "2.1.0", "fancy-log": "2.0.0", "fs-extra": "11.2.0", "glob": "10.3.12", "gulp": "5.0.0", "gulp-json-transform": "0.5.0", "gulp-merge-json": "2.2.1", "gulp-rename": "2.0.0", "gulp-zopfli-green": "6.0.1", "html-minifier-terser": "7.2.0", "husky": "9.0.11", "instant-mocha": "1.5.2", "jszip": "3.10.1", "lint-staged": "15.2.2", "lit-analyzer": "2.0.3", "lodash.template": "4.5.0", "magic-string": "0.30.10", "map-stream": "0.0.7", "mocha": "10.4.0", "object-hash": "3.0.0", "open": "10.1.0", "pinst": "3.0.0", "prettier": "3.2.5", "rollup": "2.79.1", "rollup-plugin-string": "3.0.0", "rollup-plugin-terser": "7.0.2", "rollup-plugin-visualizer": "5.12.0", "serve-handler": "6.1.5", "sinon": "17.0.1", "source-map-url": "0.4.1", "systemjs": "6.15.1", "tar": "7.0.1", "terser-webpack-plugin": "5.3.10", "transform-async-modules-webpack-plugin": "1.1.0", "ts-lit-plugin": "2.0.2", "typescript": "5.4.5", "webpack": "5.91.0", "webpack-cli": "5.1.4", "webpack-dev-server": "5.0.4", "webpack-manifest-plugin": "5.0.0", "webpack-stats-plugin": "1.1.3", "webpackbar": "6.0.1", "workbox-build": "7.1.0" }, "_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.1#./.yarn/patches/@polymer/polymer/pr-5569.patch", "@material/mwc-button@^0.25.3": "^0.27.0", "lit": "2.8.0", "clean-css": "5.3.3", "@lit/reactive-element": "1.6.3", "sortablejs@1.15.2": "patch:sortablejs@npm%3A1.15.2#~/.yarn/patches/sortablejs-npm-1.15.2-73347ae85a.patch", "leaflet-draw@1.0.4": "patch:leaflet-draw@npm%3A1.0.4#./.yarn/patches/leaflet-draw-npm-1.0.4-0ca0ebcf65.patch" }, "packageManager": "yarn@4.1.1" }