{ "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}\" --ignore-path .gitignore", "format:eslint": "eslint \"**/src/**/*.{js,ts,html}\" --fix --ignore-path .gitignore", "lint:prettier": "prettier \"**/src/**/*.{js,ts,json,css,md}\" --check", "format:prettier": "prettier \"**/src/**/*.{js,ts,json,css,md}\" --write", "lint:types": "tsc", "lint:lit": "lit-analyzer \"**/src/**/*.ts\" --format markdown --outFile result.md", "lint": "yarn run lint:eslint && yarn run lint:prettier && yarn run lint:types", "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.js \"test/**/*.ts\"" }, "author": "Paulus Schoutsen (http://paulusschoutsen.nl)", "license": "Apache-2.0", "dependencies": { "@braintree/sanitize-url": "^6.0.2", "@codemirror/autocomplete": "^6.4.2", "@codemirror/commands": "^6.2.1", "@codemirror/language": "^6.6.0", "@codemirror/legacy-modes": "^6.3.1", "@codemirror/search": "^6.2.3", "@codemirror/state": "^6.2.0", "@codemirror/view": "^6.9.1", "@egjs/hammerjs": "^2.0.17", "@formatjs/intl-datetimeformat": "^6.5.1", "@formatjs/intl-getcanonicallocales": "^2.1.0", "@formatjs/intl-locale": "^3.1.1", "@formatjs/intl-numberformat": "^8.3.5", "@formatjs/intl-pluralrules": "^5.1.10", "@formatjs/intl-relativetimeformat": "^11.1.10", "@fullcalendar/core": "^6.1.4", "@fullcalendar/daygrid": "^6.1.4", "@fullcalendar/interaction": "^6.1.4", "@fullcalendar/list": "^6.1.4", "@fullcalendar/timegrid": "^6.1.4", "@lezer/highlight": "^1.1.3", "@lit-labs/motion": "^1.0.3", "@lit-labs/virtualizer": "^1.0.1", "@material/chips": "=14.0.0-canary.53b3cad2f.0", "@material/data-table": "=14.0.0-canary.53b3cad2f.0", "@material/mwc-button": "^0.27.0", "@material/mwc-checkbox": "^0.27.0", "@material/mwc-circular-progress": "^0.27.0", "@material/mwc-dialog": "^0.27.0", "@material/mwc-drawer": "^0.27.0", "@material/mwc-fab": "^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-slider": "^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-fixed": "^0.27.0", "@material/top-app-bar": "=14.0.0-canary.53b3cad2f.0", "@material/web": "=1.0.0-pre.2", "@mdi/js": "7.1.96", "@mdi/svg": "7.1.96", "@polymer/app-layout": "^3.1.0", "@polymer/iron-flex-layout": "^3.0.1", "@polymer/iron-icon": "^3.0.1", "@polymer/iron-input": "^3.0.1", "@polymer/iron-resizable-behavior": "^3.0.1", "@polymer/paper-input": "^3.2.1", "@polymer/paper-item": "^3.0.1", "@polymer/paper-listbox": "^3.0.1", "@polymer/paper-slider": "^3.0.1", "@polymer/paper-styles": "^3.0.1", "@polymer/paper-tabs": "^3.1.0", "@polymer/paper-toast": "^3.0.1", "@polymer/paper-tooltip": "^3.0.1", "@polymer/polymer": "3.4.1", "@thomasloven/round-slider": "0.6.0", "@vaadin/combo-box": "^23.3.7", "@vaadin/vaadin-themable-mixin": "^23.3.7", "@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.8", "@webcomponents/webcomponentsjs": "^2.7.0", "app-datepicker": "^5.1.0", "chart.js": "^3.3.2", "comlink": "^4.4.1", "core-js": "^3.28.0", "cropperjs": "^1.5.13", "date-fns": "^2.29.3", "date-fns-tz": "^2.0.0", "deep-clone-simple": "^1.1.1", "deep-freeze": "^0.0.1", "fuse.js": "^6.6.2", "google-timezones-json": "^1.0.2", "hls.js": "^1.3.3", "home-assistant-js-websocket": "^8.0.1", "idb-keyval": "^6.2.0", "intl-messageformat": "^10.3.1", "js-yaml": "^4.1.0", "leaflet": "^1.9.3", "leaflet-draw": "^1.0.4", "lit": "^2.6.1", "marked": "^4.2.12", "memoize-one": "^6.0.0", "node-vibrant": "3.2.1-alpha.1", "proxy-polyfill": "^0.3.2", "punycode": "^2.3.0", "qr-scanner": "^1.4.2", "qrcode": "^1.5.1", "regenerator-runtime": "^0.13.11", "resize-observer-polyfill": "^1.5.1", "roboto-fontface": "^0.10.0", "rrule": "^2.7.2", "sortablejs": "^1.15.0", "superstruct": "^1.0.3", "tinykeys": "^1.4.0", "tsparticles-engine": "^2.9.3", "tsparticles-preset-links": "^2.9.3", "unfetch": "^5.0.0", "vis-data": "^7.1.4", "vis-network": "^9.1.2", "vue": "^2.7.14", "vue2-daterange-picker": "^0.6.8", "weekstart": "^1.1.0", "workbox-cacheable-response": "^6.5.4", "workbox-core": "^6.5.4", "workbox-expiration": "^6.5.4", "workbox-precaching": "^6.5.4", "workbox-routing": "^6.5.4", "workbox-strategies": "^6.5.4", "xss": "^1.0.14" }, "devDependencies": { "@babel/core": "^7.21.0", "@babel/plugin-external-helpers": "^7.18.6", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-decorators": "^7.21.0", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", "@babel/plugin-proposal-object-rest-spread": "^7.20.7", "@babel/plugin-proposal-optional-chaining": "^7.21.0", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/preset-env": "^7.20.2", "@babel/preset-typescript": "^7.21.0", "@koa/cors": "^4.0.0", "@octokit/auth-oauth-device": "^4.0.4", "@octokit/rest": "^19.0.7", "@open-wc/dev-server-hmr": "^0.1.3", "@rollup/plugin-babel": "^5.2.1", "@rollup/plugin-commonjs": "^11.1.0", "@rollup/plugin-json": "^4.0.3", "@rollup/plugin-node-resolve": "^7.1.3", "@rollup/plugin-replace": "^2.3.2", "@types/chromecast-caf-receiver": "5.0.12", "@types/chromecast-caf-sender": "^1.0.5", "@types/esprima": "^4", "@types/glob": "^8", "@types/js-yaml": "^4", "@types/leaflet": "^1", "@types/leaflet-draw": "^1", "@types/marked": "^4", "@types/mocha": "^10", "@types/qrcode": "^1.5.0", "@types/sortablejs": "^1", "@types/tar": "^6", "@types/webspeechapi": "^0.0.29", "@typescript-eslint/eslint-plugin": "^5.53.0", "@typescript-eslint/parser": "^5.53.0", "@web/dev-server": "^0.1.35", "@web/dev-server-rollup": "^0.2.11", "babel-loader": "^9.1.2", "chai": "^4.3.7", "del": "^7.0.0", "eslint": "^8.34.0", "eslint-config-airbnb-base": "^15.0.0", "eslint-config-airbnb-typescript": "^17.0.0", "eslint-config-prettier": "^8.6.0", "eslint-import-resolver-webpack": "^0.13.2", "eslint-plugin-disable": "^2.0.3", "eslint-plugin-import": "^2.27.5", "eslint-plugin-lit": "^1.8.2", "eslint-plugin-lit-a11y": "^2.3.0", "eslint-plugin-unused-imports": "^2.0.0", "eslint-plugin-wc": "^1.4.0", "esprima": "^4.0.1", "fancy-log": "^2.0.0", "fs-extra": "^11.1.0", "glob": "^8.1.0", "gulp": "^4.0.2", "gulp-flatmap": "^1.0.2", "gulp-json-transform": "^0.4.8", "gulp-merge-json": "^2.1.2", "gulp-rename": "^2.0.0", "gulp-zopfli-green": "^6.0.1", "html-minifier": "^4.0.0", "husky": "^8.0.3", "instant-mocha": "^1.5.0", "jszip": "^3.10.1", "lint-staged": "^13.1.2", "lit-analyzer": "^1.2.1", "lodash.template": "^4.5.0", "magic-string": "^0.29.0", "map-stream": "^0.0.7", "merge-stream": "^2.0.0", "mocha": "^10.2.0", "object-hash": "^3.0.0", "open": "^8.4.1", "pinst": "^3.0.0", "prettier": "^2.8.4", "require-dir": "^1.2.0", "rollup": "^2.8.2", "rollup-plugin-string": "^3.0.0", "rollup-plugin-terser": "^5.3.0", "rollup-plugin-visualizer": "^5.9.0", "serve": "^11.3.2", "sinon": "^15.0.1", "source-map-url": "^0.4.1", "systemjs": "^6.13.0", "tar": "^6.1.13", "terser-webpack-plugin": "^5.3.6", "ts-lit-plugin": "^1.2.1", "typescript": "^4.9.5", "vinyl-buffer": "^1.0.1", "vinyl-source-stream": "^2.0.0", "webpack": "=5.72.1", "webpack-cli": "^5.0.1", "webpack-dev-server": "^4.11.1", "webpack-manifest-plugin": "^5.0.0", "webpackbar": "^5.0.2", "workbox-build": "^6.5.4" }, "_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.4.1#./.yarn/patches/@polymer/polymer/pr-5569.patch" }, "main": "src/home-assistant.js", "prettier": { "trailingComma": "es5", "arrowParens": "always" }, "packageManager": "yarn@3.3.1" }