{ "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 src hassio/src gallery/src && tslint 'src/**/*.ts' 'src/**/*.tsx' 'hassio/src/**/*.ts' 'gallery/src/**/*.ts' 'cast/src/**/*.ts' 'test-mocha/**/*.ts' && tsc", "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": { "@material/data-table": "^3.1.1", "@material/mwc-base": "^0.8.0", "@material/mwc-button": "^0.8.0", "@material/mwc-checkbox": "^0.8.0", "@material/mwc-fab": "^0.8.0", "@material/mwc-ripple": "0.8.0", "@mdi/svg": "4.4.95", "@polymer/app-layout": "^3.0.2", "@polymer/app-localize-behavior": "^3.0.1", "@polymer/app-route": "^3.0.2", "@polymer/app-storage": "^3.0.2", "@polymer/font-roboto": "^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-iconset-svg": "^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-pages": "^3.0.1", "@polymer/iron-resizable-behavior": "^3.0.1", "@polymer/neon-animation": "^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-drawer-panel": "^3.0.1", "@polymer/paper-dropdown-menu": "^3.0.1", "@polymer/paper-icon-button": "^3.0.2", "@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-scroll-header-panel": "^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-toggle-button": "^3.0.1", "@polymer/paper-tooltip": "^3.0.1", "@polymer/polymer": "3.1.0", "@thomasloven/round-slider": "^0.2.2", "@vaadin/vaadin-combo-box": "^4.2.8", "@vaadin/vaadin-date-picker": "^3.3.3", "@webcomponents/shadycss": "^1.9.0", "@webcomponents/webcomponentsjs": "^2.2.7", "chart.js": "~2.8.0", "chartjs-chart-timeline": "^0.3.0", "codemirror": "^5.45.0", "cpx": "^1.5.0", "deep-clone-simple": "^1.1.1", "es6-object-assign": "^1.1.0", "fecha": "^3.0.2", "fuse.js": "^3.4.4", "google-timezones-json": "^1.0.2", "hls.js": "^0.12.4", "home-assistant-js-websocket": "^4.4.0", "intl-messageformat": "^2.2.0", "jquery": "^3.4.0", "js-yaml": "^3.13.1", "leaflet": "^1.4.0", "lit-element": "^2.2.1", "lit-html": "^1.1.0", "marked": "^0.6.1", "mdn-polyfills": "^5.16.0", "memoize-one": "^5.0.2", "moment": "^2.24.0", "preact": "^8.4.2", "preact-compat": "^3.18.4", "react-big-calendar": "^0.20.4", "regenerator-runtime": "^0.13.2", "roboto-fontface": "^0.10.0", "round-slider": "^1.3.3", "superstruct": "^0.6.1", "tslib": "^1.10.0", "unfetch": "^4.1.0", "web-animations-js": "^2.3.1", "xss": "^1.0.6" }, "devDependencies": { "@gfx/zopfli": "^1.0.11", "@types/chai": "^4.1.7", "@types/chromecast-caf-receiver": "^3.0.12", "@types/chromecast-caf-sender": "^1.0.1", "@types/hls.js": "^0.12.3", "@types/leaflet": "^1.4.3", "@types/memoize-one": "4.1.0", "@types/mocha": "^5.2.6", "chai": "^4.2.0", "compression-webpack-plugin": "^2.0.0", "copy-webpack-plugin": "^5.0.2", "del": "^4.0.0", "eslint": "^6.3.0", "eslint-config-airbnb-base": "^14.0.0", "eslint-config-prettier": "^6.2.0", "eslint-import-resolver-webpack": "^0.11.1", "eslint-plugin-import": "^2.18.2", "eslint-plugin-prettier": "^3.1.0", "eslint-plugin-react": "^7.14.3", "fs-extra": "^7.0.1", "gulp": "^4.0.0", "gulp-foreach": "^0.1.0", "gulp-hash": "^4.2.2", "gulp-hash-filename": "^2.0.1", "gulp-insert": "^0.5.0", "gulp-json-transform": "^0.4.6", "gulp-jsonminify": "^1.1.0", "gulp-merge-json": "^1.3.1", "gulp-rename": "^1.4.0", "gulp-zopfli-green": "^3.0.1", "html-loader": "^0.5.5", "html-webpack-plugin": "^3.2.0", "husky": "^1.3.1", "lint-staged": "^8.1.5", "lodash.template": "^4.5.0", "map-stream": "^0.0.7", "merge-stream": "^1.0.1", "mocha": "^6.0.2", "parse5": "^5.1.0", "prettier": "^1.16.4", "raw-loader": "^2.0.0", "reify": "^0.18.1", "require-dir": "^1.2.0", "sinon": "^7.3.1", "terser-webpack-plugin": "^1.2.3", "ts-loader": "^6.0.4", "ts-mocha": "^6.0.0", "tslint": "^5.14.0", "tslint-config-prettier": "^1.18.0", "tslint-eslint-rules": "^5.4.0", "tslint-plugin-prettier": "^2.0.1", "typescript": "^3.4.1", "uglifyjs-webpack-plugin": "^2.1.2", "web-component-tester": "^6.9.2", "webpack": "^4.29.6", "webpack-cli": "^3.3.0", "webpack-dev-server": "^3.2.1", "webpack-manifest-plugin": "^2.0.4", "workbox-webpack-plugin": "^4.1.1", "workerize-loader": "^1.1.0" }, "_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", "@vaadin/vaadin-lumo-styles": "^1.4.2", "@polymer/polymer": "3.1.0", "lit-html": "^1.1.2" }, "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" } }