{ "description": "A frontend for Home Assistant using the Polymer framework", "repository": { "type": "git", "url": "https://github.com/home-assistant/home-assistant-polymer" }, "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'", "lint": "npm run lint:eslint && npm run lint:prettier && npm run lint:types", "format": "npm run format:eslint && npm run format:prettier", "mocha": "node_modules/.bin/ts-mocha -p test-mocha/tsconfig.test.json --opts test-mocha/mocha.opts", "test": "npm run lint && npm run mocha", "docker_build": "sh ./script/docker_run.sh build $npm_package_version", "bash": "sh ./script/docker_run.sh bash $npm_package_version" }, "author": "Paulus Schoutsen (http://paulusschoutsen.nl)", "license": "Apache-2.0", "dependencies": { "@formatjs/intl-pluralrules": "^1.5.8", "@fullcalendar/core": "^5.0.0-beta.2", "@fullcalendar/daygrid": "^5.0.0-beta.2", "@material/chips": "7.0.0-canary.d92d8c93e.0", "@material/mwc-button": "^0.15.0", "@material/mwc-checkbox": "^0.15.0", "@material/mwc-dialog": "^0.15.0", "@material/mwc-fab": "^0.15.0", "@material/mwc-formfield": "^0.15.0", "@material/mwc-icon-button": "^0.15.0", "@material/mwc-list": "^0.15.0", "@material/mwc-menu": "^0.15.0", "@material/mwc-ripple": "^0.15.0", "@material/mwc-switch": "^0.15.0", "@mdi/js": "4.9.95", "@mdi/svg": "4.9.95", "@polymer/app-layout": "^3.0.2", "@polymer/app-route": "^3.0.2", "@polymer/app-storage": "^3.0.2", "@polymer/iron-autogrow-textarea": "^3.0.1", "@polymer/iron-flex-layout": "^3.0.1", "@polymer/iron-icon": "^3.0.1", "@polymer/iron-image": "^3.0.1", "@polymer/iron-input": "^3.0.1", "@polymer/iron-label": "^3.0.1", "@polymer/iron-media-query": "^3.0.1", "@polymer/iron-overlay-behavior": "^3.0.2", "@polymer/iron-resizable-behavior": "^3.0.1", "@polymer/paper-card": "^3.0.1", "@polymer/paper-checkbox": "^3.1.0", "@polymer/paper-dialog": "^3.0.1", "@polymer/paper-dialog-behavior": "^3.0.1", "@polymer/paper-dialog-scrollable": "^3.0.1", "@polymer/paper-dropdown-menu": "^3.0.1", "@polymer/paper-input": "^3.0.1", "@polymer/paper-item": "^3.0.1", "@polymer/paper-listbox": "^3.0.1", "@polymer/paper-menu-button": "^3.0.1", "@polymer/paper-progress": "^3.0.1", "@polymer/paper-radio-button": "^3.0.1", "@polymer/paper-radio-group": "^3.0.1", "@polymer/paper-ripple": "^3.0.1", "@polymer/paper-slider": "^3.0.1", "@polymer/paper-spinner": "^3.0.2", "@polymer/paper-styles": "^3.0.1", "@polymer/paper-tabs": "^3.0.1", "@polymer/paper-toast": "^3.0.1", "@polymer/paper-tooltip": "^3.0.1", "@polymer/polymer": "3.1.0", "@thomasloven/round-slider": "0.4.1", "@vaadin/vaadin-combo-box": "^5.0.10", "@vaadin/vaadin-date-picker": "^4.0.7", "@webcomponents/webcomponentsjs": "^2.2.7", "chart.js": "~2.8.0", "chartjs-chart-timeline": "^0.3.0", "codemirror": "^5.49.0", "comlink": "^4.3.0", "cpx": "^1.5.0", "deep-clone-simple": "^1.1.1", "deep-freeze": "^0.0.1", "es6-object-assign": "^1.1.0", "fecha": "^4.2.0", "fuse.js": "^3.4.4", "google-timezones-json": "^1.0.2", "hls.js": "^0.12.4", "home-assistant-js-websocket": "^5.1.2", "idb-keyval": "^3.2.0", "intl-messageformat": "^8.3.9", "js-yaml": "^3.13.1", "leaflet": "^1.4.0", "leaflet-draw": "^1.0.4", "lit-element": "^2.3.1", "lit-html": "^1.2.1", "lit-virtualizer": "^0.4.2", "marked": "^0.6.1", "mdn-polyfills": "^5.16.0", "memoize-one": "^5.0.2", "node-vibrant": "^3.1.5", "proxy-polyfill": "^0.3.1", "regenerator-runtime": "^0.13.2", "resize-observer": "^1.0.0", "roboto-fontface": "^0.10.0", "superstruct": "^0.6.1", "unfetch": "^4.1.0", "web-animations-js": "^2.3.2", "workbox-core": "^5.1.3", "workbox-precaching": "^5.1.3", "workbox-routing": "^5.1.3", "workbox-strategies": "^5.1.3", "xss": "^1.0.6" }, "devDependencies": { "@babel/core": "^7.9.0", "@babel/plugin-external-helpers": "^7.8.3", "@babel/plugin-proposal-class-properties": "^7.8.3", "@babel/plugin-proposal-decorators": "^7.8.3", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", "@babel/plugin-proposal-object-rest-spread": "^7.9.5", "@babel/plugin-proposal-optional-chaining": "^7.9.0", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/preset-env": "^7.9.5", "@babel/preset-typescript": "^7.9.0", "@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/chai": "^4.1.7", "@types/chromecast-caf-receiver": "^3.0.12", "@types/codemirror": "^0.0.78", "@types/hls.js": "^0.12.3", "@types/js-yaml": "^3.12.1", "@types/leaflet": "^1.4.3", "@types/leaflet-draw": "^1.0.1", "@types/memoize-one": "4.1.0", "@types/mocha": "^5.2.6", "@types/resize-observer-browser": "^0.1.3", "@types/webspeechapi": "^0.0.29", "@typescript-eslint/eslint-plugin": "^2.28.0", "@typescript-eslint/parser": "^2.28.0", "babel-loader": "^8.1.0", "chai": "^4.2.0", "del": "^4.0.0", "eslint": "^6.8.0", "eslint-config-airbnb-typescript": "^7.2.1", "eslint-config-prettier": "^6.10.1", "eslint-import-resolver-webpack": "^0.12.1", "eslint-plugin-disable": "^2.0.1", "eslint-plugin-import": "^2.20.2", "eslint-plugin-lit": "^1.2.0", "eslint-plugin-prettier": "^3.1.3", "eslint-plugin-wc": "^1.2.0", "fancy-log": "^1.3.3", "fs-extra": "^7.0.1", "gulp": "^4.0.0", "gulp-foreach": "^0.1.0", "gulp-json-transform": "^0.4.6", "gulp-jsonminify": "^1.1.0", "gulp-merge-json": "^1.3.1", "gulp-rename": "^2.0.0", "gulp-zopfli-green": "^3.0.1", "html-minifier": "^4.0.0", "husky": "^1.3.1", "lint-staged": "^8.1.5", "lit-analyzer": "^1.1.10", "lodash.template": "^4.5.0", "magic-string": "^0.25.7", "map-stream": "^0.0.7", "merge-stream": "^1.0.1", "mocha": "^6.0.2", "object-hash": "^2.0.3", "open": "^7.0.4", "prettier": "^2.0.4", "raw-loader": "^2.0.0", "require-dir": "^1.2.0", "rollup": "^2.8.2", "rollup-plugin-babel": "^4.4.0", "rollup-plugin-string": "^3.0.0", "rollup-plugin-terser": "^5.3.0", "rollup-plugin-visualizer": "^4.0.4", "serve": "^11.3.0", "sinon": "^7.3.1", "source-map-url": "^0.4.0", "systemjs": "^6.3.2", "terser-webpack-plugin": "^1.2.3", "ts-lit-plugin": "^1.1.10", "ts-mocha": "^6.0.0", "typescript": "^3.8.3", "vinyl-buffer": "^1.0.1", "vinyl-source-stream": "^2.0.0", "web-component-tester": "^6.9.2", "webpack": "^4.40.2", "webpack-cli": "^3.3.9", "webpack-dev-server": "^3.10.3", "webpack-manifest-plugin": "^2.0.4", "workbox-build": "^5.1.3", "worker-plugin": "^4.0.3" }, "_comment": "Polymer fixed to 3.1 because 3.2 throws on logbook page", "_comment_2": "Fix in https://github.com/Polymer/polymer/pull/5569", "resolutions": { "@webcomponents/webcomponentsjs": "^2.2.10", "@polymer/polymer": "3.1.0", "lit-html": "1.2.1", "lit-element": "2.3.1", "@material/animation": "7.0.0-canary.d92d8c93e.0", "@material/base": "7.0.0-canary.d92d8c93e.0", "@material/checkbox": "7.0.0-canary.d92d8c93e.0", "@material/density": "7.0.0-canary.d92d8c93e.0", "@material/dom": "7.0.0-canary.d92d8c93e.0", "@material/elevation": "7.0.0-canary.d92d8c93e.0", "@material/feature-targeting": "7.0.0-canary.d92d8c93e.0", "@material/ripple": "7.0.0-canary.d92d8c93e.0", "@material/rtl": "7.0.0-canary.d92d8c93e.0", "@material/shape": "7.0.0-canary.d92d8c93e.0", "@material/theme": "7.0.0-canary.d92d8c93e.0", "@material/touch-target": "7.0.0-canary.d92d8c93e.0", "@material/typography": "7.0.0-canary.d92d8c93e.0" }, "main": "src/home-assistant.js", "husky": { "hooks": { "pre-commit": "lint-staged" } }, "lint-staged": { "linters": { "*.{js,ts,json,css,md}": [ "prettier --write", "git add" ] }, "ignore": [ "translations/**" ] }, "prettier": { "trailingComma": "es5", "arrowParens": "always" } }