diff --git a/.eslintrc-hound.json b/.eslintrc-hound.json index 50b04a73e0..9866534ccf 100644 --- a/.eslintrc-hound.json +++ b/.eslintrc-hound.json @@ -1,6 +1,7 @@ { "extends": ["airbnb-base", "prettier"], "parserOptions": { + "ecmaVersion": "2020", "ecmaFeatures": { "jsx": true, "modules": true diff --git a/.eslintrc.json b/.eslintrc.json index 76101d674e..5bcf910f99 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,12 +1,9 @@ { "extends": "./.eslintrc-hound.json", - "plugins": [ - "react" - ], + "plugins": ["react"], "env": { "browser": true }, - "parser": "babel-eslint", "rules": { "import/no-unresolved": 2, "linebreak-style": 0, diff --git a/build-scripts/babel.js b/build-scripts/babel.js deleted file mode 100644 index 67021b92c4..0000000000 --- a/build-scripts/babel.js +++ /dev/null @@ -1,48 +0,0 @@ -module.exports.babelLoaderConfig = ({ latestBuild }) => { - if (latestBuild === undefined) { - throw Error("latestBuild not defined for babel loader config"); - } - return { - test: /\.m?js$|\.tsx?$/, - use: { - loader: "babel-loader", - options: { - presets: [ - !latestBuild && [ - require("@babel/preset-env").default, - { modules: false }, - ], - [ - require("@babel/preset-typescript").default, - { - jsxPragma: "h", - }, - ], - ].filter(Boolean), - plugins: [ - // Part of ES2018. Converts {...a, b: 2} to Object.assign({}, a, {b: 2}) - [ - "@babel/plugin-proposal-object-rest-spread", - { loose: true, useBuiltIns: true }, - ], - // Only support the syntax, Webpack will handle it. - "@babel/syntax-dynamic-import", - [ - "@babel/transform-react-jsx", - { - pragma: "h", - }, - ], - [ - require("@babel/plugin-proposal-decorators").default, - { decoratorsBeforeExport: true }, - ], - [ - require("@babel/plugin-proposal-class-properties").default, - { loose: true }, - ], - ], - }, - }, - }; -}; diff --git a/build-scripts/gulp/download_translations.js b/build-scripts/gulp/download_translations.js new file mode 100644 index 0000000000..56a369b87d --- /dev/null +++ b/build-scripts/gulp/download_translations.js @@ -0,0 +1,73 @@ +const del = require("del"); +const gulp = require("gulp"); +const mapStream = require("map-stream"); + +const inDir = "translations"; +const downloadDir = inDir + "/downloads"; + +const tasks = []; + +function hasHtml(data) { + return /<[a-z][\s\S]*>/i.test(data); +} + +function recursiveCheckHasHtml(file, data, errors, recKey) { + Object.keys(data).forEach(function(key) { + if (typeof data[key] === "object") { + nextRecKey = recKey ? `${recKey}.${key}` : key; + recursiveCheckHasHtml(file, data[key], errors, nextRecKey); + } else if (hasHtml(data[key])) { + errors.push(`HTML found in ${file.path} at key ${recKey}.${key}`); + } + }); +} + +function checkHtml() { + let errors = []; + + return mapStream(function(file, cb) { + const content = file.contents; + let error; + if (content) { + if (hasHtml(String(content))) { + const data = JSON.parse(String(content)); + recursiveCheckHasHtml(file, data, errors); + if (errors.length > 0) { + error = errors.join("\r\n"); + } + } + } + cb(error, file); + }); +} + +let taskName = "clean-downloaded-translations"; +gulp.task(taskName, function() { + return del([`${downloadDir}/**`]); +}); +tasks.push(taskName); + +taskName = "check-translations-html"; +gulp.task(taskName, function() { + return gulp.src(`${downloadDir}/*.json`).pipe(checkHtml()); +}); +tasks.push(taskName); + +taskName = "move-downloaded-translations"; +gulp.task(taskName, function() { + return gulp.src(`${downloadDir}/*.json`).pipe(gulp.dest(inDir)); +}); +tasks.push(taskName); + +taskName = "check-downloaded-translations"; +gulp.task( + taskName, + gulp.series( + "check-translations-html", + "move-downloaded-translations", + "clean-downloaded-translations" + ) +); +tasks.push(taskName); + +module.exports = tasks; diff --git a/build-scripts/webpack.js b/build-scripts/webpack.js index fa9bfb9edd..606b5d3b52 100644 --- a/build-scripts/webpack.js +++ b/build-scripts/webpack.js @@ -7,7 +7,6 @@ const CompressionPlugin = require("compression-webpack-plugin"); const zopfli = require("@gfx/zopfli"); const ManifestPlugin = require("webpack-manifest-plugin"); const paths = require("./paths.js"); -const { babelLoaderConfig } = require("./babel.js"); let version = fs .readFileSync(path.resolve(paths.polymer_dir, "setup.py"), "utf8") @@ -41,6 +40,20 @@ const resolve = { }, }; +const tsLoader = (latestBuild) => ({ + test: /\.ts|tsx$/, + exclude: /node_modules/, + use: [ + { + loader: "ts-loader", + options: { + compilerOptions: latestBuild + ? { noEmit: false } + : { target: "es5", noEmit: false }, + }, + }, + ], +}); const cssLoader = { test: /\.css$/, use: "raw-loader", @@ -118,7 +131,7 @@ const createAppConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => { devtool: genDevTool(isProdBuild), entry, module: { - rules: [babelLoaderConfig({ latestBuild }), cssLoader, htmlLoader], + rules: [tsLoader(latestBuild), cssLoader, htmlLoader], }, optimization: optimization(latestBuild), plugins: [ @@ -186,7 +199,7 @@ const createDemoConfig = ({ isProdBuild, latestBuild, isStatsBuild }) => { compatibility: "./src/entrypoints/compatibility.ts", }, module: { - rules: [babelLoaderConfig({ latestBuild }), cssLoader, htmlLoader], + rules: [tsLoader(latestBuild), cssLoader, htmlLoader], }, optimization: optimization(latestBuild), plugins: [ @@ -233,7 +246,7 @@ const createCastConfig = ({ isProdBuild, latestBuild }) => { devtool: genDevTool(isProdBuild), entry, module: { - rules: [babelLoaderConfig({ latestBuild }), cssLoader, htmlLoader], + rules: [tsLoader(latestBuild), cssLoader, htmlLoader], }, optimization: optimization(latestBuild), plugins: [ diff --git a/cast/src/receiver/layout/hc-main.ts b/cast/src/receiver/layout/hc-main.ts index 0171dae5bb..bfefc08159 100644 --- a/cast/src/receiver/layout/hc-main.ts +++ b/cast/src/receiver/layout/hc-main.ts @@ -134,7 +134,13 @@ export class HcMain extends HassElement { this._error = err; return; } - const connection = await createConnection({ auth }); + let connection; + try { + connection = await createConnection({ auth }); + } catch (err) { + this._error = err; + return; + } if (this.hass) { this.hass.connection.close(); } diff --git a/gallery/webpack.config.js b/gallery/webpack.config.js index 4ffbef7911..91a962fcb1 100644 --- a/gallery/webpack.config.js +++ b/gallery/webpack.config.js @@ -1,6 +1,5 @@ const path = require("path"); const CopyWebpackPlugin = require("copy-webpack-plugin"); -const { babelLoaderConfig } = require("../build-scripts/babel.js"); const webpackBase = require("../build-scripts/webpack.js"); const isProd = process.env.NODE_ENV === "production"; @@ -17,7 +16,20 @@ module.exports = { entry: "./src/entrypoint.js", module: { rules: [ - babelLoaderConfig({ latestBuild }), + { + test: /\.ts$/, + exclude: /node_modules/, + use: [ + { + loader: "ts-loader", + options: { + compilerOptions: latestBuild + ? { noEmit: false } + : { target: "es5", noEmit: false }, + }, + }, + ], + }, { test: /\.css$/, use: "raw-loader", diff --git a/hassio/src/ansi-to-html.js b/hassio/src/ansi-to-html.js index d9ab04a690..438873127c 100644 --- a/hassio/src/ansi-to-html.js +++ b/hassio/src/ansi-to-html.js @@ -102,7 +102,7 @@ export function parseTextToColoredPre(text) { if (match[1] === undefined) continue; - for (const colorCode of match[1].split(";")) { + match[1].split(";").forEach((colorCode) => { switch (parseInt(colorCode)) { case 0: // reset @@ -195,7 +195,7 @@ export function parseTextToColoredPre(text) { state.backgroundColor = null; break; } - } + }); } addSpan(text.substring(i)); diff --git a/hassio/src/entrypoint.js b/hassio/src/entrypoint.js index 00219c6730..13e57019fd 100644 --- a/hassio/src/entrypoint.js +++ b/hassio/src/entrypoint.js @@ -1,5 +1,7 @@ window.loadES5Adapter().then(() => { + // eslint-disable-next-line import(/* webpackChunkName: "hassio-icons" */ "./resources/hassio-icons"); + // eslint-disable-next-line import(/* webpackChunkName: "hassio-main" */ "./hassio-main"); }); const styleEl = document.createElement("style"); diff --git a/hassio/webpack.config.js b/hassio/webpack.config.js index e58d2df301..aecb118b29 100644 --- a/hassio/webpack.config.js +++ b/hassio/webpack.config.js @@ -3,7 +3,6 @@ const CompressionPlugin = require("compression-webpack-plugin"); const zopfli = require("@gfx/zopfli"); const config = require("./config.js"); -const { babelLoaderConfig } = require("../build-scripts/babel.js"); const webpackBase = require("../build-scripts/webpack.js"); const isProdBuild = process.env.NODE_ENV === "production"; @@ -19,7 +18,20 @@ module.exports = { }, module: { rules: [ - babelLoaderConfig({ latestBuild }), + { + test: /\.ts$/, + exclude: /node_modules/, + use: [ + { + loader: "ts-loader", + options: { + compilerOptions: latestBuild + ? { noEmit: false } + : { target: "es5", noEmit: false }, + }, + }, + ], + }, { test: /\.(html)$/, use: { diff --git a/package.json b/package.json index 3be9a261e9..cf9c05d948 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "version": "1.0.0", "scripts": { "build": "script/build_frontend", - "lint": "eslint src hassio/src gallery/src && tslint 'src/**/*.ts' 'hassio/src/**/*.ts' 'gallery/src/**/*.ts' 'cast/src/**/*.ts' 'test-mocha/**/*.ts' && polymer lint && tsc", + "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", @@ -17,9 +17,11 @@ "author": "Paulus Schoutsen (http://paulusschoutsen.nl)", "license": "Apache-2.0", "dependencies": { - "@material/mwc-base": "^0.6.0", - "@material/mwc-button": "^0.6.0", - "@material/mwc-ripple": "^0.6.0", + "@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.3.95", "@polymer/app-layout": "^3.0.2", "@polymer/app-localize-behavior": "^3.0.1", @@ -45,7 +47,6 @@ "@polymer/paper-dialog-scrollable": "^3.0.1", "@polymer/paper-drawer-panel": "^3.0.1", "@polymer/paper-dropdown-menu": "^3.0.1", - "@polymer/paper-fab": "^3.0.1", "@polymer/paper-icon-button": "^3.0.2", "@polymer/paper-input": "^3.0.1", "@polymer/paper-item": "^3.0.1", @@ -79,12 +80,12 @@ "fuse.js": "^3.4.4", "google-timezones-json": "^1.0.2", "hls.js": "^0.12.4", - "home-assistant-js-websocket": "4.3.1", + "home-assistant-js-websocket": "^4.4.0", "intl-messageformat": "^2.2.0", - "jquery": "^3.3.1", + "jquery": "^3.4.0", "js-yaml": "^3.13.1", "leaflet": "^1.4.0", - "lit-element": "^2.2.0", + "lit-element": "^2.2.1", "lit-html": "^1.1.0", "marked": "^0.6.1", "mdn-polyfills": "^5.16.0", @@ -103,15 +104,6 @@ "xss": "^1.0.6" }, "devDependencies": { - "@babel/core": "^7.4.0", - "@babel/plugin-external-helpers": "^7.2.0", - "@babel/plugin-proposal-class-properties": "^7.4.0", - "@babel/plugin-proposal-decorators": "^7.4.0", - "@babel/plugin-proposal-object-rest-spread": "^7.4.0", - "@babel/plugin-syntax-dynamic-import": "^7.2.0", - "@babel/plugin-transform-react-jsx": "^7.3.0", - "@babel/preset-env": "^7.4.2", - "@babel/preset-typescript": "^7.3.3", "@gfx/zopfli": "^1.0.11", "@types/chai": "^4.1.7", "@types/chromecast-caf-receiver": "^3.0.12", @@ -120,19 +112,17 @@ "@types/leaflet": "^1.4.3", "@types/memoize-one": "4.1.0", "@types/mocha": "^5.2.6", - "babel-eslint": "^10", - "babel-loader": "^8.0.5", "chai": "^4.2.0", "compression-webpack-plugin": "^2.0.0", "copy-webpack-plugin": "^5.0.2", "del": "^4.0.0", - "eslint": "^5.15.3", - "eslint-config-airbnb-base": "^13.1.0", - "eslint-config-prettier": "^4.1.0", - "eslint-import-resolver-webpack": "^0.11.0", - "eslint-plugin-import": "^2.16.0", - "eslint-plugin-prettier": "^3.0.1", - "eslint-plugin-react": "^7.12.4", + "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", @@ -148,17 +138,18 @@ "html-webpack-plugin": "^3.2.0", "husky": "^1.3.1", "lint-staged": "^8.1.5", - "lodash.template": "^4.4.0", + "lodash.template": "^4.5.0", + "map-stream": "^0.0.7", "merge-stream": "^1.0.1", "mocha": "^6.0.2", "parse5": "^5.1.0", - "polymer-cli": "^1.9.7", "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", diff --git a/script/translations_download b/script/translations_download index 46089668d0..dcf6aa999f 100755 --- a/script/translations_download +++ b/script/translations_download @@ -21,7 +21,7 @@ fi [ -z "${LOKALISE_TOKEN-}" ] && LOKALISE_TOKEN="$(<.lokalise_token)" PROJECT_ID="3420425759f6d6d241f598.13594006" -LOCAL_DIR="$(pwd)/translations" +LOCAL_DIR="$(pwd)/translations/downloads" FILE_FORMAT=json mkdir -p ${LOCAL_DIR} @@ -35,3 +35,5 @@ docker run \ --export_empty skip \ --type json \ --unzip_to /opt/dest + +./node_modules/.bin/gulp check-downloaded-translations \ No newline at end of file diff --git a/setup.py b/setup.py index 8738659a58..f0cb3daefa 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup, find_packages setup( name="home-assistant-frontend", - version="20190908.0", + version="20190911.0", description="The Home Assistant frontend", url="https://github.com/home-assistant/home-assistant-polymer", author="The Home Assistant Authors", diff --git a/src/cards/ha-history_graph-card.js b/src/cards/ha-history_graph-card.js index db594d5617..5685c23515 100644 --- a/src/cards/ha-history_graph-card.js +++ b/src/cards/ha-history_graph-card.js @@ -97,14 +97,11 @@ class HaHistoryGraphCard extends EventsMixin(PolymerElement) { this.cacheConfig.refresh !== (stateObj.attributes.refresh || 0) || this.cacheConfig.hoursToShow !== (stateObj.attributes.hours_to_show || 24) ) { - this.cacheConfig = Object.assign( - {}, - { - refresh: stateObj.attributes.refresh || 0, - cacheKey: stateObj.entity_id, - hoursToShow: stateObj.attributes.hours_to_show || 24, - } - ); + this.cacheConfig = { + refresh: stateObj.attributes.refresh || 0, + cacheKey: stateObj.entity_id, + hoursToShow: stateObj.attributes.hours_to_show || 24, + }; } } diff --git a/src/cast/receiver_messages.ts b/src/cast/receiver_messages.ts index b3d96c712b..5b2f82c5b2 100644 --- a/src/cast/receiver_messages.ts +++ b/src/cast/receiver_messages.ts @@ -14,7 +14,7 @@ export interface GetStatusMessage extends BaseCastMessage { export interface ConnectMessage extends BaseCastMessage { type: "connect"; refreshToken: string; - clientId: string; + clientId: string | null; hassUrl: string; } diff --git a/src/common/preact/event.ts b/src/common/preact/event.ts index db04b0c600..7e4ec871e9 100644 --- a/src/common/preact/event.ts +++ b/src/common/preact/event.ts @@ -1,11 +1,12 @@ -interface OnChangeComponent { - props: { - index: number; - onChange(index: number, data: object); - }; -} +// interface OnChangeComponent { +// props: { +// index: number; +// onChange(index: number, data: object); +// }; +// } -export function onChangeEvent(this: OnChangeComponent, prop, ev) { +// export function onChangeEvent(this: OnChangeComponent, prop, ev) { +export function onChangeEvent(this: any, prop, ev) { const origData = this.props[prop]; if (ev.target.value === origData[ev.target.name]) { diff --git a/src/components/device/ha-device-action-picker.ts b/src/components/device/ha-device-action-picker.ts new file mode 100644 index 0000000000..a97957a8a7 --- /dev/null +++ b/src/components/device/ha-device-action-picker.ts @@ -0,0 +1,32 @@ +import { customElement } from "lit-element"; +import { + DeviceAction, + fetchDeviceActions, + localizeDeviceAutomationAction, +} from "../../data/device_automation"; +import "../../components/ha-paper-dropdown-menu"; +import { HaDeviceAutomationPicker } from "./ha-device-automation-picker"; + +@customElement("ha-device-action-picker") +class HaDeviceActionPicker extends HaDeviceAutomationPicker { + protected NO_AUTOMATION_TEXT = "No actions"; + protected UNKNOWN_AUTOMATION_TEXT = "Unknown action"; + + constructor() { + super( + localizeDeviceAutomationAction, + fetchDeviceActions, + (deviceId?: string) => ({ + device_id: deviceId || "", + domain: "", + entity_id: "", + }) + ); + } +} + +declare global { + interface HTMLElementTagNameMap { + "ha-device-action-picker": HaDeviceActionPicker; + } +} diff --git a/src/components/entity/ha-chart-base.js b/src/components/entity/ha-chart-base.js index 7d0a45d4b4..2621feee3e 100644 --- a/src/components/entity/ha-chart-base.js +++ b/src/components/entity/ha-chart-base.js @@ -287,11 +287,12 @@ class HaChartBase extends mixinBehaviors( } positionX += this._chart.canvas.offsetLeft; // Display, position, and set styles for font - this.tooltip = Object.assign({}, this.tooltip, { + this.tooltip = { + ...this.tooltip, opacity: 1, left: `${positionX}px`, top: `${positionY}px`, - }); + }; } _legendClick(event) { diff --git a/src/components/entity/state-badge.ts b/src/components/entity/state-badge.ts index 211331ae98..080587ddc5 100644 --- a/src/components/entity/state-badge.ts +++ b/src/components/entity/state-badge.ts @@ -21,6 +21,7 @@ class StateBadge extends LitElement { public hass?: HomeAssistant; @property() public stateObj?: HassEntity; @property() public overrideIcon?: string; + @property() public overrideImage?: string; @query("ha-icon") private _icon!: HaIcon; protected render(): TemplateResult | void { @@ -55,8 +56,11 @@ class StateBadge extends LitElement { }; if (stateObj) { // hide icon if we have entity picture - if (stateObj.attributes.entity_picture && !this.overrideIcon) { - let imageUrl = stateObj.attributes.entity_picture; + if ( + (stateObj.attributes.entity_picture && !this.overrideIcon) || + this.overrideImage + ) { + let imageUrl = this.overrideImage || stateObj.attributes.entity_picture; if (this.hass) { imageUrl = this.hass.hassUrl(imageUrl); } diff --git a/src/components/ha-checkbox.ts b/src/components/ha-checkbox.ts new file mode 100644 index 0000000000..99c294f4f7 --- /dev/null +++ b/src/components/ha-checkbox.ts @@ -0,0 +1,20 @@ +import { Constructor, customElement } from "lit-element"; +import "@material/mwc-checkbox"; +// tslint:disable-next-line +import { Checkbox } from "@material/mwc-checkbox"; +// tslint:disable-next-line +const MwcCheckbox = customElements.get("mwc-checkbox") as Constructor; + +@customElement("ha-checkbox") +export class HaCheckbox extends MwcCheckbox { + protected firstUpdated() { + super.firstUpdated(); + this.style.setProperty("--mdc-theme-secondary", "var(--primary-color)"); + } +} + +declare global { + interface HTMLElementTagNameMap { + "ha-checkbox": HaCheckbox; + } +} diff --git a/src/components/ha-fab.ts b/src/components/ha-fab.ts new file mode 100644 index 0000000000..f7ffee55fe --- /dev/null +++ b/src/components/ha-fab.ts @@ -0,0 +1,49 @@ +import { + classMap, + html, + customElement, + Constructor, +} from "@material/mwc-base/base-element"; +import { ripple } from "@material/mwc-ripple/ripple-directive.js"; + +import "@material/mwc-fab"; +// tslint:disable-next-line +import { Fab } from "@material/mwc-fab"; +// tslint:disable-next-line +const MwcFab = customElements.get("mwc-fab") as Constructor; + +@customElement("ha-fab") +export class HaFab extends MwcFab { + // We override the render method because we don't have an icon font and mwc-fab doesn't support our svg-icon sets. + // Based on version mwc-fab 0.8 + protected render() { + const classes = { + "mdc-fab--mini": this.mini, + "mdc-fab--exited": this.exited, + "mdc-fab--extended": this.extended, + }; + const showLabel = this.label !== "" && this.extended; + return html` + + `; + } +} + +declare global { + interface HTMLElementTagNameMap { + "ha-fab": HaFab; + } +} diff --git a/src/components/ha-markdown.ts b/src/components/ha-markdown.ts index e811e31373..fdfd980dd5 100644 --- a/src/components/ha-markdown.ts +++ b/src/components/ha-markdown.ts @@ -49,13 +49,17 @@ class HaMarkdown extends UpdatingElement { // Open external links in a new window if ( - node.nodeName === "A" && - (node as HTMLAnchorElement).host !== document.location.host + node instanceof HTMLAnchorElement && + node.host !== document.location.host ) { - (node as HTMLAnchorElement).target = "_blank"; + node.target = "_blank"; + + // protect referrer on external links and deny window.opener access for security reasons + // (see https://mathiasbynens.github.io/rel-noopener/) + node.rel = "noreferrer noopener"; // Fire a resize event when images loaded to notify content resized - } else if (node.nodeName === "IMG") { + } else if (node) { node.addEventListener("load", this._resize); } } diff --git a/src/data/device_automation.ts b/src/data/device_automation.ts index b764f4b47b..0ff5581771 100644 --- a/src/data/device_automation.ts +++ b/src/data/device_automation.ts @@ -10,6 +10,9 @@ export interface DeviceAutomation { event?: string; } +// tslint:disable-next-line: no-empty-interface +export interface DeviceAction extends DeviceAutomation {} + export interface DeviceCondition extends DeviceAutomation { condition: string; } @@ -18,6 +21,12 @@ export interface DeviceTrigger extends DeviceAutomation { platform: string; } +export const fetchDeviceActions = (hass: HomeAssistant, deviceId: string) => + hass.callWS({ + type: "device_automation/action/list", + device_id: deviceId, + }); + export const fetchDeviceConditions = (hass: HomeAssistant, deviceId: string) => hass.callWS({ type: "device_automation/condition/list", @@ -52,6 +61,24 @@ export const deviceAutomationsEqual = ( return true; }; +export const localizeDeviceAutomationAction = ( + hass: HomeAssistant, + action: DeviceAction +) => { + const state = action.entity_id ? hass.states[action.entity_id] : undefined; + return hass.localize( + `component.${action.domain}.device_automation.action_type.${action.type}`, + "entity_name", + state ? compute_state_name(state) : "", + "subtype", + hass.localize( + `component.${action.domain}.device_automation.action_subtype.${ + action.subtype + }` + ) + ); +}; + export const localizeDeviceAutomationCondition = ( hass: HomeAssistant, condition: DeviceCondition diff --git a/src/data/ha-state-history-data.js b/src/data/ha-state-history-data.js index bd97a759b2..f4b8a449f1 100644 --- a/src/data/ha-state-history-data.js +++ b/src/data/ha-state-history-data.js @@ -163,7 +163,7 @@ class HaStateHistoryData extends LocalizeMixin(PolymerElement) { localize, language ).then((stateHistory) => { - this._setData(Object.assign({}, stateHistory)); + this._setData({ ...stateHistory }); }); }, cacheConfig.refresh * 1000); } diff --git a/src/data/script.ts b/src/data/script.ts index a86a62a153..4cf4490bef 100644 --- a/src/data/script.ts +++ b/src/data/script.ts @@ -7,6 +7,12 @@ export interface EventAction { event_data_template?: { [key: string]: any }; } +export interface DeviceAction { + device_id: string; + domain: string; + entity_id: string; +} + export const triggerScript = ( hass: HomeAssistant, entityId: string, diff --git a/src/dialogs/more-info/controls/more-info-group.js b/src/dialogs/more-info/controls/more-info-group.js index be2b086650..f9f3632c84 100644 --- a/src/dialogs/more-info/controls/more-info-group.js +++ b/src/dialogs/more-info/controls/more-info-group.js @@ -79,10 +79,11 @@ class MoreInfoGroup extends PolymerElement { // Groups need to be filtered out or we'll show content of // first child above the children of the current group if (groupDomain !== "group") { - groupDomainStateObj = Object.assign({}, baseStateObj, { + groupDomainStateObj = { + ...baseStateObj, entity_id: stateObj.entity_id, - attributes: Object.assign({}, baseStateObj.attributes), - }); + attributes: { ...baseStateObj.attributes }, + }; for (let i = 0; i < states.length; i++) { if (groupDomain !== computeStateDomain(states[i])) { diff --git a/src/dialogs/more-info/controls/more-info-light.js b/src/dialogs/more-info/controls/more-info-light.js index c40fd37497..cc8b762319 100644 --- a/src/dialogs/more-info/controls/more-info-light.js +++ b/src/dialogs/more-info/controls/more-info-light.js @@ -1,6 +1,7 @@ import "@polymer/iron-flex-layout/iron-flex-layout-classes"; import "@polymer/paper-item/paper-item"; import "@polymer/paper-listbox/paper-listbox"; + import { html } from "@polymer/polymer/lib/utils/html-tag"; import { PolymerElement } from "@polymer/polymer/polymer-element"; diff --git a/src/dialogs/more-info/more-info-controls.js b/src/dialogs/more-info/more-info-controls.js index 849a4a1452..faf50be95a 100644 --- a/src/dialogs/more-info/more-info-controls.js +++ b/src/dialogs/more-info/more-info-controls.js @@ -193,9 +193,10 @@ class MoreInfoControls extends EventsMixin(PolymerElement) { } if (this._cacheConfig.cacheKey !== `more_info.${newVal.entity_id}`) { - this._cacheConfig = Object.assign({}, this._cacheConfig, { + this._cacheConfig = { + ...this._cacheConfig, cacheKey: `more_info.${newVal.entity_id}`, - }); + }; } } diff --git a/src/entrypoints/service-worker-hass.js b/src/entrypoints/service-worker-hass.js index 8a0225d17b..45f37aa92d 100644 --- a/src/entrypoints/service-worker-hass.js +++ b/src/entrypoints/service-worker-hass.js @@ -80,11 +80,7 @@ function initPushNotifications() { event.waitUntil( self.registration .getNotifications({ tag: data.tag }) - .then(function(notifications) { - for (const n of notifications) { - n.close(); - } - }) + .then((notifications) => notifications.forEach((n) => n.close())) ); return; } diff --git a/src/layouts/home-assistant.ts b/src/layouts/home-assistant.ts index 09c762e675..551a45a999 100644 --- a/src/layouts/home-assistant.ts +++ b/src/layouts/home-assistant.ts @@ -14,7 +14,7 @@ import { HassElement } from "../state/hass-element"; export class HomeAssistantAppEl extends HassElement { @property() private _route?: Route; - @property() private _error?: boolean; + @property() private _error = false; @property() private _panelUrl?: string; protected render() { @@ -49,6 +49,7 @@ export class HomeAssistantAppEl extends HassElement { } protected updated(changedProps: PropertyValues): void { + super.updated(changedProps); if (changedProps.has("_panelUrl")) { this.panelUrlChanged(this._panelUrl!); this._updateHass({ panelUrl: this._panelUrl }); @@ -70,7 +71,11 @@ export class HomeAssistantAppEl extends HassElement { } } - private _routeChanged(ev) { + private async _routeChanged(ev) { + // routeChangged event listener is called while we're doing the fist render, + // causing the update to be ignored. So delay it to next task (Lit render is sync). + await new Promise((resolve) => setTimeout(resolve, 0)); + const route = ev.detail.value as Route; // If it's the first route that we process, // check if we should navigate away from / diff --git a/src/panels/config/area_registry/ha-config-area-registry.ts b/src/panels/config/area_registry/ha-config-area-registry.ts index 840655482c..cf37726d81 100644 --- a/src/panels/config/area_registry/ha-config-area-registry.ts +++ b/src/panels/config/area_registry/ha-config-area-registry.ts @@ -8,7 +8,6 @@ import { } from "lit-element"; import "@polymer/paper-item/paper-item"; import "@polymer/paper-item/paper-item-body"; -import "@polymer/paper-fab/paper-fab"; import { HomeAssistant } from "../../../types"; import { @@ -19,6 +18,7 @@ import { subscribeAreaRegistry, } from "../../../data/area_registry"; import "../../../components/ha-card"; +import "../../../components/ha-fab"; import "../../../layouts/hass-subpage"; import "../../../layouts/hass-loading-screen"; import "../ha-config-section"; @@ -100,7 +100,7 @@ class HaConfigAreaRegistry extends LitElement { - + > `; } @@ -183,24 +183,24 @@ All devices in this area will become unassigned.`) padding-top: 4px; padding-bottom: 4px; } - paper-fab { + ha-fab { position: fixed; bottom: 16px; right: 16px; z-index: 1; } - paper-fab[is-wide] { + ha-fab[is-wide] { bottom: 24px; right: 24px; } - paper-fab.rtl { + ha-fab.rtl { right: auto; left: 16px; } - paper-fab[is-wide].rtl { + ha-fab[is-wide].rtl { bottom: 24px; right: auto; left: 24px; diff --git a/src/panels/config/automation/ha-automation-editor.ts b/src/panels/config/automation/ha-automation-editor.ts index be52d70603..92e34d43cb 100644 --- a/src/panels/config/automation/ha-automation-editor.ts +++ b/src/panels/config/automation/ha-automation-editor.ts @@ -10,11 +10,11 @@ import { import "@polymer/app-layout/app-header/app-header"; import "@polymer/app-layout/app-toolbar/app-toolbar"; import "@polymer/paper-icon-button/paper-icon-button"; -import "@polymer/paper-fab/paper-fab"; import { classMap } from "lit-html/directives/class-map"; import { h, render } from "preact"; +import "../../../components/ha-fab"; import "../../../components/ha-paper-icon-button-arrow-prev"; import "../../../layouts/ha-app-layout"; @@ -113,7 +113,7 @@ class HaAutomationEditor extends LitElement { })}" > - + > `; } @@ -301,7 +301,7 @@ class HaAutomationEditor extends LitElement { span[slot="introduction"] a { color: var(--primary-color); } - paper-fab { + ha-fab { position: fixed; bottom: 16px; right: 16px; @@ -310,21 +310,21 @@ class HaAutomationEditor extends LitElement { transition: margin-bottom 0.3s; } - paper-fab[is-wide] { + ha-fab[is-wide] { bottom: 24px; right: 24px; } - paper-fab[dirty] { + ha-fab[dirty] { margin-bottom: 0; } - paper-fab.rtl { + ha-fab.rtl { right: auto; left: 16px; } - paper-fab[is-wide].rtl { + ha-fab[is-wide].rtl { bottom: 24px; right: auto; left: 24px; diff --git a/src/panels/config/automation/ha-automation-picker.ts b/src/panels/config/automation/ha-automation-picker.ts index d8c6259bfb..262e1e6c97 100644 --- a/src/panels/config/automation/ha-automation-picker.ts +++ b/src/panels/config/automation/ha-automation-picker.ts @@ -8,13 +8,13 @@ import { customElement, } from "lit-element"; import { ifDefined } from "lit-html/directives/if-defined"; -import "@polymer/paper-fab/paper-fab"; import "@polymer/paper-icon-button/paper-icon-button"; import "@polymer/paper-item/paper-item-body"; import "@polymer/paper-tooltip/paper-tooltip"; import "../../../layouts/hass-subpage"; import "../../../components/ha-card"; +import "../../../components/ha-fab"; import "../../../components/entity/ha-entity-toggle"; import "../ha-config-section"; @@ -136,7 +136,7 @@ class HaAutomationPicker extends LitElement { - `; @@ -186,24 +186,24 @@ class HaAutomationPicker extends LitElement { display: flex; } - paper-fab { + ha-fab { position: fixed; bottom: 16px; right: 16px; z-index: 1; } - paper-fab[is-wide] { + ha-fab[is-wide] { bottom: 24px; right: 24px; } - paper-fab[rtl] { + ha-fab[rtl] { right: auto; left: 16px; } - paper-fab[rtl][is-wide] { + ha-fab[rtl][is-wide] { bottom: 24px; right: auto; left: 24px; diff --git a/src/panels/config/customize/ha-customize-attribute.js b/src/panels/config/customize/ha-customize-attribute.js index 832c9442cb..fdfc7f9dad 100644 --- a/src/panels/config/customize/ha-customize-attribute.js +++ b/src/panels/config/customize/ha-customize-attribute.js @@ -48,9 +48,9 @@ class HaCustomizeAttribute extends PolymerElement { tapButton() { if (this.item.secondary) { - this.item = Object.assign({}, this.item, { secondary: false }); + this.item = { ...this.item, secondary: false }; } else { - this.item = Object.assign({}, this.item, { closed: true }); + this.item = { ...this.item, closed: true }; } } @@ -73,7 +73,7 @@ class HaCustomizeAttribute extends PolymerElement { this.$.child = child = document.createElement(tag.toLowerCase()); child.className = "form-control"; child.addEventListener("item-changed", () => { - this.item = Object.assign({}, child.item); + this.item = { ...child.item }; }); } child.setProperties({ item: this.item }); diff --git a/src/panels/config/customize/ha-form-customize.js b/src/panels/config/customize/ha-form-customize.js index 4e9a2763ed..865fcb1fda 100644 --- a/src/panels/config/customize/ha-form-customize.js +++ b/src/panels/config/customize/ha-form-customize.js @@ -141,17 +141,15 @@ class HaFormCustomize extends PolymerElement { } _initOpenObject(key, value, secondary, config) { - return Object.assign( - { - attribute: key, - value: value, - closed: false, - domain: computeStateDomain(this.entity), - secondary: secondary, - description: key, - }, - config - ); + return { + attribute: key, + value: value, + closed: false, + domain: computeStateDomain(this.entity), + secondary: secondary, + description: key, + ...config, + }; } loadEntity(entity) { diff --git a/src/panels/config/integrations/ha-config-entries-dashboard.js b/src/panels/config/integrations/ha-config-entries-dashboard.js index 0a2159a45a..48e4ff6022 100644 --- a/src/panels/config/integrations/ha-config-entries-dashboard.js +++ b/src/panels/config/integrations/ha-config-entries-dashboard.js @@ -1,7 +1,6 @@ import "@polymer/iron-flex-layout/iron-flex-layout-classes"; import "@polymer/paper-tooltip/paper-tooltip"; import "@material/mwc-button"; -import "@polymer/paper-fab/paper-fab"; import "@polymer/iron-icon/iron-icon"; import "@polymer/paper-item/paper-item"; import "@polymer/paper-item/paper-item-body"; @@ -9,6 +8,7 @@ import { html } from "@polymer/polymer/lib/utils/html-tag"; import { PolymerElement } from "@polymer/polymer/polymer-element"; import "../../../components/ha-card"; +import "../../../components/ha-fab"; import "../../../components/entity/ha-state-icon"; import "../../../layouts/hass-subpage"; import "../../../resources/ha-style"; @@ -53,24 +53,24 @@ class HaConfigManagerDashboard extends LocalizeMixin( color: var(--primary-text-color); text-decoration: none; } - paper-fab { + ha-fab { position: fixed; bottom: 16px; right: 16px; z-index: 1; } - paper-fab[is-wide] { + ha-fab[is-wide] { bottom: 24px; right: 24px; } - paper-fab[rtl] { + ha-fab[rtl] { right: auto; left: 16px; } - paper-fab[rtl][is-wide] { + ha-fab[rtl][is-wide] { bottom: 24px; right: auto; left: 24px; @@ -141,13 +141,13 @@ class HaConfigManagerDashboard extends LocalizeMixin( - + > `; } diff --git a/src/panels/config/js/automation.js b/src/panels/config/js/automation.tsx similarity index 86% rename from src/panels/config/js/automation.js rename to src/panels/config/js/automation.tsx index 26cf2bb782..bb3ff51ee8 100644 --- a/src/panels/config/js/automation.js +++ b/src/panels/config/js/automation.tsx @@ -8,7 +8,7 @@ import Trigger from "./trigger/index"; import Condition from "./condition/index"; import Script from "./script/index"; -export default class Automation extends Component { +export default class Automation extends Component { constructor() { super(); @@ -18,29 +18,26 @@ export default class Automation extends Component { this.actionChanged = this.actionChanged.bind(this); } - onChange(ev) { - this.props.onChange( - Object.assign({}, this.props.automation, { - [ev.target.name]: ev.target.value, - }) - ); + public onChange(ev) { + this.props.onChange({ + ...this.props.automation, + [ev.target.name]: ev.target.value, + }); } - triggerChanged(trigger) { - this.props.onChange(Object.assign({}, this.props.automation, { trigger })); + public triggerChanged(trigger) { + this.props.onChange({ ...this.props.automation, trigger }); } - conditionChanged(condition) { - this.props.onChange( - Object.assign({}, this.props.automation, { condition }) - ); + public conditionChanged(condition) { + this.props.onChange({ ...this.props.automation, condition }); } - actionChanged(action) { - this.props.onChange(Object.assign({}, this.props.automation, { action })); + public actionChanged(action) { + this.props.onChange({ ...this.props.automation, action }); } - render({ automation, isWide, hass, localize }) { + public render({ automation, isWide, hass, localize }) { const { alias, trigger, condition, action } = automation; return ( diff --git a/src/panels/config/js/condition/condition_edit.js b/src/panels/config/js/condition/condition_edit.tsx similarity index 87% rename from src/panels/config/js/condition/condition_edit.js rename to src/panels/config/js/condition/condition_edit.tsx index 5609ef8a96..3816675aff 100644 --- a/src/panels/config/js/condition/condition_edit.js +++ b/src/panels/config/js/condition/condition_edit.tsx @@ -23,25 +23,26 @@ const TYPES = { const OPTIONS = Object.keys(TYPES).sort(); -export default class ConditionRow extends Component { +export default class ConditionRow extends Component { constructor() { super(); this.typeChanged = this.typeChanged.bind(this); } - typeChanged(ev) { + public typeChanged(ev) { const type = ev.target.selectedItem.attributes.condition.value; if (type !== this.props.condition.condition) { - this.props.onChange( - this.props.index, - Object.assign({ condition: type }, TYPES[type].defaultConfig) - ); + this.props.onChange(this.props.index, { + condition: type, + ...TYPES[type].defaultConfig, + }); } } - render({ index, condition, onChange, hass, localize }) { + public render({ index, condition, onChange, hass, localize }) { + // tslint:disable-next-line: variable-name const Comp = TYPES[condition.condition]; const selected = OPTIONS.indexOf(condition.condition); diff --git a/src/panels/config/js/condition/condition_row.js b/src/panels/config/js/condition/condition_row.tsx similarity index 94% rename from src/panels/config/js/condition/condition_row.js rename to src/panels/config/js/condition/condition_row.tsx index 34f51af6fa..c0cd7821de 100644 --- a/src/panels/config/js/condition/condition_row.js +++ b/src/panels/config/js/condition/condition_row.tsx @@ -7,14 +7,14 @@ import "../../../../components/ha-card"; import ConditionEdit from "./condition_edit"; -export default class ConditionRow extends Component { +export default class ConditionRow extends Component { constructor() { super(); this.onDelete = this.onDelete.bind(this); } - onDelete() { + public onDelete() { // eslint-disable-next-line if ( confirm( @@ -27,7 +27,7 @@ export default class ConditionRow extends Component { } } - render(props) { + public render(props) { return (
diff --git a/src/panels/config/js/condition/device.js b/src/panels/config/js/condition/device.tsx similarity index 63% rename from src/panels/config/js/condition/device.js rename to src/panels/config/js/condition/device.tsx index fdcb6a02e8..30962fec46 100644 --- a/src/panels/config/js/condition/device.js +++ b/src/panels/config/js/condition/device.tsx @@ -3,32 +3,28 @@ import { h, Component } from "preact"; import "../../../../components/device/ha-device-picker"; import "../../../../components/device/ha-device-condition-picker"; -import { onChangeEvent } from "../../../../common/preact/event"; - -export default class DeviceCondition extends Component { +export default class DeviceCondition extends Component { constructor() { super(); - this.onChange = onChangeEvent.bind(this, "condition"); this.devicePicked = this.devicePicked.bind(this); this.deviceConditionPicked = this.deviceConditionPicked.bind(this); - this.state.device_id = undefined; + this.state = { device_id: undefined }; } - devicePicked(ev) { + public devicePicked(ev) { this.setState({ device_id: ev.target.value }); } - deviceConditionPicked(ev) { + public deviceConditionPicked(ev) { const deviceCondition = ev.target.value; - this.props.onChange( - this.props.index, - (this.props.condition = deviceCondition) - ); + this.props.onChange(this.props.index, deviceCondition); } /* eslint-disable camelcase */ - render({ condition, hass }, { device_id }) { - if (device_id === undefined) device_id = condition.device_id; + public render({ condition, hass }, { device_id }) { + if (device_id === undefined) { + device_id = condition.device_id; + } return (
@@ -50,7 +46,7 @@ export default class DeviceCondition extends Component { } } -DeviceCondition.defaultConfig = { +(DeviceCondition as any).defaultConfig = { device_id: "", domain: "", entity_id: "", diff --git a/src/panels/config/js/condition/index.js b/src/panels/config/js/condition/index.tsx similarity index 87% rename from src/panels/config/js/condition/index.js rename to src/panels/config/js/condition/index.tsx index 8fae56e179..16c4c05c57 100644 --- a/src/panels/config/js/condition/index.js +++ b/src/panels/config/js/condition/index.tsx @@ -4,7 +4,7 @@ import "../../../../components/ha-card"; import ConditionRow from "./condition_row"; -export default class Condition extends Component { +export default class Condition extends Component { constructor() { super(); @@ -12,7 +12,7 @@ export default class Condition extends Component { this.conditionChanged = this.conditionChanged.bind(this); } - addCondition() { + public addCondition() { const condition = this.props.condition.concat({ condition: "state", }); @@ -20,7 +20,7 @@ export default class Condition extends Component { this.props.onChange(condition); } - conditionChanged(index, newValue) { + public conditionChanged(index, newValue) { const condition = this.props.condition.concat(); if (newValue === null) { @@ -32,7 +32,7 @@ export default class Condition extends Component { this.props.onChange(condition); } - render({ condition, hass, localize }) { + public render({ condition, hass, localize }) { return (
{condition.map((cnd, idx) => ( diff --git a/src/panels/config/js/condition/numeric_state.js b/src/panels/config/js/condition/numeric_state.tsx similarity index 81% rename from src/panels/config/js/condition/numeric_state.js rename to src/panels/config/js/condition/numeric_state.tsx index 571b2a52b1..eb739101aa 100644 --- a/src/panels/config/js/condition/numeric_state.js +++ b/src/panels/config/js/condition/numeric_state.tsx @@ -5,7 +5,8 @@ import "../../../../components/entity/ha-entity-picker"; import { onChangeEvent } from "../../../../common/preact/event"; -export default class NumericStateCondition extends Component { +export default class NumericStateCondition extends Component { + private onChange: (obj: any) => void; constructor() { super(); @@ -13,15 +14,15 @@ export default class NumericStateCondition extends Component { this.entityPicked = this.entityPicked.bind(this); } - entityPicked(ev) { - this.props.onChange( - this.props.index, - Object.assign({}, this.props.condition, { entity_id: ev.target.value }) - ); + public entityPicked(ev) { + this.props.onChange(this.props.index, { + ...this.props.condition, + entity_id: ev.target.value, + }); } /* eslint-disable camelcase */ - render({ condition, hass, localize }) { + public render({ condition, hass, localize }) { const { value_template, entity_id, below, above } = condition; return (
@@ -61,6 +62,6 @@ export default class NumericStateCondition extends Component { } } -NumericStateCondition.defaultConfig = { +(NumericStateCondition as any).defaultConfig = { entity_id: "", }; diff --git a/src/panels/config/js/condition/state.js b/src/panels/config/js/condition/state.tsx similarity index 75% rename from src/panels/config/js/condition/state.js rename to src/panels/config/js/condition/state.tsx index 4249ef60cd..53bb383e15 100644 --- a/src/panels/config/js/condition/state.js +++ b/src/panels/config/js/condition/state.tsx @@ -4,7 +4,8 @@ import "../../../../components/entity/ha-entity-picker"; import { onChangeEvent } from "../../../../common/preact/event"; -export default class StateCondition extends Component { +export default class StateCondition extends Component { + private onChange: (obj: any) => void; constructor() { super(); @@ -12,15 +13,15 @@ export default class StateCondition extends Component { this.entityPicked = this.entityPicked.bind(this); } - entityPicked(ev) { - this.props.onChange( - this.props.index, - Object.assign({}, this.props.condition, { entity_id: ev.target.value }) - ); + public entityPicked(ev) { + this.props.onChange(this.props.index, { + ...this.props.condition, + entity_id: ev.target.value, + }); } /* eslint-disable camelcase */ - render({ condition, hass, localize }) { + public render({ condition, hass, localize }) { const { entity_id, state } = condition; const cndFor = condition.for; return ( @@ -45,7 +46,7 @@ export default class StateCondition extends Component { } } -StateCondition.defaultConfig = { +(StateCondition as any).defaultConfig = { entity_id: "", state: "", }; diff --git a/src/panels/config/js/condition/sun.js b/src/panels/config/js/condition/sun.tsx similarity index 89% rename from src/panels/config/js/condition/sun.js rename to src/panels/config/js/condition/sun.tsx index 793a91af52..0243e08495 100644 --- a/src/panels/config/js/condition/sun.js +++ b/src/panels/config/js/condition/sun.tsx @@ -5,7 +5,11 @@ import "@polymer/paper-radio-group/paper-radio-group"; import { onChangeEvent } from "../../../../common/preact/event"; -export default class SunCondition extends Component { +export default class SunCondition extends Component { + private onChange: (obj: any) => void; + private afterPicked: (obj: any) => void; + private beforePicked: (obj: any) => void; + constructor() { super(); @@ -14,8 +18,8 @@ export default class SunCondition extends Component { this.beforePicked = this.radioGroupPicked.bind(this, "before"); } - radioGroupPicked(key, ev) { - const condition = Object.assign({}, this.props.condition); + public radioGroupPicked(key, ev) { + const condition = { ...this.props.condition }; if (ev.target.selected) { condition[key] = ev.target.selected; @@ -26,7 +30,7 @@ export default class SunCondition extends Component { this.props.onChange(this.props.index, condition); } - render({ condition, localize }) { + public render({ condition, localize }) { /* eslint-disable camelcase */ const { after, after_offset, before, before_offset } = condition; return ( @@ -101,4 +105,4 @@ export default class SunCondition extends Component { } } -SunCondition.defaultConfig = {}; +(SunCondition as any).defaultConfig = {}; diff --git a/src/panels/config/js/condition/template.js b/src/panels/config/js/condition/template.tsx similarity index 78% rename from src/panels/config/js/condition/template.js rename to src/panels/config/js/condition/template.tsx index bab5763fc8..f4cd50dc3c 100644 --- a/src/panels/config/js/condition/template.js +++ b/src/panels/config/js/condition/template.tsx @@ -3,14 +3,15 @@ import "../../../../components/ha-textarea"; import { onChangeEvent } from "../../../../common/preact/event"; -export default class TemplateCondition extends Component { +export default class TemplateCondition extends Component { + private onChange: (obj: any) => void; constructor() { super(); this.onChange = onChangeEvent.bind(this, "condition"); } - render({ condition, localize }) { + public render({ condition, localize }) { /* eslint-disable camelcase */ const { value_template } = condition; return ( @@ -29,6 +30,6 @@ export default class TemplateCondition extends Component { } } -TemplateCondition.defaultConfig = { +(TemplateCondition as any).defaultConfig = { value_template: "", }; diff --git a/src/panels/config/js/condition/time.js b/src/panels/config/js/condition/time.tsx similarity index 81% rename from src/panels/config/js/condition/time.js rename to src/panels/config/js/condition/time.tsx index 269b3dad8b..427f81e9b2 100644 --- a/src/panels/config/js/condition/time.js +++ b/src/panels/config/js/condition/time.tsx @@ -3,7 +3,8 @@ import "@polymer/paper-input/paper-input"; import { onChangeEvent } from "../../../../common/preact/event"; -export default class TimeCondition extends Component { +export default class TimeCondition extends Component { + private onChange: (obj: any) => void; constructor() { super(); @@ -11,7 +12,7 @@ export default class TimeCondition extends Component { } /* eslint-disable camelcase */ - render({ condition, localize }) { + public render({ condition, localize }) { const { after, before } = condition; return (
@@ -36,4 +37,4 @@ export default class TimeCondition extends Component { } } -TimeCondition.defaultConfig = {}; +(TimeCondition as any).defaultConfig = {}; diff --git a/src/panels/config/js/condition/zone.js b/src/panels/config/js/condition/zone.tsx similarity index 69% rename from src/panels/config/js/condition/zone.js rename to src/panels/config/js/condition/zone.tsx index a09ae77e2a..4dc79962bc 100644 --- a/src/panels/config/js/condition/zone.js +++ b/src/panels/config/js/condition/zone.tsx @@ -1,6 +1,5 @@ import { h, Component } from "preact"; import "../../../../components/entity/ha-entity-picker"; -import { onChangeEvent } from "../../../../common/preact/event"; import hasLocation from "../../../../common/entity/has_location"; import computeStateDomain from "../../../../common/entity/compute_state_domain"; @@ -8,31 +7,30 @@ function zoneAndLocationFilter(stateObj) { return hasLocation(stateObj) && computeStateDomain(stateObj) !== "zone"; } -export default class ZoneCondition extends Component { +export default class ZoneCondition extends Component { constructor() { super(); - this.onChange = onChangeEvent.bind(this, "condition"); this.entityPicked = this.entityPicked.bind(this); this.zonePicked = this.zonePicked.bind(this); } - entityPicked(ev) { - this.props.onChange( - this.props.index, - Object.assign({}, this.props.condition, { entity_id: ev.target.value }) - ); + public entityPicked(ev) { + this.props.onChange(this.props.index, { + ...this.props.condition, + entity_id: ev.target.value, + }); } - zonePicked(ev) { - this.props.onChange( - this.props.index, - Object.assign({}, this.props.condition, { zone: ev.target.value }) - ); + public zonePicked(ev) { + this.props.onChange(this.props.index, { + ...this.props.condition, + zone: ev.target.value, + }); } /* eslint-disable camelcase */ - render({ condition, hass, localize }) { + public render({ condition, hass, localize }) { const { entity_id, zone } = condition; return (
@@ -61,7 +59,7 @@ export default class ZoneCondition extends Component { } } -ZoneCondition.defaultConfig = { +(ZoneCondition as any).defaultConfig = { entity_id: "", zone: "", }; diff --git a/src/panels/config/js/json_textarea.js b/src/panels/config/js/json_textarea.tsx similarity index 70% rename from src/panels/config/js/json_textarea.js rename to src/panels/config/js/json_textarea.tsx index 23f2a873dc..2fd947acdf 100644 --- a/src/panels/config/js/json_textarea.js +++ b/src/panels/config/js/json_textarea.tsx @@ -1,15 +1,18 @@ import { h, Component } from "preact"; import "../../../components/ha-textarea"; -export default class JSONTextArea extends Component { +export default class JSONTextArea extends Component { constructor(props) { super(props); - this.state.isValid = true; - this.state.value = JSON.stringify(props.value || {}, null, 2); + this.state = { + isvalid: true, + value: JSON.stringify(props.value || {}, null, 2), + }; + this.onChange = this.onChange.bind(this); } - onChange(ev) { + public onChange(ev) { const value = ev.target.value; let parsed; let isValid; @@ -31,16 +34,18 @@ export default class JSONTextArea extends Component { } } - componentWillReceiveProps({ value }) { - if (value === this.props.value) return; + public componentWillReceiveProps({ value }) { + if (value === this.props.value) { + return; + } this.setState({ value: JSON.stringify(value, null, 2), isValid: true, }); } - render({ label }, { value, isValid }) { - const style = { + public render({ label }, { value, isValid }) { + const style: any = { minWidth: 300, width: "100%", }; diff --git a/src/panels/config/js/preact-types.ts b/src/panels/config/js/preact-types.ts index 95d790ede4..9873fa3dd1 100644 --- a/src/panels/config/js/preact-types.ts +++ b/src/panels/config/js/preact-types.ts @@ -7,6 +7,23 @@ declare global { namespace JSX { interface IntrinsicElements { "paper-input": Partial; + "ha-config-section": any; + "ha-card": any; + "paper-radio-button": any; + "paper-radio-group": any; + "ha-entity-picker": any; + "paper-listbox": any; + "paper-item": any; + "paper-menu-button": any; + "paper-dropdown-menu-light": any; + "paper-icon-button": any; + "ha-device-picker": any; + "ha-device-condition-picker": any; + "ha-textarea": any; + "ha-service-picker": any; + "mwc-button": any; + "ha-device-trigger-picker": any; + "ha-device-action-picker": any; } } } diff --git a/src/panels/config/js/script.js b/src/panels/config/js/script.tsx similarity index 77% rename from src/panels/config/js/script.js rename to src/panels/config/js/script.tsx index 867cc5d4a4..c36ce7e78f 100644 --- a/src/panels/config/js/script.js +++ b/src/panels/config/js/script.tsx @@ -6,7 +6,13 @@ import "../../../components/ha-card"; import Script from "./script/index"; -export default class ScriptEditor extends Component { +export default class ScriptEditor extends Component<{ + onChange: (...args: any[]) => any; + script: any; + isWide: any; + hass: any; + localize: any; +}> { constructor() { super(); @@ -14,19 +20,19 @@ export default class ScriptEditor extends Component { this.sequenceChanged = this.sequenceChanged.bind(this); } - onChange(ev) { - this.props.onChange( - Object.assign({}, this.props.script, { - [ev.target.name]: ev.target.value, - }) - ); + public onChange(ev) { + this.props.onChange({ + ...this.props.script, + [ev.target.name]: ev.target.value, + }); } - sequenceChanged(sequence) { - this.props.onChange(Object.assign({}, this.props.script, { sequence })); + public sequenceChanged(sequence) { + this.props.onChange({ ...this.props.script, sequence }); } - render({ script, isWide, hass, localize }) { + // @ts-ignore + public render({ script, isWide, hass, localize }) { const { alias, sequence } = script; return ( diff --git a/src/panels/config/js/script/action_edit.js b/src/panels/config/js/script/action_edit.tsx similarity index 88% rename from src/panels/config/js/script/action_edit.js rename to src/panels/config/js/script/action_edit.tsx index b114ab512e..078edbddea 100644 --- a/src/panels/config/js/script/action_edit.js +++ b/src/panels/config/js/script/action_edit.tsx @@ -6,6 +6,7 @@ import "@polymer/paper-item/paper-item"; import CallServiceAction from "./call_service"; import ConditionAction from "./condition"; import DelayAction from "./delay"; +import DeviceAction from "./device"; import EventAction from "./event"; import WaitAction from "./wait"; @@ -15,12 +16,14 @@ const TYPES = { wait_template: WaitAction, condition: ConditionAction, event: EventAction, + device_id: DeviceAction, }; const OPTIONS = Object.keys(TYPES).sort(); function getType(action) { const keys = Object.keys(TYPES); + // tslint:disable-next-line: prefer-for-of for (let i = 0; i < keys.length; i++) { if (keys[i] in action) { return keys[i]; @@ -29,14 +32,14 @@ function getType(action) { return null; } -export default class Action extends Component { +export default class Action extends Component { constructor() { super(); this.typeChanged = this.typeChanged.bind(this); } - typeChanged(ev) { + public typeChanged(ev) { const newType = ev.target.selectedItem.attributes.action.value; const oldType = getType(this.props.action); @@ -45,9 +48,11 @@ export default class Action extends Component { } } - render({ index, action, onChange, hass, localize }) { + public render({ index, action, onChange, hass, localize }) { const type = getType(action); + // tslint:disable-next-line: variable-name const Comp = type && TYPES[type]; + // @ts-ignore const selected = OPTIONS.indexOf(type); if (!Comp) { diff --git a/src/panels/config/js/script/action_row.js b/src/panels/config/js/script/action_row.tsx similarity index 94% rename from src/panels/config/js/script/action_row.js rename to src/panels/config/js/script/action_row.tsx index a8f0da3838..67634a3b97 100644 --- a/src/panels/config/js/script/action_row.js +++ b/src/panels/config/js/script/action_row.tsx @@ -7,14 +7,14 @@ import "../../../../components/ha-card"; import ActionEdit from "./action_edit"; -export default class Action extends Component { +export default class Action extends Component { constructor() { super(); this.onDelete = this.onDelete.bind(this); } - onDelete() { + public onDelete() { // eslint-disable-next-line if ( confirm( @@ -27,7 +27,7 @@ export default class Action extends Component { } } - render(props) { + public render(props) { return (
diff --git a/src/panels/config/js/script/call_service.js b/src/panels/config/js/script/call_service.tsx similarity index 65% rename from src/panels/config/js/script/call_service.js rename to src/panels/config/js/script/call_service.tsx index 0584e9cc3c..5182248c26 100644 --- a/src/panels/config/js/script/call_service.js +++ b/src/panels/config/js/script/call_service.tsx @@ -3,7 +3,7 @@ import "../../../../components/ha-service-picker"; import JSONTextArea from "../json_textarea"; -export default class CallServiceAction extends Component { +export default class CallServiceAction extends Component { constructor() { super(); @@ -11,21 +11,18 @@ export default class CallServiceAction extends Component { this.serviceDataChanged = this.serviceDataChanged.bind(this); } - serviceChanged(ev) { - this.props.onChange( - this.props.index, - Object.assign({}, this.props.action, { service: ev.target.value }) - ); + public serviceChanged(ev) { + this.props.onChange(this.props.index, { + ...this.props.action, + service: ev.target.value, + }); } - serviceDataChanged(data) { - this.props.onChange( - this.props.index, - Object.assign({}, this.props.action, { data }) - ); + public serviceDataChanged(data) { + this.props.onChange(this.props.index, { ...this.props.action, data }); } - render({ action, hass, localize }) { + public render({ action, hass, localize }) { const { service, data } = action; return ( @@ -47,7 +44,7 @@ export default class CallServiceAction extends Component { } } -CallServiceAction.defaultConfig = { +(CallServiceAction as any).defaultConfig = { alias: "", service: "", data: {}, diff --git a/src/panels/config/js/script/condition.js b/src/panels/config/js/script/condition.tsx similarity index 60% rename from src/panels/config/js/script/condition.js rename to src/panels/config/js/script/condition.tsx index 01421c9306..f930256f08 100644 --- a/src/panels/config/js/script/condition.js +++ b/src/panels/config/js/script/condition.tsx @@ -3,9 +3,9 @@ import { h, Component } from "preact"; import StateCondition from "../condition/state"; import ConditionEdit from "../condition/condition_edit"; -export default class ConditionAction extends Component { +export default class ConditionAction extends Component { // eslint-disable-next-line - render({ action, index, onChange, hass, localize }) { + public render({ action, index, onChange, hass, localize }) { return ( { + private onChange: (obj: any) => void; constructor() { super(); this.onChange = onChangeEvent.bind(this, "action"); } - render({ action, localize }) { + public render({ action, localize }) { const { delay } = action; return (
@@ -26,6 +27,6 @@ export default class DelayAction extends Component { } } -DelayAction.defaultConfig = { +(DelayAction as any).defaultConfig = { delay: "", }; diff --git a/src/panels/config/js/script/device.tsx b/src/panels/config/js/script/device.tsx new file mode 100644 index 0000000000..7689f09aa3 --- /dev/null +++ b/src/panels/config/js/script/device.tsx @@ -0,0 +1,63 @@ +import { h, Component } from "preact"; + +import "../../../../components/device/ha-device-picker"; +import "../../../../components/device/ha-device-action-picker"; +import { HomeAssistant } from "../../../../types"; +import { DeviceAction } from "../../../../data/script"; + +export default class DeviceActionEditor extends Component< + { + index: number; + action: DeviceAction; + hass: HomeAssistant; + onChange(index: number, action: DeviceAction); + }, + { + device_id: string | undefined; + } +> { + public static defaultConfig: DeviceAction = { + device_id: "", + domain: "", + entity_id: "", + }; + + constructor() { + super(); + this.devicePicked = this.devicePicked.bind(this); + this.deviceActionPicked = this.deviceActionPicked.bind(this); + this.state = { device_id: undefined }; + } + + public render() { + const { action, hass } = this.props; + const deviceId = this.state.device_id || action.device_id; + + return ( +
+ + +
+ ); + } + + private devicePicked(ev) { + this.setState({ device_id: ev.target.value }); + } + + private deviceActionPicked(ev) { + const deviceAction = { ...ev.target.value }; + this.props.onChange(this.props.index, deviceAction); + } +} diff --git a/src/panels/config/js/script/index.js b/src/panels/config/js/script/index.tsx similarity index 87% rename from src/panels/config/js/script/index.js rename to src/panels/config/js/script/index.tsx index a5343cdd5e..8d1eb75ffc 100644 --- a/src/panels/config/js/script/index.js +++ b/src/panels/config/js/script/index.tsx @@ -4,7 +4,7 @@ import "../../../../components/ha-card"; import ActionRow from "./action_row"; -export default class Script extends Component { +export default class Script extends Component { constructor() { super(); @@ -12,7 +12,7 @@ export default class Script extends Component { this.actionChanged = this.actionChanged.bind(this); } - addAction() { + public addAction() { const script = this.props.script.concat({ service: "", }); @@ -20,7 +20,7 @@ export default class Script extends Component { this.props.onChange(script); } - actionChanged(index, newValue) { + public actionChanged(index, newValue) { const script = this.props.script.concat(); if (newValue === null) { @@ -32,7 +32,7 @@ export default class Script extends Component { this.props.onChange(script); } - render({ script, hass, localize }) { + public render({ script, hass, localize }) { return (
{script.map((act, idx) => ( diff --git a/src/panels/config/js/script/wait.js b/src/panels/config/js/script/wait.tsx similarity index 77% rename from src/panels/config/js/script/wait.js rename to src/panels/config/js/script/wait.tsx index 17817b634e..bfde440211 100644 --- a/src/panels/config/js/script/wait.js +++ b/src/panels/config/js/script/wait.tsx @@ -5,7 +5,8 @@ import "../../../../components/ha-textarea"; import { onChangeEvent } from "../../../../common/preact/event"; -export default class WaitAction extends Component { +export default class WaitAction extends Component { + private onChange: (obj: any) => void; constructor() { super(); @@ -15,16 +16,14 @@ export default class WaitAction extends Component { // Gets fired on mount. If empty, onChangeEvent removes attribute. // Without the attribute this action is no longer matched to this component. - onTemplateChange(ev) { - this.props.onChange( - this.props.index, - Object.assign({}, this.props.action, { - [ev.target.getAttribute("name")]: ev.target.value, - }) - ); + public onTemplateChange(ev) { + this.props.onChange(this.props.index, { + ...this.props.action, + [ev.target.getAttribute("name")]: ev.target.value, + }); } - render({ action, localize }) { + public render({ action, localize }) { /* eslint-disable camelcase */ const { wait_template, timeout } = action; return ( @@ -51,7 +50,7 @@ export default class WaitAction extends Component { } } -WaitAction.defaultConfig = { +(WaitAction as any).defaultConfig = { wait_template: "", timeout: "", }; diff --git a/src/panels/config/js/trigger/device.js b/src/panels/config/js/trigger/device.tsx similarity index 62% rename from src/panels/config/js/trigger/device.js rename to src/panels/config/js/trigger/device.tsx index ee4ef4d982..3a97b21e7c 100644 --- a/src/panels/config/js/trigger/device.js +++ b/src/panels/config/js/trigger/device.tsx @@ -2,31 +2,29 @@ import { h, Component } from "preact"; import "../../../../components/device/ha-device-picker"; import "../../../../components/device/ha-device-trigger-picker"; -import "../../../../components/device/ha-device-automation-picker"; -import { onChangeEvent } from "../../../../common/preact/event"; - -export default class DeviceTrigger extends Component { +export default class DeviceTrigger extends Component { constructor() { super(); - this.onChange = onChangeEvent.bind(this, "trigger"); this.devicePicked = this.devicePicked.bind(this); this.deviceTriggerPicked = this.deviceTriggerPicked.bind(this); - this.state.device_id = undefined; + this.state = { device_id: undefined }; } - devicePicked(ev) { + public devicePicked(ev) { this.setState({ device_id: ev.target.value }); } - deviceTriggerPicked(ev) { + public deviceTriggerPicked(ev) { const deviceTrigger = ev.target.value; - this.props.onChange(this.props.index, (this.props.trigger = deviceTrigger)); + this.props.onChange(this.props.index, deviceTrigger); } /* eslint-disable camelcase */ - render({ trigger, hass }, { device_id }) { - if (device_id === undefined) device_id = trigger.device_id; + public render({ trigger, hass }, { device_id }) { + if (device_id === undefined) { + device_id = trigger.device_id; + } return (
@@ -48,7 +46,7 @@ export default class DeviceTrigger extends Component { } } -DeviceTrigger.defaultConfig = { +(DeviceTrigger as any).defaultConfig = { device_id: "", domain: "", entity_id: "", diff --git a/src/panels/config/js/trigger/event.js b/src/panels/config/js/trigger/event.tsx similarity index 73% rename from src/panels/config/js/trigger/event.js rename to src/panels/config/js/trigger/event.tsx index c41a2faf1c..45f36b4904 100644 --- a/src/panels/config/js/trigger/event.js +++ b/src/panels/config/js/trigger/event.tsx @@ -4,7 +4,8 @@ import "@polymer/paper-input/paper-input"; import JSONTextArea from "../json_textarea"; import { onChangeEvent } from "../../../../common/preact/event"; -export default class EventTrigger extends Component { +export default class EventTrigger extends Component { + private onChange: (obj: any) => void; constructor() { super(); @@ -13,14 +14,15 @@ export default class EventTrigger extends Component { } /* eslint-disable camelcase */ - eventDataChanged(event_data) { - this.props.onChange( - this.props.index, - Object.assign({}, this.props.trigger, { event_data }) - ); + // tslint:disable-next-line: variable-name + public eventDataChanged(event_data) { + this.props.onChange(this.props.index, { + ...this.props.trigger, + event_data, + }); } - render({ trigger, localize }) { + public render({ trigger, localize }) { const { event_type, event_data } = trigger; return (
@@ -44,7 +46,7 @@ export default class EventTrigger extends Component { } } -EventTrigger.defaultConfig = { +(EventTrigger as any).defaultConfig = { event_type: "", event_data: {}, }; diff --git a/src/panels/config/js/trigger/geo_location.js b/src/panels/config/js/trigger/geo_location.tsx similarity index 80% rename from src/panels/config/js/trigger/geo_location.js rename to src/panels/config/js/trigger/geo_location.tsx index 1b06943633..bc20980f84 100644 --- a/src/panels/config/js/trigger/geo_location.js +++ b/src/panels/config/js/trigger/geo_location.tsx @@ -5,7 +5,8 @@ import "../../../../components/entity/ha-entity-picker"; import { onChangeEvent } from "../../../../common/preact/event"; -export default class GeolocationTrigger extends Component { +export default class GeolocationTrigger extends Component { + private onChange: (obj: any) => void; constructor() { super(); @@ -14,22 +15,22 @@ export default class GeolocationTrigger extends Component { this.radioGroupPicked = this.radioGroupPicked.bind(this); } - zonePicked(ev) { - this.props.onChange( - this.props.index, - Object.assign({}, this.props.trigger, { zone: ev.target.value }) - ); + public zonePicked(ev) { + this.props.onChange(this.props.index, { + ...this.props.trigger, + zone: ev.target.value, + }); } - radioGroupPicked(ev) { - this.props.onChange( - this.props.index, - Object.assign({}, this.props.trigger, { event: ev.target.selected }) - ); + public radioGroupPicked(ev) { + this.props.onChange(this.props.index, { + ...this.props.trigger, + event: ev.target.selected, + }); } /* eslint-disable camelcase */ - render({ trigger, hass, localize }) { + public render({ trigger, hass, localize }) { const { source, zone, event } = trigger; return ( @@ -78,7 +79,7 @@ export default class GeolocationTrigger extends Component { } } -GeolocationTrigger.defaultConfig = { +(GeolocationTrigger as any).defaultConfig = { source: "", zone: "", event: "enter", diff --git a/src/panels/config/js/trigger/homeassistant.js b/src/panels/config/js/trigger/homeassistant.tsx similarity index 80% rename from src/panels/config/js/trigger/homeassistant.js rename to src/panels/config/js/trigger/homeassistant.tsx index 732a549987..79f6a45c36 100644 --- a/src/panels/config/js/trigger/homeassistant.js +++ b/src/panels/config/js/trigger/homeassistant.tsx @@ -2,22 +2,22 @@ import { h, Component } from "preact"; import "@polymer/paper-radio-button/paper-radio-button"; import "@polymer/paper-radio-group/paper-radio-group"; -export default class HassTrigger extends Component { +export default class HassTrigger extends Component { constructor() { super(); this.radioGroupPicked = this.radioGroupPicked.bind(this); } - radioGroupPicked(ev) { - this.props.onChange( - this.props.index, - Object.assign({}, this.props.trigger, { event: ev.target.selected }) - ); + public radioGroupPicked(ev) { + this.props.onChange(this.props.index, { + ...this.props.trigger, + event: ev.target.selected, + }); } /* eslint-disable camelcase */ - render({ trigger, localize }) { + public render({ trigger, localize }) { const { event } = trigger; return (
@@ -47,6 +47,6 @@ export default class HassTrigger extends Component { } } -HassTrigger.defaultConfig = { +(HassTrigger as any).defaultConfig = { event: "start", }; diff --git a/src/panels/config/js/trigger/index.js b/src/panels/config/js/trigger/index.tsx similarity index 79% rename from src/panels/config/js/trigger/index.js rename to src/panels/config/js/trigger/index.tsx index 63c51c1733..fa196e418e 100644 --- a/src/panels/config/js/trigger/index.js +++ b/src/panels/config/js/trigger/index.tsx @@ -5,7 +5,7 @@ import "../../../../components/ha-card"; import TriggerRow from "./trigger_row"; import StateTrigger from "./state"; -export default class Trigger extends Component { +export default class Trigger extends Component { constructor() { super(); @@ -13,15 +13,16 @@ export default class Trigger extends Component { this.triggerChanged = this.triggerChanged.bind(this); } - addTrigger() { - const trigger = this.props.trigger.concat( - Object.assign({ platform: "state" }, StateTrigger.defaultConfig) - ); + public addTrigger() { + const trigger = this.props.trigger.concat({ + platform: "state", + ...(StateTrigger as any).defaultConfig, + }); this.props.onChange(trigger); } - triggerChanged(index, newValue) { + public triggerChanged(index, newValue) { const trigger = this.props.trigger.concat(); if (newValue === null) { @@ -33,7 +34,7 @@ export default class Trigger extends Component { this.props.onChange(trigger); } - render({ trigger, hass, localize }) { + public render({ trigger, hass, localize }) { return (
{trigger.map((trg, idx) => ( diff --git a/src/panels/config/js/trigger/mqtt.js b/src/panels/config/js/trigger/mqtt.tsx similarity index 82% rename from src/panels/config/js/trigger/mqtt.js rename to src/panels/config/js/trigger/mqtt.tsx index f59c7618f5..283c0e8bb0 100644 --- a/src/panels/config/js/trigger/mqtt.js +++ b/src/panels/config/js/trigger/mqtt.tsx @@ -3,7 +3,8 @@ import "@polymer/paper-input/paper-input"; import { onChangeEvent } from "../../../../common/preact/event"; -export default class MQTTTrigger extends Component { +export default class MQTTTrigger extends Component { + private onChange: (obj: any) => void; constructor() { super(); @@ -11,7 +12,7 @@ export default class MQTTTrigger extends Component { } /* eslint-disable camelcase */ - render({ trigger, localize }) { + public render({ trigger, localize }) { const { topic, payload } = trigger; return (
@@ -36,6 +37,6 @@ export default class MQTTTrigger extends Component { } } -MQTTTrigger.defaultConfig = { +(MQTTTrigger as any).defaultConfig = { topic: "", }; diff --git a/src/panels/config/js/trigger/numeric_state.js b/src/panels/config/js/trigger/numeric_state.tsx similarity index 86% rename from src/panels/config/js/trigger/numeric_state.js rename to src/panels/config/js/trigger/numeric_state.tsx index ac006cb2cf..b706703fc8 100644 --- a/src/panels/config/js/trigger/numeric_state.js +++ b/src/panels/config/js/trigger/numeric_state.tsx @@ -6,7 +6,8 @@ import "../../../../components/entity/ha-entity-picker"; import { onChangeEvent } from "../../../../common/preact/event"; -export default class NumericStateTrigger extends Component { +export default class NumericStateTrigger extends Component { + private onChange: (obj: any) => void; constructor() { super(); @@ -14,15 +15,15 @@ export default class NumericStateTrigger extends Component { this.entityPicked = this.entityPicked.bind(this); } - entityPicked(ev) { - this.props.onChange( - this.props.index, - Object.assign({}, this.props.trigger, { entity_id: ev.target.value }) - ); + public entityPicked(ev) { + this.props.onChange(this.props.index, { + ...this.props.trigger, + entity_id: ev.target.value, + }); } /* eslint-disable camelcase */ - render({ trigger, hass, localize }) { + public render({ trigger, hass, localize }) { const { value_template, entity_id, below, above } = trigger; let trgFor = trigger.for; @@ -82,6 +83,6 @@ export default class NumericStateTrigger extends Component { } } -NumericStateTrigger.defaultConfig = { +(NumericStateTrigger as any).defaultConfig = { entity_id: "", }; diff --git a/src/panels/config/js/trigger/state.js b/src/panels/config/js/trigger/state.tsx similarity index 84% rename from src/panels/config/js/trigger/state.js rename to src/panels/config/js/trigger/state.tsx index fe3d4e7acc..825731a5c6 100644 --- a/src/panels/config/js/trigger/state.js +++ b/src/panels/config/js/trigger/state.tsx @@ -5,7 +5,8 @@ import "../../../../components/entity/ha-entity-picker"; import { onChangeEvent } from "../../../../common/preact/event"; -export default class StateTrigger extends Component { +export default class StateTrigger extends Component { + private onChange: (obj: any) => void; constructor() { super(); @@ -13,15 +14,15 @@ export default class StateTrigger extends Component { this.entityPicked = this.entityPicked.bind(this); } - entityPicked(ev) { - this.props.onChange( - this.props.index, - Object.assign({}, this.props.trigger, { entity_id: ev.target.value }) - ); + public entityPicked(ev) { + this.props.onChange(this.props.index, { + ...this.props.trigger, + entity_id: ev.target.value, + }); } /* eslint-disable camelcase */ - render({ trigger, hass, localize }) { + public render({ trigger, hass, localize }) { const { entity_id, to } = trigger; const trgFrom = trigger.from; let trgFor = trigger.for; @@ -73,6 +74,6 @@ export default class StateTrigger extends Component { } } -StateTrigger.defaultConfig = { +(StateTrigger as any).defaultConfig = { entity_id: "", }; diff --git a/src/panels/config/js/trigger/sun.js b/src/panels/config/js/trigger/sun.tsx similarity index 82% rename from src/panels/config/js/trigger/sun.js rename to src/panels/config/js/trigger/sun.tsx index a0bd5bc990..f3f7e85769 100644 --- a/src/panels/config/js/trigger/sun.js +++ b/src/panels/config/js/trigger/sun.tsx @@ -6,7 +6,8 @@ import "@polymer/paper-radio-group/paper-radio-group"; import { onChangeEvent } from "../../../../common/preact/event"; -export default class SunTrigger extends Component { +export default class SunTrigger extends Component { + private onChange: (obj: any) => void; constructor() { super(); @@ -14,15 +15,15 @@ export default class SunTrigger extends Component { this.radioGroupPicked = this.radioGroupPicked.bind(this); } - radioGroupPicked(ev) { - this.props.onChange( - this.props.index, - Object.assign({}, this.props.trigger, { event: ev.target.selected }) - ); + public radioGroupPicked(ev) { + this.props.onChange(this.props.index, { + ...this.props.trigger, + event: ev.target.selected, + }); } /* eslint-disable camelcase */ - render({ trigger, localize }) { + public render({ trigger, localize }) { const { offset, event } = trigger; return (
@@ -61,6 +62,6 @@ export default class SunTrigger extends Component { } } -SunTrigger.defaultConfig = { +(SunTrigger as any).defaultConfig = { event: "sunrise", }; diff --git a/src/panels/config/js/trigger/template.js b/src/panels/config/js/trigger/template.tsx similarity index 78% rename from src/panels/config/js/trigger/template.js rename to src/panels/config/js/trigger/template.tsx index ae2b1d8ed0..deec5a18b4 100644 --- a/src/panels/config/js/trigger/template.js +++ b/src/panels/config/js/trigger/template.tsx @@ -4,14 +4,15 @@ import "../../../../components/ha-textarea"; import { onChangeEvent } from "../../../../common/preact/event"; -export default class TemplateTrigger extends Component { +export default class TemplateTrigger extends Component { + private onChange: (obj: any) => void; constructor() { super(); this.onChange = onChangeEvent.bind(this, "trigger"); } - render({ trigger, localize }) { + public render({ trigger, localize }) { /* eslint-disable camelcase */ const { value_template } = trigger; return ( @@ -30,6 +31,6 @@ export default class TemplateTrigger extends Component { } } -TemplateTrigger.defaultConfig = { +(TemplateTrigger as any).defaultConfig = { value_template: "", }; diff --git a/src/panels/config/js/trigger/time.js b/src/panels/config/js/trigger/time.tsx similarity index 76% rename from src/panels/config/js/trigger/time.js rename to src/panels/config/js/trigger/time.tsx index dd2c4c535d..e181aff3dc 100644 --- a/src/panels/config/js/trigger/time.js +++ b/src/panels/config/js/trigger/time.tsx @@ -4,7 +4,8 @@ import "@polymer/paper-input/paper-input"; import { onChangeEvent } from "../../../../common/preact/event"; -export default class TimeTrigger extends Component { +export default class TimeTrigger extends Component { + private onChange: (obj: any) => void; constructor() { super(); @@ -12,7 +13,7 @@ export default class TimeTrigger extends Component { } /* eslint-disable camelcase */ - render({ trigger, localize }) { + public render({ trigger, localize }) { const { at } = trigger; return (
@@ -29,6 +30,6 @@ export default class TimeTrigger extends Component { } } -TimeTrigger.defaultConfig = { +(TimeTrigger as any).defaultConfig = { at: "", }; diff --git a/src/panels/config/js/trigger/time_pattern.js b/src/panels/config/js/trigger/time_pattern.tsx similarity index 85% rename from src/panels/config/js/trigger/time_pattern.js rename to src/panels/config/js/trigger/time_pattern.tsx index 1dda842275..a4dd8a78f1 100644 --- a/src/panels/config/js/trigger/time_pattern.js +++ b/src/panels/config/js/trigger/time_pattern.tsx @@ -4,7 +4,8 @@ import "@polymer/paper-input/paper-input"; import { onChangeEvent } from "../../../../common/preact/event"; -export default class TimePatternTrigger extends Component { +export default class TimePatternTrigger extends Component { + private onChange: (obj: any) => void; constructor() { super(); @@ -12,7 +13,7 @@ export default class TimePatternTrigger extends Component { } /* eslint-disable camelcase */ - render({ trigger, localize }) { + public render({ trigger, localize }) { const { hours, minutes, seconds } = trigger; return (
@@ -45,7 +46,7 @@ export default class TimePatternTrigger extends Component { } } -TimePatternTrigger.defaultConfig = { +(TimePatternTrigger as any).defaultConfig = { hours: "", minutes: "", seconds: "", diff --git a/src/panels/config/js/trigger/trigger_edit.js b/src/panels/config/js/trigger/trigger_edit.tsx similarity index 89% rename from src/panels/config/js/trigger/trigger_edit.js rename to src/panels/config/js/trigger/trigger_edit.tsx index e0234ed550..a52af204c3 100644 --- a/src/panels/config/js/trigger/trigger_edit.js +++ b/src/panels/config/js/trigger/trigger_edit.tsx @@ -36,25 +36,15 @@ const TYPES = { const OPTIONS = Object.keys(TYPES).sort(); -export default class TriggerEdit extends Component { +export default class TriggerEdit extends Component { constructor() { super(); this.typeChanged = this.typeChanged.bind(this); } - typeChanged(ev) { - const type = ev.target.selectedItem.attributes.platform.value; - - if (type !== this.props.trigger.platform) { - this.props.onChange( - this.props.index, - Object.assign({ platform: type }, TYPES[type].defaultConfig) - ); - } - } - - render({ index, trigger, onChange, hass, localize }) { + public render({ index, trigger, onChange, hass, localize }) { + // tslint:disable-next-line: variable-name const Comp = TYPES[trigger.platform]; const selected = OPTIONS.indexOf(trigger.platform); @@ -102,4 +92,15 @@ export default class TriggerEdit extends Component {
); } + + private typeChanged(ev) { + const type = ev.target.selectedItem.attributes.platform.value; + + if (type !== this.props.trigger.platform) { + this.props.onChange(this.props.index, { + platform: type, + ...TYPES[type].defaultConfig, + }); + } + } } diff --git a/src/panels/config/js/trigger/trigger_row.js b/src/panels/config/js/trigger/trigger_row.tsx similarity index 94% rename from src/panels/config/js/trigger/trigger_row.js rename to src/panels/config/js/trigger/trigger_row.tsx index 3cb123402f..7853a8d9dc 100644 --- a/src/panels/config/js/trigger/trigger_row.js +++ b/src/panels/config/js/trigger/trigger_row.tsx @@ -7,27 +7,14 @@ import "../../../../components/ha-card"; import TriggerEdit from "./trigger_edit"; -export default class TriggerRow extends Component { +export default class TriggerRow extends Component { constructor() { super(); this.onDelete = this.onDelete.bind(this); } - onDelete() { - // eslint-disable-next-line - if ( - confirm( - this.props.localize( - "ui.panel.config.automation.editor.triggers.delete_confirm" - ) - ) - ) { - this.props.onChange(this.props.index, null); - } - } - - render(props) { + public render(props) { return (
@@ -61,4 +48,17 @@ export default class TriggerRow extends Component { ); } + + private onDelete() { + // eslint-disable-next-line + if ( + confirm( + this.props.localize( + "ui.panel.config.automation.editor.triggers.delete_confirm" + ) + ) + ) { + this.props.onChange(this.props.index, null); + } + } } diff --git a/src/panels/config/js/trigger/webhook.js b/src/panels/config/js/trigger/webhook.tsx similarity index 76% rename from src/panels/config/js/trigger/webhook.js rename to src/panels/config/js/trigger/webhook.tsx index 8ce125559f..86960fc654 100644 --- a/src/panels/config/js/trigger/webhook.js +++ b/src/panels/config/js/trigger/webhook.tsx @@ -2,15 +2,15 @@ import { h, Component } from "preact"; import "@polymer/paper-input/paper-input"; import { onChangeEvent } from "../../../../common/preact/event"; - -export default class WebhookTrigger extends Component { +export default class WebhookTrigger extends Component { + private onChange: (obj: any) => void; constructor() { super(); this.onChange = onChangeEvent.bind(this, "trigger"); } - render({ trigger, localize }) { + public render({ trigger, localize }) { const { webhook_id: webhookId } = trigger; return (
@@ -27,6 +27,6 @@ export default class WebhookTrigger extends Component { } } -WebhookTrigger.defaultConfig = { +(WebhookTrigger as any).defaultConfig = { webhook_id: "", }; diff --git a/src/panels/config/js/trigger/zone.js b/src/panels/config/js/trigger/zone.tsx similarity index 75% rename from src/panels/config/js/trigger/zone.js rename to src/panels/config/js/trigger/zone.tsx index be3b385a01..392f61a137 100644 --- a/src/panels/config/js/trigger/zone.js +++ b/src/panels/config/js/trigger/zone.tsx @@ -3,7 +3,6 @@ import "@polymer/paper-radio-button/paper-radio-button"; import "@polymer/paper-radio-group/paper-radio-group"; import "../../../../components/entity/ha-entity-picker"; -import { onChangeEvent } from "../../../../common/preact/event"; import hasLocation from "../../../../common/entity/has_location"; import computeStateDomain from "../../../../common/entity/compute_state_domain"; @@ -11,39 +10,17 @@ function zoneAndLocationFilter(stateObj) { return hasLocation(stateObj) && computeStateDomain(stateObj) !== "zone"; } -export default class ZoneTrigger extends Component { +export default class ZoneTrigger extends Component { constructor() { super(); - this.onChange = onChangeEvent.bind(this, "trigger"); this.radioGroupPicked = this.radioGroupPicked.bind(this); this.entityPicked = this.entityPicked.bind(this); this.zonePicked = this.zonePicked.bind(this); } - entityPicked(ev) { - this.props.onChange( - this.props.index, - Object.assign({}, this.props.trigger, { entity_id: ev.target.value }) - ); - } - - zonePicked(ev) { - this.props.onChange( - this.props.index, - Object.assign({}, this.props.trigger, { zone: ev.target.value }) - ); - } - - radioGroupPicked(ev) { - this.props.onChange( - this.props.index, - Object.assign({}, this.props.trigger, { event: ev.target.selected }) - ); - } - /* eslint-disable camelcase */ - render({ trigger, hass, localize }) { + public render({ trigger, hass, localize }) { const { entity_id, zone, event } = trigger; return (
@@ -91,9 +68,30 @@ export default class ZoneTrigger extends Component {
); } + + private entityPicked(ev) { + this.props.onChange(this.props.index, { + ...this.props.trigger, + entity_id: ev.target.value, + }); + } + + private zonePicked(ev) { + this.props.onChange(this.props.index, { + ...this.props.trigger, + zone: ev.target.value, + }); + } + + private radioGroupPicked(ev) { + this.props.onChange(this.props.index, { + ...this.props.trigger, + event: ev.target.selected, + }); + } } -ZoneTrigger.defaultConfig = { +(ZoneTrigger as any).defaultConfig = { entity_id: "", zone: "", event: "enter", diff --git a/src/panels/config/person/ha-config-person.ts b/src/panels/config/person/ha-config-person.ts index b4c34cce11..94fe6c427c 100644 --- a/src/panels/config/person/ha-config-person.ts +++ b/src/panels/config/person/ha-config-person.ts @@ -8,7 +8,6 @@ import { } from "lit-element"; import "@polymer/paper-item/paper-item"; import "@polymer/paper-item/paper-item-body"; -import "@polymer/paper-fab/paper-fab"; import { HomeAssistant } from "../../../types"; import { @@ -19,6 +18,7 @@ import { createPerson, } from "../../../data/person"; import "../../../components/ha-card"; +import "../../../components/ha-fab"; import "../../../layouts/hass-subpage"; import "../../../layouts/hass-loading-screen"; import { compare } from "../../../common/string/compare"; @@ -109,12 +109,12 @@ class HaConfigPerson extends LitElement { - + > `; } @@ -221,14 +221,14 @@ All devices belonging to this person will become unassigned.`) ha-card.storage paper-item { cursor: pointer; } - paper-fab { + ha-fab { position: fixed; bottom: 16px; right: 16px; z-index: 1; } - paper-fab[is-wide] { + ha-fab[is-wide] { bottom: 24px; right: 24px; } diff --git a/src/panels/config/script/ha-script-editor.js b/src/panels/config/script/ha-script-editor.js index 5b550094f7..98bafc668e 100644 --- a/src/panels/config/script/ha-script-editor.js +++ b/src/panels/config/script/ha-script-editor.js @@ -1,13 +1,13 @@ import "@polymer/app-layout/app-header/app-header"; import "@polymer/app-layout/app-toolbar/app-toolbar"; import "@polymer/paper-icon-button/paper-icon-button"; -import "@polymer/paper-fab/paper-fab"; import { html } from "@polymer/polymer/lib/utils/html-tag"; import { PolymerElement } from "@polymer/polymer/polymer-element"; import { h, render } from "preact"; import "../../../layouts/ha-app-layout"; import "../../../components/ha-paper-icon-button-arrow-prev"; +import "../../../components/ha-fab"; import Script from "../js/script"; import unmountPreact from "../../../common/preact/unmount"; @@ -65,7 +65,7 @@ class HaScriptEditor extends LocalizeMixin(NavigateMixin(PolymerElement)) { span[slot="introduction"] a { color: var(--primary-color); } - paper-fab { + ha-fab { position: fixed; bottom: 16px; right: 16px; @@ -74,21 +74,21 @@ class HaScriptEditor extends LocalizeMixin(NavigateMixin(PolymerElement)) { transition: margin-bottom 0.3s; } - paper-fab[is-wide] { + ha-fab[is-wide] { bottom: 24px; right: 24px; } - paper-fab[dirty] { + ha-fab[dirty] { margin-bottom: 0; } - paper-fab[rtl] { + ha-fab[rtl] { right: auto; left: 16px; } - paper-fab[rtl][is-wide] { + ha-fab[rtl][is-wide] { bottom: 24px; right: auto; left: 24px; @@ -115,7 +115,7 @@ class HaScriptEditor extends LocalizeMixin(NavigateMixin(PolymerElement)) {
- + > `; } diff --git a/src/panels/config/script/ha-script-picker.ts b/src/panels/config/script/ha-script-picker.ts index bdba5f7621..be4b30a862 100644 --- a/src/panels/config/script/ha-script-picker.ts +++ b/src/panels/config/script/ha-script-picker.ts @@ -7,7 +7,6 @@ import { property, customElement, } from "lit-element"; -import "@polymer/paper-fab/paper-fab"; import "@polymer/paper-icon-button/paper-icon-button"; import "@polymer/paper-item/paper-item-body"; import { HassEntity } from "home-assistant-js-websocket"; @@ -17,6 +16,7 @@ import "../../../layouts/hass-subpage"; import { computeRTL } from "../../../common/util/compute_rtl"; import "../../../components/ha-card"; +import "../../../components/ha-fab"; import "../ha-config-section"; @@ -81,13 +81,13 @@ class HaScriptPicker extends LitElement { - + > `; @@ -135,24 +135,24 @@ class HaScriptPicker extends LitElement { display: flex; } - paper-fab { + ha-fab { position: fixed; bottom: 16px; right: 16px; z-index: 1; } - paper-fab[is-wide] { + ha-fab[is-wide] { bottom: 24px; right: 24px; } - paper-fab[rtl] { + ha-fab[rtl] { right: auto; left: 16px; } - paper-fab[rtl][is-wide] { + ha-fab[rtl][is-wide] { bottom: 24px; right: auto; left: 24px; diff --git a/src/panels/config/users/ha-config-user-picker.js b/src/panels/config/users/ha-config-user-picker.js index ffaaa47327..8610e6b5b9 100644 --- a/src/panels/config/users/ha-config-user-picker.js +++ b/src/panels/config/users/ha-config-user-picker.js @@ -1,4 +1,3 @@ -import "@polymer/paper-fab/paper-fab"; import "@polymer/paper-item/paper-item"; import "@polymer/paper-item/paper-item-body"; import { html } from "@polymer/polymer/lib/utils/html-tag"; @@ -7,6 +6,7 @@ import { PolymerElement } from "@polymer/polymer/polymer-element"; import "../../../layouts/hass-subpage"; import "../../../components/ha-icon-next"; import "../../../components/ha-card"; +import "../../../components/ha-fab"; import LocalizeMixin from "../../../mixins/localize-mixin"; import NavigateMixin from "../../../mixins/navigate-mixin"; @@ -27,21 +27,21 @@ class HaUserPicker extends EventsMixin( static get template() { return html` - `; - } - - private _createElements(): void { - if (!this._hass) { - return; - } - const domains: { [domain: string]: string[] } = {}; - computeUnusedEntities(this._hass, this._config!).forEach((entity) => { - const domain = computeDomain(entity); - - if (!(domain in domains)) { - domains[domain] = []; - } - domains[domain].push(entity); - }); - this._elements = Object.keys(domains) - .sort() - .map((domain) => { - const el = createCardElement({ - type: "entities", - title: this._hass!.localize(`domain.${domain}`) || domain, - entities: domains[domain].map((entity) => ({ - entity, - secondary_info: "entity-id", - })), - show_header_toggle: false, - }); - el.hass = this._hass; - return el; - }); - } -} - -declare global { - interface HTMLElementTagNameMap { - "hui-unused-entities": HuiUnusedEntities; - } -} -customElements.define("hui-unused-entities", HuiUnusedEntities); diff --git a/src/panels/lovelace/hui-view-editable.ts b/src/panels/lovelace/hui-view-editable.ts index 8740b29f13..676b70ab17 100644 --- a/src/panels/lovelace/hui-view-editable.ts +++ b/src/panels/lovelace/hui-view-editable.ts @@ -1,3 +1,3 @@ // hui-view dependencies for when in edit mode. -import "@polymer/paper-fab/paper-fab"; import "./components/hui-card-options"; +import "../../components/ha-fab"; diff --git a/src/panels/lovelace/hui-view.ts b/src/panels/lovelace/hui-view.ts index d8bf24004b..8d78e0e84a 100644 --- a/src/panels/lovelace/hui-view.ts +++ b/src/panels/lovelace/hui-view.ts @@ -16,7 +16,6 @@ import applyThemesOnElement from "../../common/dom/apply_themes_on_element"; import { LovelaceViewConfig, LovelaceCardConfig } from "../../data/lovelace"; import { HomeAssistant } from "../../types"; import { classMap } from "lit-html/directives/class-map"; - import { Lovelace, LovelaceCard } from "./types"; import { createCardElement } from "./common/create-card-element"; import { computeCardSize } from "./common/compute-card-size"; @@ -96,8 +95,7 @@ export class HUIView extends LitElement {
${this.lovelace!.editMode ? html` - + > ` : ""} `; @@ -148,7 +146,7 @@ export class HUIView extends LitElement { margin: 4px 4px 8px; } - paper-fab { + ha-fab { position: sticky; float: right; bottom: 16px; @@ -156,7 +154,7 @@ export class HUIView extends LitElement { z-index: 1; } - paper-fab.rtl { + ha-fab.rtl { float: left; right: auto; left: 16px; @@ -264,7 +262,8 @@ export class HUIView extends LitElement { } const elements: HUIView["_badges"] = []; - const badges = processConfigEntities(config.badges); + // It's possible that a null value was stored as a badge entry + const badges = processConfigEntities(config.badges.filter(Boolean)); for (const badge of badges) { const element = document.createElement("ha-state-label-badge"); const entityId = badge.entity; diff --git a/src/resources/ha-style.ts b/src/resources/ha-style.ts index cb2fc997c7..d171a11c76 100644 --- a/src/resources/ha-style.ts +++ b/src/resources/ha-style.ts @@ -125,6 +125,7 @@ documentContainer.innerHTML = ` /* mwc */ --mdc-theme-primary: var(--primary-color); + --mdc-theme-secondary: var(--accent-color); } diff --git a/src/resources/jquery.roundslider.ondemand.ts b/src/resources/jquery.roundslider.ondemand.ts index 3c92056f97..487b367f8b 100644 --- a/src/resources/jquery.roundslider.ondemand.ts +++ b/src/resources/jquery.roundslider.ondemand.ts @@ -1,13 +1,13 @@ import { TemplateResult } from "lit-element"; -type LoadedRoundSlider = Promise<{ +interface LoadedRoundSlider { roundSliderStyle: TemplateResult; jQuery: any; -}>; +} -let loaded: LoadedRoundSlider; +let loaded: Promise; -export const loadRoundslider = async (): LoadedRoundSlider => { +export const loadRoundslider = async (): Promise => { if (!loaded) { loaded = import(/* webpackChunkName: "jquery-roundslider" */ "./jquery.roundslider"); } diff --git a/src/resources/markdown_worker.ts b/src/resources/markdown_worker.ts index ec06680ce0..fd2ee988e3 100644 --- a/src/resources/markdown_worker.ts +++ b/src/resources/markdown_worker.ts @@ -2,9 +2,12 @@ import marked from "marked"; // @ts-ignore import filterXSS from "xss"; -const allowedSvgTags = ["svg", "path"]; +interface WhiteList { + [tag: string]: string[]; +} -const allowedTag = (tag: string) => tag === "ha-icon"; +let whiteListNormal: WhiteList | undefined; +let whiteListSvg: WhiteList | undefined; export const renderMarkdown = ( content: string, @@ -13,10 +16,30 @@ export const renderMarkdown = ( // Do not allow SVG on untrusted content, it allows XSS. allowSvg?: boolean; } = {} -) => - filterXSS(marked(content, markedOptions), { - onIgnoreTag: hassOptions.allowSvg - ? (tag, html) => - allowedTag(tag) || allowedSvgTags.includes(tag) ? html : null - : (tag, html) => (allowedTag(tag) ? html : null), +) => { + if (!whiteListNormal) { + whiteListNormal = { + ...filterXSS.whiteList, + "ha-icon": ["icon"], + }; + } + + let whiteList: WhiteList | undefined; + + if (hassOptions.allowSvg) { + if (!whiteListSvg) { + whiteListSvg = { + ...whiteListNormal, + svg: ["xmlns", "height", "width"], + path: ["transform", "stroke", "d"], + }; + } + whiteList = whiteListSvg; + } else { + whiteList = whiteListNormal; + } + + return filterXSS(marked(content, markedOptions), { + whiteList, }); +}; diff --git a/src/state/haptic-mixin.ts b/src/state/haptic-mixin.ts new file mode 100644 index 0000000000..58bd47129a --- /dev/null +++ b/src/state/haptic-mixin.ts @@ -0,0 +1,28 @@ +import { Constructor, LitElement, PropertyValues } from "lit-element"; +import { HassBaseEl } from "./hass-base-mixin"; + +import { HapticType } from "../data/haptics"; + +const hapticPatterns = { + success: [50, 50, 50], + warning: [100, 50, 100], + failure: [200, 100, 200], + light: [50], + medium: [100], + heavy: [200], + selection: [20], +}; + +const handleHaptic = (hapticType: HapticType) => { + navigator.vibrate(hapticPatterns[hapticType]); +}; + +export const hapticMixin = (superClass: Constructor) => + class extends superClass { + protected firstUpdated(changedProps: PropertyValues) { + super.firstUpdated(changedProps); + if (navigator.vibrate) { + window.addEventListener("haptic", (e) => handleHaptic(e.detail)); + } + } + }; diff --git a/src/state/hass-base-mixin.ts b/src/state/hass-base-mixin.ts index f41d6752d2..df5d9e7352 100644 --- a/src/state/hass-base-mixin.ts +++ b/src/state/hass-base-mixin.ts @@ -2,6 +2,7 @@ import { Constructor, // @ts-ignore property, + PropertyDeclarations, } from "lit-element"; import { Auth, Connection } from "home-assistant-js-websocket"; import { HomeAssistant } from "../types"; @@ -26,8 +27,15 @@ export default (superClass: Constructor): Constructor => class extends superClass { protected _pendingHass: Partial = {}; private __provideHass: HTMLElement[] = []; - // @ts-ignore - @property() protected hass: HomeAssistant; + + // Decorators not possible in anonymous classes + static get properties(): PropertyDeclarations { + return { + hass: {}, + }; + } + + protected hass!: HomeAssistant; // Exists so all methods can safely call super method protected hassConnected() { diff --git a/src/state/hass-element.ts b/src/state/hass-element.ts index da67ba1385..c225ef9224 100644 --- a/src/state/hass-element.ts +++ b/src/state/hass-element.ts @@ -9,6 +9,7 @@ import { dialogManagerMixin } from "./dialog-manager-mixin"; import { connectionMixin } from "./connection-mixin"; import NotificationMixin from "./notification-mixin"; import DisconnectToastMixin from "./disconnect-toast-mixin"; +import { hapticMixin } from "./haptic-mixin"; import { urlSyncMixin } from "./url-sync-mixin"; import { LitElement } from "lit-element"; @@ -27,4 +28,5 @@ export class HassElement extends ext(HassBaseMixin(LitElement), [ dialogManagerMixin, urlSyncMixin, ZHADialogMixin, + hapticMixin, ]) {} diff --git a/src/translations/en.json b/src/translations/en.json index 3af209aa68..c4db454d5b 100644 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -871,6 +871,9 @@ "label": "Fire event", "event": "[%key:ui::panel::config::automation::editor::triggers::type::homeassistant::event%]", "service_data": "[%key:ui::panel::config::automation::editor::actions::type::service::service_data%]" + }, + "device_id": { + "label": "Device" } } } diff --git a/translations/ca.json b/translations/ca.json index 7da7341195..08f5badf2e 100644 --- a/translations/ca.json +++ b/translations/ca.json @@ -251,7 +251,8 @@ "snowy-rainy": "Aiguaneu", "sunny": "Assolellat", "windy": "Ventós", - "windy-variant": "Ventós" + "windy-variant": "Ventós", + "exceptional": "Excepcional" }, "vacuum": { "cleaning": "Netejant", @@ -327,6 +328,9 @@ }, "info": { "title": "Informació" + }, + "logs": { + "title": "Registres" } } }, @@ -498,6 +502,9 @@ "event": "Esdeveniment:", "enter": "Entrar", "leave": "Sortir" + }, + "device": { + "label": "Dispositiu" } }, "learn_more": "Més informació sobre els activadors" @@ -544,6 +551,9 @@ "label": "Zona", "entity": "Entitat amb ubicació", "zone": "Zona" + }, + "device": { + "label": "Dispositiu" } }, "learn_more": "Més informació sobre les condicions" @@ -787,7 +797,9 @@ "heading": "Gestió del servidor", "introduction": "Controla el servidor de Home Assistant... des de Home Assistant.", "restart": "Reinicia", - "stop": "Atura" + "stop": "Atura", + "confirm_restart": "Segur que vols reiniciar Home Assistant?", + "confirm_stop": "Segur que vols aturar Home Assistant?" } } } @@ -1054,6 +1066,10 @@ "save": "Desa", "unsaved_changes": "Canvis sense desar", "saved": "Desat" + }, + "edit_lovelace": { + "header": "Títol de la interfície d'usuari Lovelace", + "explanation": "Aquest títol es mostra a sobre de cada visualització a Lovelace." } }, "menu": { @@ -1123,7 +1139,8 @@ "common": { "loading": "Carregant", "cancel": "Cancel·la", - "save": "Desa" + "save": "Desa", + "successfully_saved": "S'ha desat correctament" }, "duration": { "day": "{count} {count, plural,\n one {dia}\n other {dies}\n}", @@ -1199,7 +1216,9 @@ "fan": { "speed": "Velocitat", "oscillate": "Oscil·lació", - "direction": "Direcció" + "direction": "Direcció", + "forward": "Endavant", + "reverse": "Invers" }, "light": { "brightness": "Brillantor", @@ -1244,6 +1263,14 @@ "target_temperature": "Temperatura desitjada", "operation": "Funcionament", "away_mode": "Mode fora" + }, + "timer": { + "actions": { + "start": "inicia", + "pause": "pausa", + "cancel": "cancel·la", + "finish": "finalitza" + } } }, "components": { @@ -1310,6 +1337,20 @@ "title": "Opcions de sistema", "enable_new_entities_label": "Activa entitats afegides recentment.", "enable_new_entities_description": "Si està desactivat, les entitats descobertes recentment no s’afegiran automàticament a Home Assistant." + }, + "zha_device_info": { + "manuf": "per {manufacturer}", + "no_area": "Sense Àrea", + "services": { + "reconfigure": "Reconfigura el dispositiu ZHA (dispositiu curatiu). Utilitza-ho si tens problemes amb el dispositiu. Si el dispositiu en qüestió està alimentat per bateria, assegura't que estigui despert i accepti ordres quan utilitzis aquest servei.", + "updateDeviceName": "Estableix un nom personalitzat pel dispositiu al registre de dispositius.", + "remove": "Elimina un dispositiu de la xarxa ZigBee." + }, + "zha_device_card": { + "device_name_placeholder": "Nom donat per l'usuari", + "area_picker_label": "Àrea", + "update_name_button": "Actualitzar Nom" + } } }, "auth_store": { diff --git a/translations/cs.json b/translations/cs.json index 0976894d65..710c9e4fde 100644 --- a/translations/cs.json +++ b/translations/cs.json @@ -730,7 +730,7 @@ }, "server_control": { "caption": "Ovládání serveru", - "description": "Restart a zastavení serveru Home Asistent ", + "description": "Restart a zastavení serveru Home Asistent", "section": { "validation": { "heading": "Ověření konfigurace", @@ -752,7 +752,9 @@ "heading": "Správa serveru", "introduction": "Ovládejte svůj Home Assistant server... z Home Assistant.", "restart": "Restartovat", - "stop": "Zastavit" + "stop": "Zastavit", + "confirm_restart": "Opravdu chcete restartovat Home Assistant?", + "confirm_stop": "Opravdu chcete zastavit službu Home Assistant?" } } } @@ -1261,6 +1263,11 @@ "updater": { "title": "Pokyny pro aktualizaci" } + }, + "options_flow": { + "form": { + "header": "Nastavení" + } } }, "auth_store": { @@ -1346,5 +1353,11 @@ "system-admin": "Správci", "system-users": "Uživatelé", "system-read-only": "Uživatelé jen pro čtení" + }, + "config_entry": { + "disabled_by": { + "user": "Uživatel", + "integration": "Integrace" + } } } \ No newline at end of file diff --git a/translations/da.json b/translations/da.json index 344a8b4e16..9ee018949a 100644 --- a/translations/da.json +++ b/translations/da.json @@ -251,7 +251,8 @@ "snowy-rainy": "Snedækket, regnfuldt", "sunny": "Solrig", "windy": "Blæsende", - "windy-variant": "Blæsende" + "windy-variant": "Blæsende", + "exceptional": "Enestående" }, "vacuum": { "cleaning": "Rengøring", @@ -327,6 +328,9 @@ }, "info": { "title": "Udvikler Information" + }, + "logs": { + "title": "Logs" } } }, @@ -498,6 +502,9 @@ "event": "Begivenhed", "enter": "Ankommer", "leave": "Forlad" + }, + "device": { + "label": "Enhed" } }, "learn_more": "Lær om udløsere" @@ -544,6 +551,9 @@ "label": "Zone", "entity": "Enhed med placering", "zone": "Zone" + }, + "device": { + "label": "Enhed" } }, "learn_more": "Lær om betingelser" @@ -787,7 +797,9 @@ "heading": "Serveradministration", "introduction": "Administrer din Home Assistant server... fra Home Assistant.", "restart": "Genstart", - "stop": "Stop" + "stop": "Stop", + "confirm_restart": "Er du sikker på, at du vil genstarte Home Assistant?", + "confirm_stop": "Er du sikker på, at du vil stoppe Home Assistant?" } } } @@ -1054,6 +1066,10 @@ "save": "Gem", "unsaved_changes": "Ikke gemte ændringer", "saved": "Gemt" + }, + "edit_lovelace": { + "header": "Titel på din Lovelace UI", + "explanation": "Denne titel vises over alle dine visninger i Lovelace." } }, "menu": { @@ -1123,7 +1139,8 @@ "common": { "loading": "Indlæser", "cancel": "Annuller", - "save": "Gem" + "save": "Gem", + "successfully_saved": "Gemt med succes" }, "duration": { "day": "{count} {count, plural,\none {dag}\nother {dage}\n}", @@ -1199,7 +1216,9 @@ "fan": { "speed": "Hastighed", "oscillate": "Sving", - "direction": "Retning" + "direction": "Retning", + "forward": "Frem", + "reverse": "Baglæns" }, "light": { "brightness": "Lysstyrke", @@ -1244,6 +1263,14 @@ "target_temperature": "Ønsket temperatur", "operation": "Drift", "away_mode": "Ikke til stede" + }, + "timer": { + "actions": { + "start": "start", + "pause": "pause", + "cancel": "annuller", + "finish": "afslut" + } } }, "components": { @@ -1310,6 +1337,19 @@ "title": "Systemindstillinger", "enable_new_entities_label": "Aktivér nyligt tilføjede enheder.", "enable_new_entities_description": "Hvis deaktiveret, tilføjes nyligt opdagede enheder ikke automatisk til Home Assistant." + }, + "zha_device_info": { + "manuf": "af {manufacturer}", + "no_area": "Intet område", + "services": { + "reconfigure": "Genkonfigurer ZHA-enhed (helbred enhed). Brug dette hvis du har problemer med enheden. Hvis den pågældende enhed er en batteridrevet enhed skal du sørge for at den er vågen og accepterer kommandoer når du bruger denne service.", + "remove": "Fjern en enhed fra ZigBee-netværket." + }, + "zha_device_card": { + "device_name_placeholder": "Navn", + "area_picker_label": "Område", + "update_name_button": "Opdater navn" + } } }, "auth_store": { @@ -1393,9 +1433,9 @@ }, "hvac_action": { "off": "Fra", - "heating": "Varmer", - "cooling": "Køler", - "drying": "Tørrer", + "heating": "Opvarmning", + "cooling": "Køling", + "drying": "Tørring", "idle": "Inaktiv", "fan": "Ventilator" } diff --git a/translations/de.json b/translations/de.json index df6a73ebc2..4fff73b604 100644 --- a/translations/de.json +++ b/translations/de.json @@ -251,7 +251,8 @@ "snowy-rainy": "Verschneit, regnerisch", "sunny": "Sonnig", "windy": "Windig", - "windy-variant": "Windig" + "windy-variant": "Windig", + "exceptional": "Außergewöhnlich" }, "vacuum": { "cleaning": "Reinigen", @@ -327,6 +328,9 @@ }, "info": { "title": "Info" + }, + "logs": { + "title": "Logs" } } }, @@ -498,6 +502,9 @@ "event": "Ereignis:", "enter": "Betreten", "leave": "Verlassen" + }, + "device": { + "label": "Gerät" } }, "learn_more": "Erfahre mehr über Auslöser" @@ -787,7 +794,9 @@ "heading": "Serververwaltung", "introduction": "Verwalte Home Assistant… von Home Assistant aus.", "restart": "Neu starten", - "stop": "Stoppen" + "stop": "Stoppen", + "confirm_restart": "Möchten Sie Home Assistant wirklich neu starten?", + "confirm_stop": "Möchten Sie Home Assistant wirklich beenden?" } } } @@ -1123,7 +1132,8 @@ "common": { "loading": "Laden", "cancel": "Abbrechen", - "save": "Speichern" + "save": "Speichern", + "successfully_saved": "Erfolgreich gespeichert" }, "duration": { "day": "{count} {count, plural,\none {Tag}\nother {Tage}\n}", @@ -1199,7 +1209,9 @@ "fan": { "speed": "Geschwindigkeit", "oscillate": "Oszillieren", - "direction": "Richtung" + "direction": "Richtung", + "forward": "Vorwärts", + "reverse": "Rückwärts" }, "light": { "brightness": "Helligkeit", diff --git a/translations/el.json b/translations/el.json index 6bc2f2ba05..656dbe0b2c 100644 --- a/translations/el.json +++ b/translations/el.json @@ -97,8 +97,8 @@ "on": "Κρύο" }, "door": { - "off": "Κλειστό", - "on": "Άνοιγμα" + "off": "Κλειστή", + "on": "Ανοιχτή" }, "garage_door": { "off": "Κλειστό", @@ -110,7 +110,7 @@ }, "window": { "off": "Κλειστό", - "on": "Άνοιγμα" + "on": "Ανοιχτό" }, "lock": { "off": "Κλειδωμένο", @@ -251,7 +251,8 @@ "snowy-rainy": "Χιονισμένο, βροχερό", "sunny": "Ηλιόλουστο", "windy": "Θυελλώδεις", - "windy-variant": "Θυελλώδεις" + "windy-variant": "Θυελλώδεις", + "exceptional": "Εξαιρετικό" }, "vacuum": { "cleaning": "Καθαρισμός", @@ -327,6 +328,9 @@ }, "info": { "title": "Πληροφορίες" + }, + "logs": { + "title": "Αρχεία καταγραφής" } } }, @@ -498,6 +502,9 @@ "event": "Γεγονός:", "enter": "Είσοδος", "leave": "Αποχώρηση" + }, + "device": { + "label": "Συσκευή" } }, "learn_more": "Μάθετε περισσότερα σχετικά με τα εναύσματα" @@ -787,7 +794,9 @@ "heading": "Διαχείριση διακομιστή", "introduction": "Έλεγχος του διακομιστή Home Assistant... απο τον Home Assistant", "restart": "Επανεκκίνηση", - "stop": "Στοπ" + "stop": "Στοπ", + "confirm_restart": "Είστε βέβαιος ότι θέλετε να επανεκκινήσετε το Home Assistant;", + "confirm_stop": "Είστε βέβαιος ότι θέλετε να σταματήσετε το Home Assistant;" } } } @@ -1123,7 +1132,8 @@ "common": { "loading": "Φόρτωση", "cancel": "Ακύρωση", - "save": "Αποθήκευση" + "save": "Αποθήκευση", + "successfully_saved": "Αποθηκεύτηκε με επιτυχία" }, "duration": { "day": "{count} {count, plural,\n one {μέρα}\n other {μέρες}\n}", @@ -1199,7 +1209,9 @@ "fan": { "speed": "Ταχύτητα", "oscillate": "Περιστροφή", - "direction": "Κατεύθυνση" + "direction": "Κατεύθυνση", + "forward": "Εμπρός", + "reverse": "Αντιστροφή" }, "light": { "brightness": "Φωτεινότητα", diff --git a/translations/en.json b/translations/en.json index a63d886387..530b298e9a 100644 --- a/translations/en.json +++ b/translations/en.json @@ -251,7 +251,8 @@ "snowy-rainy": "Snowy, rainy", "sunny": "Sunny", "windy": "Windy", - "windy-variant": "Windy" + "windy-variant": "Windy", + "exceptional": "Exceptional" }, "vacuum": { "cleaning": "Cleaning", @@ -327,6 +328,9 @@ }, "info": { "title": "Info" + }, + "logs": { + "title": "Logs" } } }, @@ -498,6 +502,9 @@ "event": "Event:", "enter": "Enter", "leave": "Leave" + }, + "device": { + "label": "Device" } }, "learn_more": "Learn more about triggers" @@ -544,6 +551,9 @@ "label": "Zone", "entity": "Entity with location", "zone": "Zone" + }, + "device": { + "label": "Device" } }, "learn_more": "Learn more about conditions" @@ -787,7 +797,9 @@ "heading": "Server management", "introduction": "Control your Home Assistant server… from Home Assistant.", "restart": "Restart", - "stop": "Stop" + "stop": "Stop", + "confirm_restart": "Are you sure you want to restart Home Assistant?", + "confirm_stop": "Are you sure you want to stop Home Assistant?" } } } @@ -1054,6 +1066,10 @@ "save": "Save", "unsaved_changes": "Unsaved changes", "saved": "Saved" + }, + "edit_lovelace": { + "header": "Title of your Lovelace UI", + "explanation": "This title is shown above all your views in Lovelace." } }, "menu": { @@ -1123,7 +1139,8 @@ "common": { "loading": "Loading", "cancel": "Cancel", - "save": "Save" + "save": "Save", + "successfully_saved": "Successfully saved" }, "duration": { "day": "{count} {count, plural,\n one {day}\n other {days}\n}", @@ -1199,7 +1216,9 @@ "fan": { "speed": "Speed", "oscillate": "Oscillate", - "direction": "Direction" + "direction": "Direction", + "forward": "Forward", + "reverse": "Reverse" }, "light": { "brightness": "Brightness", @@ -1244,6 +1263,14 @@ "target_temperature": "Target temperature", "operation": "Operation", "away_mode": "Away mode" + }, + "timer": { + "actions": { + "start": "start", + "pause": "pause", + "cancel": "cancel", + "finish": "finish" + } } }, "components": { @@ -1310,6 +1337,20 @@ "title": "System Options", "enable_new_entities_label": "Enable newly added entities.", "enable_new_entities_description": "If disabled, newly discovered entities will not be automatically added to Home Assistant." + }, + "zha_device_info": { + "manuf": "by {manufacturer}", + "no_area": "No Area", + "services": { + "reconfigure": "Reconfigure ZHA device (heal device). Use this if you are having issues with the device. If the device in question is a battery powered device please ensure it is awake and accepting commands when you use this service.", + "updateDeviceName": "Set a custom name for this device in the device registry.", + "remove": "Remove a device from the ZigBee network." + }, + "zha_device_card": { + "device_name_placeholder": "User given name", + "area_picker_label": "Area", + "update_name_button": "Update Name" + } } }, "auth_store": { diff --git a/translations/es.json b/translations/es.json index 5bf20235ba..3cca058d14 100644 --- a/translations/es.json +++ b/translations/es.json @@ -251,7 +251,8 @@ "snowy-rainy": "Nevado, lluvioso", "sunny": "Soleado", "windy": "Ventoso", - "windy-variant": "Ventoso" + "windy-variant": "Ventoso", + "exceptional": "Excepcional" }, "vacuum": { "cleaning": "Limpiando", @@ -327,6 +328,9 @@ }, "info": { "title": "Información" + }, + "logs": { + "title": "Registros" } } }, @@ -498,6 +502,9 @@ "event": "Evento:", "enter": "Entrar", "leave": "Salir" + }, + "device": { + "label": "Dispositivo" } }, "learn_more": "Aprende más sobre los desencadenantes" @@ -544,6 +551,9 @@ "label": "Zona", "entity": "Entidad con la ubicación", "zone": "Zona" + }, + "device": { + "label": "Dispositivo" } }, "learn_more": "Aprende más sobre las condiciones" @@ -787,7 +797,9 @@ "heading": "Gestión del servidor", "introduction": "Controla tu servidor de Home Assistant... desde Home Assistant.", "restart": "Reiniciar", - "stop": "Detener" + "stop": "Detener", + "confirm_restart": "¿Seguro que quieres reiniciar Home Assistant?", + "confirm_stop": "¿Seguro que quieres detener Home Assistant?" } } } @@ -1054,6 +1066,10 @@ "save": "Guardar", "unsaved_changes": "Cambios no guardados", "saved": "Guardado" + }, + "edit_lovelace": { + "header": "Título de tu interfaz de usuario de Lovelace", + "explanation": "Este título se muestra sobre todas tus vistas en Lovelace." } }, "menu": { @@ -1123,7 +1139,8 @@ "common": { "loading": "Cargando", "cancel": "Cancelar", - "save": "Guardar" + "save": "Guardar", + "successfully_saved": "Guardado correctamente" }, "duration": { "day": "{count} {count, plural,\none {día}\nother {días}\n}", @@ -1199,7 +1216,9 @@ "fan": { "speed": "Velocidad", "oscillate": "Oscilar", - "direction": "Dirección" + "direction": "Dirección", + "forward": "Adelante", + "reverse": "Inverso" }, "light": { "brightness": "Brillo", @@ -1244,6 +1263,14 @@ "target_temperature": "Temperatura deseada", "operation": "Operación", "away_mode": "Modo ausente" + }, + "timer": { + "actions": { + "start": "Iniciar", + "pause": "Pausar", + "cancel": "Cancelar", + "finish": "Terminar" + } } }, "components": { @@ -1310,6 +1337,20 @@ "title": "Opciones del sistema", "enable_new_entities_label": "Activar entidades recién añadidas.", "enable_new_entities_description": "Si está desactivado, las entidades recién descubiertas no se añadirán automáticamente a Home Assistant." + }, + "zha_device_info": { + "manuf": "por {manufacturer}", + "no_area": "Ningún área", + "services": { + "reconfigure": "Reconfigura el dispositivo ZHA (curar dispositivo). Usa esto si tienes problemas con el dispositivo. Si el dispositivo en cuestión es un dispositivo alimentado por batería, asegúrate de que está activo y aceptando comandos cuando uses este servicio.", + "updateDeviceName": "Establece un nombre personalizado para este dispositivo en el registro de dispositivos.", + "remove": "Eliminar un dispositivo de la red ZigBee." + }, + "zha_device_card": { + "device_name_placeholder": "Nombre dado por el usuario", + "area_picker_label": "Área", + "update_name_button": "Cambiar nombre" + } } }, "auth_store": { diff --git a/translations/et.json b/translations/et.json index 92c4cabe82..77270e5866 100644 --- a/translations/et.json +++ b/translations/et.json @@ -251,7 +251,8 @@ "snowy-rainy": "Lörtsine", "sunny": "Päikeseline", "windy": "Tuuline", - "windy-variant": "Tuuline" + "windy-variant": "Tuuline", + "exceptional": "Erakordne" }, "vacuum": { "cleaning": "Puhastamine", @@ -327,6 +328,9 @@ }, "info": { "title": "Info" + }, + "logs": { + "title": "Logid" } } }, @@ -345,8 +349,8 @@ "delete_button": "Kustuta" }, "config": { - "header": "Home Assistant-i seadistamine", - "introduction": "Siin saab seadistada oma komponente ja Home Assistant-i. Mitte kõike ei saa veel kasutajaliidese kaudu seadistada, kuid me töötame selle nimel.", + "header": "Home Assistant'i seadistamine", + "introduction": "Siin saab seadistada oma komponente ja Home Assistant'i. Mitte kõike ei saa veel kasutajaliidese kaudu seadistada, kuid me töötame selle nimel.", "core": { "caption": "Üldine", "description": "Home Assistant'i üldiste seadete muutmine", @@ -380,7 +384,7 @@ }, "reloading": { "heading": "Seadete taaslaadimine", - "introduction": "Mõned Home Assistant-i komponendid on taaslaetavad ilma taaskäivituseta. Taaslaadimise klõpsamisel tühistatakse nende praegused seaded ja laetakse uued.", + "introduction": "Mõned Home Assistant'i komponendid on taaslaetavad ilma taaskäivituseta. Taaslaadimise klõpsamisel tühistatakse nende praegused seaded ja laetakse uued.", "core": "Taaslae tuum", "group": "Taaslae grupid", "automation": "Taaslae automatiseeringud", @@ -388,7 +392,7 @@ }, "server_management": { "heading": "Serveri haldamine", - "introduction": "Kontrolli oma Home Assistant serverit... Home Assistant-ist.", + "introduction": "Kontrolli oma Home Assistant serverit... Home Assistant'ist.", "restart": "Taaskäivita", "stop": "Peata" } @@ -408,7 +412,7 @@ "description": "Loo ja redigeeri automatiseeringuid", "picker": { "header": "Automaatika redaktor", - "introduction": "Automaatika redaktor võimaldab teil luua ja muuta automatiseeringuid. Palun järgige allolevat linki, veendumaks, et oled Home Assistant-i õigesti seadistanud.", + "introduction": "Automaatika redaktor võimaldab teil luua ja muuta automatiseeringuid. Palun järgige allolevat linki, veendumaks, et oled Home Assistant'i õigesti seadistanud.", "pick_automation": "Vali muudetav automatiseering", "no_automations": "Me ei leidnud ühtegi muudetavat automatiseeringut", "add_automation": "Lisa automatiseering", @@ -498,6 +502,9 @@ "event": "Sündmus:", "enter": "Sisenemine", "leave": "Väljumine" + }, + "device": { + "label": "Seade" } }, "learn_more": "Lisateave päästikute kohta" @@ -544,6 +551,9 @@ "label": "Ala", "entity": "Asukohaga olem", "zone": "Ala" + }, + "device": { + "label": "Seade" } }, "learn_more": "Lisateave tingimuste kohta" @@ -776,7 +786,7 @@ }, "reloading": { "heading": "Konfiguratsiooni taaslaadimine", - "introduction": "Mõned Home Assistant-i komponendid on taaslaetavad ilma taaskäivituseta. Taaslaadimise klõpsamisel tühistatakse nende praegused seaded ja laetakse uued.", + "introduction": "Mõned Home Assistant'i komponendid on taaslaetavad ilma taaskäivituseta. Taaslaadimise klõpsamisel tühistatakse nende praegused seaded ja laetakse uued.", "core": "Taaslae tuum", "group": "Taaslae grupid", "automation": "Taaslae automatiseeringud", @@ -785,9 +795,11 @@ }, "server_management": { "heading": "Serveri haldamine", - "introduction": "Kontrolli oma Home Assistant serverit... Home Assistant-ist.", + "introduction": "Kontrolli oma Home Assistant serverit... Home Assistant'ist.", "restart": "Taaskäivita", - "stop": "Peata" + "stop": "Peata", + "confirm_restart": "Oled kindel, et soovid taaskäivitada Home Assistant'i?", + "confirm_stop": "Oled kindel, et soovid seisata Home Assistant'i?" } } } @@ -1054,6 +1066,10 @@ "save": "Salvesta", "unsaved_changes": "Salvestamata muudatused", "saved": "Salvestatud" + }, + "edit_lovelace": { + "header": "Lovelace kasutajaliidese pealkiri", + "explanation": "Seda pealkirja näidatakse kõikide Lovelace'i vaadete kohal." } }, "menu": { @@ -1123,7 +1139,8 @@ "common": { "loading": "Laadimine", "cancel": "Loobu", - "save": "Salvesta" + "save": "Salvesta", + "successfully_saved": "Edukalt salvestatud" }, "duration": { "day": "{count} {count, plural,\n one {päev}\n other {päeva}\n}", @@ -1199,7 +1216,9 @@ "fan": { "speed": "Kiirus", "oscillate": "Võnkumine", - "direction": "Suund" + "direction": "Suund", + "forward": "Edaspidi", + "reverse": "Tagurpidi" }, "light": { "brightness": "Heledus", @@ -1244,6 +1263,14 @@ "target_temperature": "Soovitud temperatuur", "operation": "Töörežiim", "away_mode": "Eemalolekurežiim" + }, + "timer": { + "actions": { + "start": "käivita", + "pause": "peata", + "cancel": "loobu", + "finish": "lõpeta" + } } }, "components": { @@ -1310,6 +1337,20 @@ "title": "Süsteemi valikud", "enable_new_entities_label": "Luba äsja lisatud olemid.", "enable_new_entities_description": "Kui see on keelatud, ei lisata äsja avastatud olemeid automaatselt Home Assistant'i." + }, + "zha_device_info": { + "manuf": "{manufacturer}", + "no_area": "Ala puudub", + "services": { + "reconfigure": "Taasseadista (tervenda) ZHA seade. Kasuta seda, kui seadmega on probleeme. Kui seade on akutoitega, siis veendu, et see oleks ärkvel ja oleks valmis käske vastu võtma.", + "updateDeviceName": "Anna sellele seadmele seadmete registris kohandatud nimi.", + "remove": "Eemalda seade ZigBee võrgust." + }, + "zha_device_card": { + "device_name_placeholder": "Kasutaja antud nimi", + "area_picker_label": "Ala", + "update_name_button": "Värskenda nime" + } } }, "auth_store": { diff --git a/translations/fa.json b/translations/fa.json index f13b59c74a..8f745d9547 100644 --- a/translations/fa.json +++ b/translations/fa.json @@ -892,7 +892,6 @@ "day": "\n{count} {count, plural,\n one {روز}\n other {روز ها}\n}\n", "week": "\n{count} {count, plural,\n one {هفته}\n other {هفته ها}\n}\n", "second": "ویرایشگر اتوماسیون اجازه می دهد تا شما را به ایجاد و ویرایش اتوماسیون بپردازید. لطفا پیوند زیر را بخوانید تا دستورالعمل ها را متوجه بشید تا مطمئن شوید که صفحه اصلی دستیار را به درستی پیکربندی کرده اید.", - "minute": "{count} {count, plural, one {<\/span> دقیقه {count, plural, one {<\/span> دقیقه } other {<\/span> دقیقه } }<\/span>", "hour": "{count} {تعداد, جمع,\nیکی {ساعت}\nدیگر {ساعت}\n}" }, "login-form": { diff --git a/translations/fr.json b/translations/fr.json index 46784d4f4b..8bc20626c0 100644 --- a/translations/fr.json +++ b/translations/fr.json @@ -251,7 +251,8 @@ "snowy-rainy": "Neige \/ Pluie", "sunny": "Soleil", "windy": "Vent", - "windy-variant": "Vent" + "windy-variant": "Vent", + "exceptional": "Exceptionnel" }, "vacuum": { "cleaning": "Nettoyage", @@ -327,6 +328,9 @@ }, "info": { "title": "Info" + }, + "logs": { + "title": "Journaux" } } }, @@ -498,6 +502,9 @@ "event": "Événement :", "enter": "Entre", "leave": "Quitte" + }, + "device": { + "label": "Équipements" } }, "learn_more": "En savoir plus sur les déclencheurs" @@ -544,6 +551,9 @@ "label": "Zone", "entity": "Entité avec localisation", "zone": "Zone" + }, + "device": { + "label": "Appareil" } }, "learn_more": "En savoir plus sur les conditions" @@ -787,7 +797,9 @@ "heading": "Gestion du serveur", "introduction": "Contrôlez votre serveur Home Assistant ... depuis Home Assistant.", "restart": "Redémarrer", - "stop": "Arrêter" + "stop": "Arrêter", + "confirm_restart": "Êtes-vous sûr de vouloir redémarrer Home Assistant?", + "confirm_stop": "Êtes-vous sûr de vouloir arrêter Home Assistant?" } } } @@ -1054,6 +1066,10 @@ "save": "Enregistrer", "unsaved_changes": "Modifications non enregistrées", "saved": "Enregistré" + }, + "edit_lovelace": { + "header": "Titre de votre UI Lovelace", + "explanation": "Ce titre est affiché au-dessus de toutes vos vues dans Lovelace." } }, "menu": { @@ -1123,7 +1139,8 @@ "common": { "loading": "Chargement", "cancel": "Annuler", - "save": "Enregistrer" + "save": "Enregistrer", + "successfully_saved": "Enregistré avec succès" }, "duration": { "day": "{count} {count, plural,\none {jour}\nother {jours}\n}", @@ -1199,7 +1216,9 @@ "fan": { "speed": "Vitesse", "oscillate": "Osciller", - "direction": "Direction" + "direction": "Direction", + "forward": "En avant", + "reverse": "Sens inverse" }, "light": { "brightness": "Luminosité", @@ -1244,6 +1263,14 @@ "target_temperature": "Température cible", "operation": "Opération", "away_mode": "Mode \"Absent\"" + }, + "timer": { + "actions": { + "start": "démarrer", + "pause": "pause", + "cancel": "annuler", + "finish": "terminer" + } } }, "components": { @@ -1310,6 +1337,20 @@ "title": "Options du système", "enable_new_entities_label": "Activer les entités nouvellement ajoutées.", "enable_new_entities_description": "Si désactivé, les entités nouvellement découvertes ne seront pas ajoutées automatiquement à Home Assistant." + }, + "zha_device_info": { + "manuf": "par {manufacturer}", + "no_area": "Pas de pièce", + "services": { + "reconfigure": "Reconfigurer le périphérique ZHA. Utilisez cette option si vous rencontrez des problèmes avec le périphérique. Si l'appareil en question est un appareil alimenté par batterie, assurez-vous qu'il soit allumé et qu'il accepte les commandes lorsque vous utilisez ce service.", + "updateDeviceName": "Définissez un nom personnalisé pour ce périphérique dans le registre de périphériques.", + "remove": "Supprimer un appareil du réseau ZigBee." + }, + "zha_device_card": { + "device_name_placeholder": "Nom personnalisé", + "area_picker_label": "Pièce", + "update_name_button": "Modifier le nom" + } } }, "auth_store": { diff --git a/translations/hu.json b/translations/hu.json index 15eaf8d4c1..7c7560ce12 100644 --- a/translations/hu.json +++ b/translations/hu.json @@ -251,7 +251,8 @@ "snowy-rainy": "Havas, esős", "sunny": "Napos", "windy": "Szeles", - "windy-variant": "Szeles" + "windy-variant": "Szeles", + "exceptional": "Kivételes" }, "vacuum": { "cleaning": "Takarítás", @@ -327,6 +328,9 @@ }, "info": { "title": "Infó" + }, + "logs": { + "title": "Naplók" } } }, @@ -498,6 +502,9 @@ "event": "Esemény:", "enter": "Érkezés", "leave": "Távozás" + }, + "device": { + "label": "Eszköz" } }, "learn_more": "Tudj meg többet a triggerekről" @@ -544,6 +551,9 @@ "label": "Zóna", "entity": "Entitás helyszínnel", "zone": "Zóna" + }, + "device": { + "label": "Eszköz" } }, "learn_more": "Tudj meg többet a feltételekről" @@ -783,7 +793,9 @@ "heading": "Szerver menedzsment", "introduction": "Home Assistant szerver vezérlése... a Home Assistant-ból.", "restart": "Újraindítás", - "stop": "Leállítás" + "stop": "Leállítás", + "confirm_restart": "Biztosan újra akarod indítani a Home Assistantet?", + "confirm_stop": "Biztosan le akarod állítani a Home Assistantet?" } } } @@ -1050,6 +1062,10 @@ "save": "Mentés", "unsaved_changes": "Nem mentett változások", "saved": "Mentett" + }, + "edit_lovelace": { + "header": "Lovelace UI címe", + "explanation": "Ez a cím jelenik meg minden nézet felett a Lovelace-ben." } }, "menu": { @@ -1119,7 +1135,8 @@ "common": { "loading": "Betöltés", "cancel": "Mégse", - "save": "Mentés" + "save": "Mentés", + "successfully_saved": "Sikeresen elmentve" }, "duration": { "day": "{count} {count, plural,\none {nap}\nother {nap}\n}", @@ -1195,7 +1212,9 @@ "fan": { "speed": "Sebesség", "oscillate": "Oszcilláció", - "direction": "Irány" + "direction": "Irány", + "forward": "Előre", + "reverse": "Fordított" }, "light": { "brightness": "Fényerő", @@ -1240,6 +1259,14 @@ "target_temperature": "Kívánt hőmérséklet", "operation": "Üzemmód", "away_mode": "Távoli mód" + }, + "timer": { + "actions": { + "start": "indítás", + "pause": "szünet", + "cancel": "elvet", + "finish": "befejezés" + } } }, "components": { @@ -1306,6 +1333,19 @@ "title": "Rendszerbeállítások", "enable_new_entities_label": "Újonnan hozzáadott entitások engedélyezése.", "enable_new_entities_description": "Ha le van tiltva, akkor az újonnan felfedezett entitások nem lesznek automatikusan hozzáadva a Home Assistant-hoz." + }, + "zha_device_info": { + "manuf": "{manufacurer} által", + "no_area": "Nincs Terület", + "services": { + "updateDeviceName": "Egyedi név beállítása ehhez az eszközhöz az eszköz nyilvántartásban.", + "remove": "Törölj egy eszközt a Zigbee hálózatból" + }, + "zha_device_card": { + "device_name_placeholder": "Felhasználó utóneve", + "area_picker_label": "Terület", + "update_name_button": "Név frissítése" + } } }, "auth_store": { diff --git a/translations/hy.json b/translations/hy.json new file mode 100644 index 0000000000..8ac77660fb --- /dev/null +++ b/translations/hy.json @@ -0,0 +1,1265 @@ +{ + "panel": { + "config": "Կարգավորում", + "states": "Գլխավոր", + "map": "Քարտեզ", + "logbook": "Մատյան", + "history": "Պատմություն", + "mailbox": "Փոստարկղ", + "dev-info": "Ինֆորմացիա", + "developer_tools": "Մշակողի գործիքներ", + "calendar": "Օրացույց", + "profile": "Անձնագիր" + }, + "state": { + "default": { + "off": "Անջատած", + "on": "Միացված", + "unknown": "հայտնի չէ", + "unavailable": "Անհասանելի" + }, + "climate": { + "cool": "Հովացում", + "auto": "Ավտոմատ", + "dry": "Չոր", + "manual": "Ձեռնարկ", + "heat_cool": "Ջեռուցում\/Հովացում" + }, + "cover": { + "open": "Բաց", + "opening": "Բացում", + "closed": "Փակված", + "closing": "Փակում", + "stopped": "Դադարեց" + }, + "device_tracker": { + "home": "Տուն", + "not_home": "Հեռու" + }, + "lock": { + "locked": "Կողպված է", + "unlocked": "Բաց է" + }, + "zwave": { + "default": { + "ready": "Պատրաստ է" + } + }, + "alarm_control_panel": { + "armed_custom_bypass": "Զինման անհատական կոդ" + }, + "binary_sensor": { + "presence": { + "off": "Հեռու", + "on": "Տուն" + }, + "battery": { + "off": "Նորմալ է", + "on": "Ցածր" + }, + "problem": { + "off": "OK", + "on": "Խնդիր" + }, + "connectivity": { + "off": "Անջատված է", + "on": "Կապված" + }, + "cold": { + "off": "Նորմալ", + "on": "Սառը" + }, + "door": { + "off": "Փակված է", + "on": "Բացել" + }, + "garage_door": { + "off": "Փակված է", + "on": "Բացել" + }, + "heat": { + "off": "Նորմալ", + "on": "Թեժ" + }, + "window": { + "off": "Փակված է", + "on": "Բացել" + }, + "lock": { + "off": "կողպված", + "on": "բացել է" + } + }, + "weather": { + "clear-night": "Մաքրել ստուգված իրերը", + "cloudy": "Ամպամած", + "fog": "Մառախուղ", + "hail": "Կարկուտ", + "lightning": "Կայծակ", + "lightning-rainy": "Կայծակ, անձրև", + "partlycloudy": "Մասամբ ամպամած", + "pouring": "Լցնել", + "rainy": "Անձրևոտ", + "snowy": "Ձյունոտ է", + "snowy-rainy": "Ձյունառատ, անձրևոտ", + "sunny": "Արևոտ", + "windy": "Կամ", + "windy-variant": "Քամոտ", + "exceptional": "Բացառիկ" + }, + "vacuum": { + "cleaning": "Մաքրում", + "docked": "Ծածկված", + "error": "Սխալ", + "idle": "Պարապ", + "off": "անջատված", + "on": "վրա", + "paused": "Դադար է", + "returning": "Վերադառնալով նավահանգիստ" + }, + "timer": { + "active": "ակտիվ", + "idle": "պարապ", + "paused": "դադար " + }, + "person": { + "home": "տուն", + "not_home": "Հեռու" + } + }, + "state_badge": { + "default": { + "unknown": "Անհայտ", + "unavailable": "Անհասանելի", + "error": "Սխալ", + "entity_not_found": "Անունը չի գտնվել" + }, + "alarm_control_panel": { + "armed": "Զինված", + "disarmed": "Զինաթափել", + "armed_home": "Զինված", + "armed_away": "Զինված", + "armed_night": "Զինված", + "pending": "Պենդ", + "arming": "Զինել", + "disarming": "Անջատել տագնապը", + "armed_custom_bypass": "Զինված" + }, + "device_tracker": { + "home": "Տուն", + "not_home": "Հեռու" + }, + "person": { + "home": "տուն", + "not_home": "հեռու" + } + }, + "ui": { + "panel": { + "shopping-list": { + "clear_completed": "Մաքրել ավարտվածները", + "add_item": "Ավելացնել իր", + "microphone_tip": "Հպեք խոսափողը վերևի աջ կողմում և ասեք. “Add candy to my shopping list”" + }, + "developer-tools": { + "tabs": { + "services": { + "title": "Սերվիսներ" + }, + "states": { + "title": "Իրավիճակներ" + }, + "events": { + "title": "Իրադարձություններ" + }, + "templates": { + "title": "Ձևանմուշ" + }, + "mqtt": { + "title": "MQTT" + }, + "info": { + "title": "Ինֆորմացիա" + }, + "logs": { + "title": "log-եր" + } + } + }, + "history": { + "showing_entries": "Ցուցադրվում է մուտքագրված գրառումները", + "period": "Ժամանակահատված" + }, + "logbook": { + "showing_entries": "Ցուցադրվում է մուտքագրված գրառումները", + "period": "Ժամանակահատված" + }, + "mailbox": { + "empty": "Դուք չունեք որեւէ հաղորդագրությունները", + "playback_title": "Հաղորդագրության նվագարկում", + "delete_prompt": "Ջնջել այս հաղորդագրությունը? ", + "delete_button": "Ջնջել" + }, + "config": { + "core": { + "section": { + "server_control": { + "reloading": { + "script": "Վերբեռնել սցենարներ" + }, + "server_management": { + "heading": "Սերվերի կառավարում", + "introduction": "Վերահսկեք ձեր Գլխավոր օգնական սերվերը… Տնային օգնականից:", + "restart": "Վերսկսել", + "stop": "Դադար" + } + }, + "core": { + "core_config": { + "edit_requires_storage": "Խմբագիրն անջատված է, քանի որ կարգավորումները կատարվել են .yaml- ում:", + "location_name": "Ձեր Home Assistant-ի տեղադրման անվանումը", + "latitude": "Լայնություն", + "longitude": "Երկայնություն", + "elevation": "Բարձրություն", + "elevation_meters": "մետր", + "time_zone": "Ժամային գոտի", + "unit_system": " համակարգի միավորը", + "unit_system_imperial": "Իմպերիալ", + "unit_system_metric": "Մետրկ", + "imperial_example": "Ֆարենհեյթ, ֆունտ", + "metric_example": "Ցելսիուս, կիլոգրամ", + "save_button": "Պահպանել" + } + } + } + }, + "customize": { + "caption": "Անհատականացում", + "description": "Կարգավորել ձեր անձի", + "picker": { + "header": "հարմարեցում", + "introduction": "Կսմթել յուրաքանչյուր անձի հատկանիշները: Անհապաղ գործողության մեջ կավելացվեն \/ խմբագրված փոփոխությունները: Հեռացված կարգավորումները ուժի մեջ են մտնում սուբյեկտի թարմացման դեպքում:" + } + }, + "automation": { + "caption": "Ավտոմատացում", + "description": "Ավտոմատացման ստեղծում և խմբագրում", + "picker": { + "header": "Ավտոմատացման խմբագիր", + "introduction": "Ավտոմատացման խմբագրիչը թույլ է տալիս ստեղծել և խմբագրել ավտոմատացումը: Խնդրում ենք հետևել հետևյալ հղմանը ՝ հրահանգները կարդալու համար, որպեսզի համոզվեք, որ ճիշտ կազմաձևել եք Home Assistant-ը", + "pick_automation": " խմբագրելու համար ընտրել ավտոմատացում", + "add_automation": "Ավելացնել ավտոմատացում", + "learn_more": "Իմանալ ավելին ավտոմատացման մասին" + }, + "editor": { + "introduction": " Տունը կենդանացնելու համար օգտագործեք ավտոմատացումը", + "default_name": "Նոր ավտոմատացում", + "save": "Պահպանել", + "unsaved_confirm": "Դուք ունեք չպահպանված փոփոխություններ:Վստա՞հ եք, որ ուզում եք հեռանալ:", + "alias": "Անուն", + "triggers": { + "header": "Թողարկիչ", + "introduction": "Ձգանները այն են, ինչն սկսում է ավտոմատացման կանոնների մշակումը: Նույն կանոնի համար հնարավոր է նշել մի քանի ձգան: Ձգանման մեկնարկից հետո Տնային օգնականը կվավերացնի պայմանները, եթե այդպիսիք կան, և կանչեն գործողություն:", + "add": "Ավելացնել ձգան", + "duplicate": "Կրկնօրինակել", + "delete": "Ջնջել", + "delete_confirm": "Համոզվա՞ծ եք, որ ուզում եք ջնջել:", + "unsupported_platform": "Չաջակցված հարթակ. {platform}", + "type_select": "Տրիգերի տեսակ", + "type": { + "event": { + "label": "Իրադարձություն", + "event_type": "Իրադարձության տեսակը", + "event_data": "Իրադարձության տվյալները" + }, + "state": { + "label": "Վիճակ", + "from": "Ինչից", + "to": "Դեպի", + "for": "Համար" + }, + "homeassistant": { + "label": "Home Assistant", + "event": "Իրադարձություն։", + "start": "Սկսել", + "shutdown": "Անջատել" + }, + "mqtt": { + "label": "MQTT", + "topic": "Թեման", + "payload": "փոխանցվող տվյալ(ոչ պարտադիր)" + }, + "numeric_state": { + "label": "Թվային վիճակ", + "above": "Վերևում", + "below": "Ստորև", + "value_template": "Արժեքի ձևանմուշ" + }, + "sun": { + "label": "Արև", + "sunrise": "Արևածագ", + "sunset": "Մայրամուտ", + "offset": "Օֆսեթ (պարտադիր)" + }, + "template": { + "label": "Ձևանմուշ", + "value_template": "Արժեքի ձևանմուշ" + }, + "time": { + "label": "Ժամանակ", + "at": "Ատ" + }, + "zone": { + "label": "Գոտի", + "entity": "Կազմակերպության գտնվելու վայրը", + "enter": "Մուտքագրել", + "leave": "Թողնել" + }, + "webhook": { + "label": "համացանցային կայք", + "webhook_id": "համացանցային կայքի ID" + }, + "time_pattern": { + "label": "Ժամային գոտի", + "hours": "Ժամեր", + "minutes": "Րոպեներ", + "seconds": "Վայրկյան" + }, + "geo_location": { + "label": "Երկրաբաշխում", + "source": "Աղբյուր", + "zone": "Գոտի", + "event": "Իրադարձություն.", + "enter": "Մուտքագրել", + "leave": "Թողնել" + }, + "device": { + "label": "Սարք" + } + }, + "learn_more": "Իմացեք ավելին ՝ հարուցիչների մասին" + }, + "conditions": { + "header": "Պայմանները", + "introduction": "Պայմանները ավտոմատացման կանոնների կամընտիր մասն են և կարող են օգտագործվել կանխելու համար գործողությունը կատարելու համար: Պայմանները շատ նման են հարուցիչների, բայց շատ տարբեր են: Ձգան կանդրադառնա համակարգում տեղի ունեցող իրադարձություններին, մինչդեռ մի պայման միայն նայում է, թե ինչպես է համակարգը հիմա նայում: Ձգան կարող է նկատել, որ անջատիչը միացված է: Մի պայման կարող է տեսնել միայն այն դեպքում, արդյոք անջատիչը ներկայում միացված է կամ անջատված է:", + "add": "Ավելացնել պայման", + "unsupported_condition": "Չաջակցված պայման. {condition}", + "type_select": "Պայմանի տեսակը", + "type": { + "numeric_state": { + "value_template": "Արժեքի պարտադիր ձևանմուշ" + }, + "sun": { + "label": "Արև", + "before": "Նախքան:", + "after": "Հետո:", + "before_offset": "Փոխարկելուց առաջ (ըստ ցանկության)", + "after_offset": "Հետո օֆֆսեթ(ոչ պարտադիր)", + "sunrise": "Արևածագ", + "sunset": "Մայրամուտ" + }, + "template": { + "label": "Ձևանմուշ", + "value_template": "Արժեքի ձևանմուշ" + }, + "time": { + "label": "ժամանակը", + "after": "Հետո", + "before": "Նախքան" + }, + "zone": { + "label": "Գոտի", + "entity": "կազմակերպության գտնվելու վայրը", + "zone": "Գոտի" + }, + "device": { + "label": "Սարք" + } + }, + "learn_more": "Իմանալ ավելին պայմանների մասին" + }, + "actions": { + "header": "Գործողություններ", + "introduction": "Գործողությունները Տնային օգնականի տանը պետք է անել, երբ ավտոմատացումը գործարկվի.", + "type": { + "delay": { + "label": "Հետաձգում", + "delay": "Հետաձգում" + }, + "wait_template": { + "label": "Սպասեք", + "wait_template": "Սպասեք ձևանմուշին", + "timeout": "Վերջնաժամկետ" + }, + "condition": { + "label": "Վիճակը" + }, + "event": { + "label": "Հրդեհային իրադարձություն", + "event": "Իրադարձություն", + "service_data": "Ծառայության տվյալներ" + } + }, + "learn_more": "Իմանալ ավելին գործողությունների մասին" + }, + "load_error_not_editable": "Միայն հնարավոր է փոփոխել automations.yaml ֆայլում գրված ավտոմատացումներումները", + "load_error_unknown": "Ավտոմատացման բեռնման սխալ ({err_no}):" + } + }, + "script": { + "caption": "Սցենար", + "description": "Սցենարների ստեղծում և խմբագրում" + }, + "zwave": { + "caption": "Z-Wave ցանց", + "description": "Կառավարել Z-Wave ցանցը", + "network_management": { + "header": "Z-Wave ցանցի կառավարում", + "introduction": "Գործարկել հրամաններ, որոնք ազդում են Z-Wave ցանցի վրա: Դուք չեք ստանա հետադարձ կապ այն մասին, թե արդյոք հրամանների մեծ մասը հաջողվել է, բայց կարող եք ստուգել OZW տեղեկամատյանները ` պարզելու համար" + }, + "network_status": { + "network_stopped": "Z-wave ցանցը դադարեցված է", + "network_starting": "Մեկնարկվում է Z-Wave ցանցը ...", + "network_starting_note": "Սա կարող է որոշ ժամանակ տևել `կախված ձեր ցանցի չափից:", + "network_started": "Մեկնարկեց Z-Wave ցանցը", + "network_started_note_some_queried": "Արթնացնող հանգույցները հարցվել են: Քնած հանգույցները կզգան, երբ նրանք արթնանան:", + "network_started_note_all_queried": "Բոլոր հանգույցներին հարցում ուղարկված են:" + }, + "services": { + "start_network": "Միացնել ցանցը", + "stop_network": "Անջատել ցանցը", + "heal_network": "Բուժել ցանցը", + "test_network": "Փորձարկել ցանը", + "soft_reset": "Թեթև վերագործարկել", + "save_config": "Պահպանել կարգավուրումը", + "add_node_secure": "Ավելացնել անվտանգ հանգույց", + "add_node": "Ավելացնել հանգույց", + "remove_node": "Ջնգել հանգույցը", + "cancel_command": "Չեղարկել հրամանը" + }, + "common": { + "value": "Արժեք", + "instance": "Օրինակ", + "index": "Ինդեքս", + "unknown": "հայտնի չէ", + "wakeup_interval": "Արթնանալու ինտերվալ" + }, + "values": { + "header": "Հանգույցի արժեքները" + }, + "node_config": { + "header": "Node-ի կարգավորման տարբերակներ", + "seconds": "վայրկյաններ", + "set_wakeup": "Սահմանել արթնանալու ինտերվալ", + "config_parameter": " կարգավորման պարամետր", + "config_value": "Կարգավորման արժեք", + "true": "True", + "false": "False", + "set_config_parameter": "Սահմանեք կարգավորման պարամետր" + } + }, + "users": { + "caption": "Օգտագործողներ", + "description": "Կառավարեք օգտվողներին", + "picker": { + "title": "Օգտագործողներ" + }, + "editor": { + "rename_user": "Անվանափոխել օգտագործողին", + "change_password": "Փոխել գաղտնաբառը", + "activate_user": "Ակտիվացրեք օգտագործողին", + "deactivate_user": "Ապաակտիվացնել օգտագործողին", + "delete_user": "հեռացնել օգտագործողին", + "caption": "Տեսնել օգտագործողին" + }, + "add_user": { + "caption": "Ավելացնել օգտվող", + "name": "Անուն", + "username": "Օգտագործողի անունը", + "password": "Գաղտնաբառ", + "create": "Ստեղծել" + } + }, + "cloud": { + "caption": "Տնային օգնական Cloud", + "description_login": "Մուտք գործեք որպես {email}", + "description_not_login": "Մուտք չի գործել", + "description_features": "Կառավարեք տնից հեռու, ինտեգրվեք Alexa- ի և Google Assistant- ի հետ:" + }, + "integrations": { + "caption": "Ինտեգրում", + "description": "Կառավարեք սարքերը և ծառայությունները", + "discovered": "Բացահայտել", + "configured": "Կարգավորված", + "new": "Ստեղծվել է նոր ինտեգրումը", + "configure": "Կարգավորել", + "none": " Ոչինչ տրամադրված չէ", + "config_entry": { + "no_devices": "Այս ինտեգրումը չունի սարքեր:", + "no_device": " անձինք` առանձ սարքերի", + "delete_confirm": "Համոզվա՞ծ եք, որ ցանկանում եք ջնջել այս ինտեգրումը", + "restart_confirm": "Վերագործարկել Home Assistant-ը որպեսզի վերջացնել ինտեգրման հեռացման պրոցեսը", + "manuf": "{manufacturer}ի կողմից", + "via": "Միացված է ի օգնությամբ", + "firmware": "Firmware: {version}", + "device_unavailable": "սարքն անհասանելի է", + "entity_unavailable": "անձը անհասանելի է", + "no_area": "Ոչ մի տարածք", + "hub": "Միացված է ի օգնությամբ" + }, + "config_flow": { + "external_step": { + "description": "Այս քայլը պահանջում է, որ դուք ավարտին հասցնեք վեբ կայքը:", + "open_site": "Բացեք կայք" + } + } + }, + "zha": { + "caption": "ZHA- ն", + "description": "Zigbee տան ավտոմատացման ցանցի կառավարում", + "services": { + "reconfigure": "Կարգավորել ZHA սարքը: Եթե տվյալ սարքը մարտկոցով աշխատող սարք է, ապա այս ծառայությունն օգտագործելիս համոզվեք, որ արթուն է և հրամաններ է ընդունում:", + "updateDeviceName": "Սահմանեք այս սարքի համար հատուկ անուն սարքի գրանցամատյանում:", + "remove": "Հեռացնել մի սարք ZigBee ցանցից:" + }, + "device_card": { + "device_name_placeholder": "Օգտագործողի կողմից տրված անուն", + "area_picker_label": "Տարածք", + "update_name_button": "Թարմացնել անունը" + }, + "add_device_page": { + "header": "Ավտոմատացում, ավելացնելով", + "spinner": "ZHA Zigbee սարքերի որոնում ...", + "discovery_text": "Հայտնաբերված սարքերը կհայտնվեն այստեղ: Հետևեք ձեր սարքի (ների) ցուցումներին և սարքը (ներ) ը տեղադրեք զուգահեռ ռեժիմով:" + } + }, + "area_registry": { + "caption": "Տարածքի գրանցամատյան", + "description": "Ձեր բոլոր տարածքների ակնարկ", + "picker": { + "header": "Տարածքի գրանցամատյան", + "introduction": "Տարածքները օգտագործվում են կազմակերպելու համար, թե որտեղ են սարքերը: Այս տեղեկատվությունը կօգտագործվի ամբողջ Տնային օգնականի համար `օգնելու ձեզ կազմակերպել ձեր ինտերֆեյսը, թույլտվությունները և այլ համակարգերի հետ ինտեգրումը:", + "integrations_page": "Ինտեգրման էջ", + "no_areas": "դեռ տարածքներ չկան", + "create_area": "Ստեղծել տարածք" + }, + "no_areas": " տարածքներ չկան", + "create_area": "Տարածքի ստեղծում", + "editor": { + "default_name": "Նոր տարածք", + "delete": "Հեռացնել", + "update": "Թարմացրեք", + "create": "ՍՏԵՂԾԵԼ" + } + }, + "entity_registry": { + "caption": "Անշարժ գույքի ռեգիստր", + "description": "Բոլոր հայտնի սուբյեկտների ակնարկ:", + "picker": { + "header": " ռեգիստրի սուբյեկտ", + "unavailable": "(անհասանելի)", + "introduction": "Տնային օգնականը պահում է իր տեսած յուրաքանչյուր սուբյեկտի գրանցամատյան, որը կարող է եզակիորեն նույնականացվել: Այս սուբյեկտներից յուրաքանչյուրը կունենա անձի նույնականացում, որը վերապահված կլինի հենց այս սուբյեկտին:", + "introduction2": "Օգտագործեք կազմակերպության ռեգիստրը `անունը շրջանցելու համար, փոխելու անձի նույնականացումը կամ մուտքը Տնային օգնականից հանելու համար: Նշում, կազմակերպության գրանցամատյան մուտքագրումը հանելը չի հեռացնում կազմակերպությանը: Դա անելու համար հետևեք ստորև նշված հղմանը և հեռացրեք այն ինտեգրման էջից:", + "integrations_page": "Ինտեգրումների էջ" + }, + "editor": { + "unavailable": "Այս անձը ներկայումս հասանելի չէ", + "default_name": "Նոր տարածք", + "delete": "Հեռացնել", + "update": "Թարմացնել", + "enabled_label": "Միացնել օբյեկտը", + "enabled_cause": "Անջատված է {cause}-ի կողմից", + "enabled_description": "Անջատված օբյեկտները չեն ավելացվի Home Assistant-ում" + } + }, + "person": { + "caption": "Անձինք", + "description": "Կառավարել այն անձանց, որոնք հետապնդում են Home Assistant-ին:", + "detail": { + "name": "Անուն", + "device_tracker_intro": "Ընտրեք սարքեր, որոնք պատկանում են այդ մարդուն.", + "device_tracker_picked": "Հետևել սարք", + "device_tracker_pick": "Ընտրել սարքը հետևելու համար" + } + }, + "server_control": { + "caption": "Սերվերի վերահսկում", + "description": "Վերագործարկեք և դադարեցրեք Home Assistant սերվերը", + "section": { + "validation": { + "heading": "Կարգավորման վավերացում", + "introduction": "Եթե վերջերս որոշ փոփոխություններ եք կատարել ձեր կարգավորման մեջ, համոզվեք, որ այդ ամենը վավեր է։", + "check_config": "Ստուգել կարգավուրումը", + "valid": "Կարգավուրումը վավեր է", + "invalid": "Կարգավուրումը անվավեր է" + }, + "reloading": { + "heading": "Կարգավորման վերաբեռնում", + "introduction": "Home Assistant-ի որոշ մասեր կարող են վերբեռնվել առանց վերագործարկման (restart): Սեղմելով վերաբեռնել կոճակը ընթացիկ կարգավորումը կփոխարինվի նորով։", + "core": "Վերաբեռնել core-ը", + "group": "Վերաբեռնել խմբերը", + "automation": "Վերաբեռնել ավտոմատացումները", + "script": "Վերբեռնել սցենարներ", + "scene": "Վերբեռնել տեսարանները" + }, + "server_management": { + "heading": "Սերվերի կառավարում", + "introduction": "Վերահսկեք ձեր Home Assistant սերվերը… Home Assistant-ից:", + "restart": "Վերսկսել", + "stop": "Դադարեցնել", + "confirm_restart": "Համոզվա՞ծ եք, որ ցանկանում եք վերագործարկել Home Assistant-ը?", + "confirm_stop": "Համոզվա՞ծ եք, որ ցանկանում եք դադարեցնել Home Assistant-ը?" + } + } + } + }, + "profile": { + "push_notifications": { + "header": "Հրել ծանուցումները", + "description": "Ուղարկեք ծանուցումներ այս սարքին:", + "error_load_platform": "Ստեղծել ծանուցման:է HTML5.", + "error_use_https": "Պահանջում է SSL- ին միացված լուսադիտակի համար:", + "push_notifications": "Հրել ծանուցումները", + "link_promo": "Իմանալ ավելին" + }, + "language": { + "header": "Լեզու", + "link_promo": "Օգնեք թարգմանել", + "dropdown_label": "Լեզու" + }, + "themes": { + "header": "Թեմա", + "error_no_theme": "Չկան թեմաներ", + "link_promo": "Իմացեք թեմաների մասին", + "dropdown_label": "Թեմա" + }, + "refresh_tokens": { + "header": "Թարմացման token", + "token_title": "Թարմացման token {clientId}-ի համար", + "created_at": "Ստեղծվել է {ամսաթիվ}", + "confirm_delete": "Համոզվա՞ծ եք, որ ցանկանում եք ջնջել թարմացման նշանը {name} :", + "delete_failed": "Չհաջողվեց ջնջել թարմացման նշանը:", + "last_used": "Վերջին անգամ օգտագործվել է {date} ից {location}", + "not_used": "Երբեք չի օգտագործվել", + "current_token_tooltip": "Հնարավոր չէ ջնջել ընթացիկ թարմացման նշանը" + }, + "long_lived_access_tokens": { + "header": "Երկարատև մուտքի նշաններ", + "description": "Ստեղծեք երկարատև մուտքի նշաններ, որպեսզի ձեր սցենարները փոխազդեն ձեր Տնային օգնականի օրինակով: Յուրաքանչյուր նշան ուժի մեջ կլինի ստեղծման պահից 10 տարի: Հետևաբար երկարատև մուտքի նշաններն այժմ ակտիվ են:", + "learn_auth_requests": "Իմացեք, թե ինչպես անել վավերացման հարցում.", + "created_at": "Ստեղծվել է {date}", + "confirm_delete": "Համոզվա՞ծ եք, որ ցանկանում եք ջնջել մուտքի նշանը {name} :", + "delete_failed": "Չհաջողվեց ջնջել մուտքի նշանը:", + "create": "Ստեղծել Մարկեր", + "create_failed": "Չի հաջողվեց ստեղծել մուտքի թույլտվություն:", + "prompt_name": "Անուն?", + "prompt_copy_token": "Պատճենեք ձեր մուտքի նշանը: Այն կրկին չի ցուցադրվի:", + "empty_state": " չունեք մուտքի նշաններ:", + "last_used": "Վերջին անգամ օգտագործվել է {date} ից {location}", + "not_used": "Երբեք չի օգտագործվել" + }, + "current_user": "Դուք մուտք եք գործել որպես {fullName} :", + "is_owner": "Դուք սեփականատեր եք:", + "change_password": { + "header": "Փոխել գաղտնաբառը", + "current_password": "Ընթացիկ գաղտնաբառ", + "new_password": "Նոր գաղտնաբառը", + "confirm_new_password": "Հաստատեք նոր գաղտնաբառ", + "error_required": "Պահանջվում է", + "submit": "Ներկայացնել" + }, + "mfa": { + "header": "Բազմաֆունկցիոնալ նույնականացման մոդուլներ", + "disable": "Անջատել", + "enable": "Միացնել", + "confirm_disable": "Համոզվա՞ծ եք, որ ուզում եք անջատել {name} :" + }, + "mfa_setup": { + "title_aborted": "Վիժեցված", + "title_success": "Հաջողություն:", + "step_done": "Կարգավորումը կատարվել է {step}", + "close": "փակել", + "submit": "Ներկայացնել" + }, + "logout": "Դուրս գալ", + "force_narrow": { + "header": "Միշտ թաքցրեք կողային գոտին(sidebar)", + "description": "Սա թաքցնում է sidebar*ը ,ինչպես բջջային հեռախոսներում" + } + }, + "page-authorize": { + "initializing": "Նախաձեռնող", + "authorizing_client": "Դուք պատրաստվում եք {clientId} մուտք գործել ձեր տան օգնականի օրինակ:", + "logging_in_with": "Մուտք {authProviderName} ** {authProviderName} **-ի հետ:", + "pick_auth_provider": "Կամ մուտք գործել", + "abort_intro": "Մուտք ընդհատվել", + "form": { + "working": "Խնդրում ենք սպասել", + "unknown_error": "Ինչ որ բան այնպես չգնաց", + "providers": { + "homeassistant": { + "step": { + "init": { + "data": { + "username": "Օգտագործողի անունը", + "password": "Գաղտնաբառ" + } + }, + "mfa": { + "data": { + "code": "Երկու գործոնով նույնականացման կոդ" + }, + "description": "Բացեք ** {mfa_module_name} ** սարքը , դիտեք ձեր ծածկագիրը և ինքնությունը, հաստատեք այն." + } + }, + "error": { + "invalid_auth": "Մուտքանունը կամ գաղտնաբառը սխալ է", + "invalid_code": "Անվավեր նույնականացման կոդ" + }, + "abort": { + "login_expired": "Նիստն ավարտվեց, խնդրում ենք կրկին մուտք գործեք:" + } + }, + "legacy_api_password": { + "step": { + "init": { + "data": { + "password": "API գաղտնաբառ" + }, + "description": "Խնդրում ենք մուտքագրել API գաղտնաբառը ձեր http կարգաձևում" + }, + "mfa": { + "data": { + "code": "Երկու գործոնով նույնականացման կոդ" + }, + "description": "Բացել **{mfa_module_name}** ցարքը, երկու գործողությամբ հաստատել նույնականացման կոդը և ինքնությունը" + } + }, + "error": { + "invalid_auth": " API գաղտնաբառը անվավեր է", + "invalid_code": "Սխալ նույնականացման կոդ" + }, + "abort": { + "no_api_password_set": "Դուք API գաղտնաբառով կարգավորումներ չունեք\n՛", + "login_expired": "Նիստն ավարտվեց,խնդրում ենք նորից մուտք գործել" + } + }, + "trusted_networks": { + "step": { + "init": { + "data": { + "user": "Օգտագործող" + }, + "description": "Խնդրում ենք ընտրել օգտագործողին, որպես որի ցանկանում եք մուտք գործել" + } + }, + "abort": { + "not_whitelisted": "Ձեր համակարգիչը սպիտակեցված չէ:" + } + }, + "command_line": { + "step": { + "init": { + "data": { + "username": "Օգտագործողի անունը", + "password": "գաղտնաբառ" + } + }, + "mfa": { + "data": { + "code": "Երկու գործողությամբ նույնականացման կոդ" + }, + "description": "Ձեր սարքի վրա բացեք{mfa_module_name}** ,․երկու գործողությամբ հաստատեք ձեր կոդը և ինքնությունը" + } + }, + "error": { + "invalid_auth": "Սխալ մուտքանուն կամ գաղտնաբառ", + "invalid_code": "Նույնականացման կոդը սխալ է" + }, + "abort": { + "login_expired": "նիստն ավարտվեց,խնդրում ենք կրկին մուտք գործեք" + } + } + } + } + }, + "page-onboarding": { + "intro": "Պատրա՞ստ եք արթնացնել ձեր տունը, վերականգնել ձեր գաղտնիությունը և միանալ մրջազգային հանրությանը?", + "user": { + "intro": "Սկսենք ՝ ստեղծելով օգտվողի հաշիվ:", + "required_field": "Պահանջվում է", + "data": { + "name": "Անուն", + "username": "Օգտագործողի անունը", + "password": "Գաղտնաբառ", + "password_confirm": "Հաստատել գաղտնաբառը" + }, + "create_account": "Գրանցվել", + "error": { + "required_fields": "Լրացրեք բոլոր պահանջվող դաշտերը", + "password_not_match": "Գաղտնաբառերը չեն համընկնում" + } + }, + "integration": { + "intro": "Սարքերը և սերվիսները ներկայացված են Home Assistant-ում որպես ինտեգրացիաներ: Կարող եք դրանք հիմա կարգավորել կամ դա անել ավելի ուշ ՝ կարգավորման էկրանից:", + "more_integrations": "Ավելին", + "finish": "Ավարտել" + }, + "core-config": { + "intro": "Բարեւ {անուն}, բարի գալուստ տնային օգնականի. Ինչպես եք ցանկանում անվանել ձեր տունը?", + "intro_location": "Մենք ցանկանում ենք իմանալ, թե որտեղ եք ապրում. Այս տեղեկատվությունը կօգնի կարգավորել արեւի հիման վրա ավտոմատացումը։. Այս տվյալները երբեք չեն տարածվում ձեր ցանցից դուրս.", + "intro_location_detect": "Մենք կարող ենք օգնել ձեզ լրացնել այս տեղեկատվությունը` արտաքին սերվիսով մեկ անգամյա հարցում ուղարկելով:", + "location_name_default": "Տուն", + "button_detect": "Հայտնաբերել", + "finish": "Հաջորդը" + } + }, + "lovelace": { + "cards": { + "shopping-list": { + "checked_items": "Ստուգված իրեր", + "clear_items": "Մաքրել ստուգված իրերը", + "add_item": "Ավելացնել իրը" + }, + "empty_state": { + "title": "Բարի գալուստ տուն", + "no_devices": "Այս էջը թույլ է տալիս վերահսկել ձեր սարքերը։ սակայն, կարծես, դեռ տեղադրված չեք: Սկսեք ինտեգրման էջը `սկսելու համար:", + "go_to_integrations_page": "Անցնել ինտեգրման էջ" + }, + "picture-elements": { + "hold": "Պահել", + "tap": "սեղմեք", + "navigate_to": "Գնալ դեպի {location}", + "toggle": "Փոխարկել {name}", + "call_service": "Զանգի ծառայություն {name}", + "more_info": "Ցույց տալ-ինֆո\": {անուն}" + } + }, + "editor": { + "edit_card": { + "header": "Քարտի կարգավորում", + "save": "Պահպանել", + "toggle_editor": "Միացրեք խմբագրելը", + "pick_card": "Ընտրեք այն քարտը, որը ցանկանում եք ավելացնել:", + "add": "Ավելացնել քարտ", + "edit": "Խմբագրել", + "delete": "Հեռացնել", + "move": "Տեղափոխել" + }, + "migrate": { + "header": "Կարգավուրումը անհամատեղելի է", + "para_no_id": "Այս տարրը ID չունի: Խնդրում ենք ID- ին ավելացնել 'ui-lovelace.yaml' մեջ:", + "para_migrate": "Տնային օգնականը կարող է ինքնուրույն ավելացնել ID- ի բոլոր քարտերը և դիտումները `սեղմելով« Միգրացիայի կազմաձևման »կոճակը:", + "migrate": "Տեղափոխել կարգավորումը" + }, + "header": "Խմբագրել UI", + "edit_view": { + "header": "Դիտեք կարգավուրումը", + "add": "Ավելացնել տեսք", + "edit": "Խմբագրել տեսքը", + "delete": "Հեռացնել դիտումը" + }, + "save_config": { + "header": "Վերցրեք ձեր Lovelace UI- ն", + "para": " Տնային օգնականը կպահպանի ձեր ինտերֆեյսը ՝ այն թարմացնելով, երբ հասանելի լինեն նոր սուբյեկտները կամ Lovelace բաղադրիչները: Եթե դուք ստանձնեք վերահսկողություն, մենք այլևս ինքնաբերաբար փոփոխություններ չենք անի ձեզ համար:", + "para_sure": "Համոզվա՞ծ եք, որ ցանկանում եք ստանձնել ձեր UI-ի թարմացման պարտավորությունը:", + "cancel": "Երբեք դեմ չեք", + "save": "Վերահսկել" + }, + "menu": { + "raw_editor": "Հում կազմաձևման խմբագիր" + }, + "raw_editor": { + "header": "Խմբագրել կարգավորումը", + "save": "Պահպանել", + "unsaved_changes": "Չփրկված փոփոխություններ", + "saved": "Պահպանված" + }, + "edit_lovelace": { + "header": "Ձեր Lovelace UI- ի վերնագիր", + "explanation": "Այս վերնագիրը ցույց է տրված Lovelace-ի ձեր բոլոր view-երում" + } + }, + "menu": { + "configure_ui": "Կարգավորել UI- ն", + "unused_entities": "Չօգտագործված անձինք", + "help": "Օգնություն", + "refresh": "Թարմացրեք" + }, + "warning": { + "entity_not_found": "Անունը հասանելի չէ. {entity}", + "entity_non_numeric": "Կազմակերպությունը ոչ թվային է. {entity} Անձ {entity}" + }, + "changed_toast": { + "message": "Lovelace կարգավորումը թարմացվել է, կցանկանայի՞ք թարմացնել UI-ը:", + "refresh": "Թարմացնել" + }, + "reload_lovelace": "Վերաբեռնել Lovelace-ն" + }, + "page-demo": { + "cards": { + "demo": { + "demo_by": "{name}-ի կողմից", + "next_demo": "Հաջորդ ցուցադրումը", + "introduction": "Բարի գալուստ տուն! Դուք տեսնում եք Home Assistant-ի ցուցադրումը, որտեղ մենք ցուցադրում ենք մեր community-ի կողմից ստեղծված լավագույն UI- ները:", + "learn_more": "Իմացեք ավելին Home Assistant-ի մասին" + } + }, + "config": { + "arsaboo": { + "names": { + "upstairs": "Վերևում", + "family_room": "Ընտանեկան սենյակ", + "kitchen": "Խոհանոց", + "patio": "Բակում", + "hallway": "Միջանցք", + "master_bedroom": "Գլխավոր ննջասենյակ", + "left": "Ձախ", + "right": "Ճիշտ", + "mirror": "Հայելի" + }, + "labels": { + "lights": "Լույսեր", + "information": "Տեղեկատվություն", + "morning_commute": "Առավոտյան ուղևորություն", + "commute_home": "Հասնել տուն", + "entertainment": "Ժամանց", + "activity": "Գործունեություն", + "hdmi_input": "HDMI մուտք", + "hdmi_switcher": "HDMI փոխարկիչ", + "volume": "Ծավալ", + "total_tv_time": "Հեռուստատեսության ընդհանուր ժամանակը", + "turn_tv_off": "Անջատել հեռուստացույցը", + "air": "Օդ" + }, + "unit": { + "watching": "դիտում", + "minutes_abbr": "րոպե" + } + } + } + } + }, + "sidebar": { + "log_out": "Դուրս գալ", + "external_app_configuration": "Ծրագրի կարգավորում" + }, + "common": { + "loading": "Բեռնում", + "cancel": "Չեղարկել", + "save": "Պահպանել", + "successfully_saved": "Պահմանվեց հաջողությամբ" + }, + "duration": { + "day": "{count} {count, plural,\n one {day}\n other {days}\n}", + "week": "{count} {count, plural,\n one {week}\n other {weeks}\n}", + "second": "{count} {count, plural,\n one {second}\n other {seconds}\n}", + "minute": "{count} {count, plural,\n one {minute}\n other {minutes}\n}", + "hour": "{count} {count, plural,\n one {ժամ}\n other {ժամ}\n}" + }, + "login-form": { + "password": "Գաղտնաբառ", + "remember": "Հիշել", + "log_in": "Մուտք գործեք" + }, + "card": { + "camera": { + "not_available": "Պատկերը հասանելի չէ" + }, + "persistent_notification": { + "dismiss": "Հեռացնել" + }, + "scene": { + "activate": "Ակտիվացնել" + }, + "script": { + "execute": "Կատարել" + }, + "weather": { + "attributes": { + "air_pressure": "Օդի ճնշում", + "humidity": "Խոնավություն", + "temperature": "Ջերմաստիճանը", + "visibility": "Տեսանելիություն", + "wind_speed": "Քամու արագություն" + }, + "cardinal_direction": { + "e": "Ե", + "ene": "ENE", + "ese": "ESE", + "n": "N", + "ne": "NE", + "nne": "NNE", + "nw": "NW", + "nnw": "NNW", + "s": "S", + "se": "SE", + "sse": "SSE", + "ssw": "SSW", + "sw": "SW", + "w": "W", + "wnw": "WNW", + "wsw": "WSW" + }, + "forecast": "Կանխատեսում" + }, + "alarm_control_panel": { + "code": "Կոդ", + "clear_code": "Մաքրել", + "disarm": "Զինաթափել", + "arm_home": "Arm տուն", + "arm_away": "Ձեռք բերեք", + "arm_night": "Զինել - Գիշերային ռեժիմ", + "armed_custom_bypass": "Պատվերով շրջանցիկ", + "arm_custom_bypass": "Պատվերով շրջանցիկ" + }, + "automation": { + "last_triggered": "Վերջին ակտիվացումը", + "trigger": "Զարգացնել" + }, + "cover": { + "position": "Դիրք", + "tilt_position": "Դիրքի թեքությունը" + }, + "fan": { + "speed": "Արագություն", + "oscillate": "Տատանվել", + "direction": "Ուղղությունը", + "forward": "Առաջ", + "reverse": "Հակադարձել" + }, + "light": { + "brightness": "Պայծառություն", + "color_temperature": "Գունային ջերմաստիճան", + "white_value": "Սպիտակ արժեք", + "effect": "Էֆեկտ" + }, + "media_player": { + "text_to_speak": "Խոսելու տեքստ", + "source": "Աղբյուր", + "sound_mode": "Ձայնի ռեժիմ" + }, + "climate": { + "currently": "Ներկայումս", + "on_off": "Միացում անջատում", + "target_temperature": "Նպատակային ջերմաստիճանը", + "target_humidity": "Թիրախային խոնավություն", + "operation": "Գործողություն", + "fan_mode": "Երկրպագուների ռեժիմ", + "swing_mode": "Ռիթմ ռեժիմ", + "away_mode": "հեռու ռեժիմ", + "aux_heat": "Aux ջերմությունը", + "preset_mode": "Նախադրված" + }, + "lock": { + "code": "կոդ", + "lock": "Կողպեք", + "unlock": "Բացել" + }, + "vacuum": { + "actions": { + "resume_cleaning": "Վերսկսել մաքրումը", + "return_to_base": "Վերադառնալ նավահանգիստ", + "start_cleaning": "Սկսել մաքրում ", + "turn_on": "Միացնել", + "turn_off": "Անջատել" + } + }, + "water_heater": { + "currently": "Ներկայումս", + "on_off": "Միացում անջատում", + "target_temperature": "Նպատակային ջերմաստիճանը", + "operation": "Գործողություն", + "away_mode": "հեռու ռեժիմ" + }, + "timer": { + "actions": { + "start": "սկսել", + "pause": "ընդհատել", + "cancel": "չեղարկել", + "finish": "ավարտել" + } + } + }, + "components": { + "entity": { + "entity-picker": { + "entity": "օբյեկտ" + } + }, + "service-picker": { + "service": "Ծառայություն" + }, + "relative_time": { + "past": "{time} առաջ", + "future": "{time} ընթացքում", + "never": "Երբեք", + "duration": { + "second": "{count} {count, plural,\n one {second}\n other {seconds}\n}", + "minute": "{count} {count, plural,\n one {minute}\n other {minutes}\n}", + "hour": "{count} {count, plural,\n one {hour}\n other {hours}\n}", + "day": "{count} {count, plural,\n one {day}\n other {days}\n}", + "week": "{count} {count, plural,\n one {week}\n other {weeks}\n}" + } + }, + "history_charts": { + "loading_history": "Պետական պատմությունը բեռնում", + "no_history_found": "Ոչ մի պետական պատմություն չի գտնվել:" + } + }, + "notification_toast": { + "entity_turned_on": "Միացված է {entity} :", + "entity_turned_off": "Անջատված է {entity} :", + "service_called": "Ծառայությունը {service} կոչվում է:", + "service_call_failed": "Չի հաջողվել կապվել սպասարկման {ծառայության}.", + "connection_lost": "Կապը կորցվեց: Վերամիավորվում է…" + }, + "dialogs": { + "more_info_settings": { + "save": "պահպանել", + "name": "Անվան փոփոխություն", + "entity_id": "Անձի ID" + }, + "more_info_control": { + "script": { + "last_action": "Վերջին գործողությունը" + }, + "sun": { + "elevation": "Բարձունք", + "rising": "Բարձրանում ", + "setting": "Կարգավորում" + }, + "updater": { + "title": "Թարմացնել հրահանգները" + } + }, + "options_flow": { + "form": { + "header": "Տարբերակներ" + }, + "success": { + "description": "Տարբերակները պահմանվեցին հաջողությամբ" + } + }, + "config_entry_system_options": { + "title": "Համակարգի Պարամետրերը", + "enable_new_entities_label": "Միացնել նոր ավելացված օբյեկտները:", + "enable_new_entities_description": "Եթե անջատված է, նոր հայտնաբերված օբյեկտները ավտոմատ կերպով չեն ավելացվի Home Assistant-ին:" + }, + "zha_device_info": { + "manuf": "{manufacturer}ի կողմից", + "no_area": "Ոչ մի տարածք", + "services": { + "reconfigure": "Նորից կարգավորեք ZHA սարքը: Օգտագործեք սա, եթե սարքի հետ խնդիրներ ունեք: Եթե տվյալ սարքը մարտկոցով աշխատող սարք է, ապա այս ծառայությունն օգտագործելիս համոզվեք, որ արթուն է և հրամաններ է ընդունում:", + "updateDeviceName": "Անվանել սարքը սարգեքի ռեգիսթրիում", + "remove": "Հեռացնել սարքը ZigBee ցանցից." + }, + "zha_device_card": { + "device_name_placeholder": "Օգտագործողի կողմից տրված անուն", + "area_picker_label": "Տարածք", + "update_name_button": "Թարմացնել անունը" + } + } + }, + "auth_store": { + "ask": "Դուք ցանկանում եք պահպանել այդ անունը?", + "decline": "Ոչ, շնորհակալություն", + "confirm": "Պահպանել մուտք" + }, + "notification_drawer": { + "click_to_configure": "Սեղմեք ստեղծել {էության}", + "empty": "Ոչ մի ծանուցում", + "title": "Ծանուցումներ" + } + }, + "domain": { + "alarm_control_panel": "Տագնապի կառավարման վահանակ", + "automation": "Ավտոմատացում", + "binary_sensor": "Երկուական Սենսոր", + "calendar": "Օրացույց", + "camera": "Տեսախցիկ", + "climate": "Կլիմա", + "configurator": "Կարգավորիչ", + "conversation": "Խոսակցություն", + "cover": "Ծածկել", + "device_tracker": "Սարքի որոնիչ", + "fan": "օդափոխիչ", + "history_graph": "Պատմության գրաֆիկ", + "group": "Խումբ", + "image_processing": "Պատկերի մշակում", + "input_boolean": "Մուտքագրված տրամաբանական արժեք", + "input_datetime": "Մուտքագրեք ժամանակի տվյալները", + "input_select": "Մուտքագրեք ընտրածը", + "input_number": "Մուտքագրման համարը", + "input_text": "Մուտքագրեք տեքստը", + "light": "Լույս", + "lock": "Կողպեք", + "mailbox": "Փոստարկղ", + "media_player": "Մեդիա նվագարկիչ", + "notify": "Ծանուցում", + "plant": "Գործարան", + "proximity": "Հարևանություն", + "remote": "Հեռավար", + "scene": "Տեսարան", + "script": "Սցենար", + "sensor": "Սենսոր", + "sun": "Արև", + "switch": "Անջատիչ", + "updater": "Թարմացնող", + "weblink": "Վեբ հասցե", + "zwave": "Z-Wave", + "vacuum": "Վակում", + "zha": "ZHA- ն", + "hassio": "Hass.io", + "homeassistant": "Տնային օգնական", + "lovelace": "սիրո", + "system_health": "Համակարգի առողջություն", + "person": "Անձը" + }, + "attribute": { + "weather": { + "humidity": "Խոնավություն", + "visibility": "Տեսանելիություն", + "wind_speed": "Քամու արագություն" + } + }, + "state_attributes": { + "climate": { + "fan_mode": { + "off": "անջատված", + "on": "վրա", + "auto": "Ավտոմատ" + }, + "preset_mode": { + "none": "Ոչ ոք", + "eco": "Էկո", + "away": "Հեռու", + "boost": "Խթանել", + "comfort": "Կոմֆորտ", + "home": "Տուն", + "sleep": "Քնել", + "activity": "Գործունեություն" + }, + "hvac_action": { + "off": "Անջատած", + "heating": "Տաքացում", + "cooling": "հովացում", + "drying": "Չորացում", + "idle": "Պարապ", + "fan": "Երկրպագու" + } + } + }, + "groups": { + "system-admin": "Ադմինիստրատորներ", + "system-users": "Օգտվողներ", + "system-read-only": "Միայն օգտվողները ընթերցեն" + }, + "config_entry": { + "disabled_by": { + "user": "Օգտագործող", + "integration": "Ինտեգրում", + "config_entry": "Կարգավորման սկզբնական կետ" + } + } +} \ No newline at end of file diff --git a/translations/it.json b/translations/it.json index cfca3e45c6..8db432daf0 100644 --- a/translations/it.json +++ b/translations/it.json @@ -251,7 +251,8 @@ "snowy-rainy": "Nevoso, piovoso", "sunny": "Soleggiato", "windy": "Ventoso", - "windy-variant": "Ventoso" + "windy-variant": "Ventoso", + "exceptional": "Eccezionale" }, "vacuum": { "cleaning": "Pulendo", @@ -327,6 +328,9 @@ }, "info": { "title": "Informazioni" + }, + "logs": { + "title": "Registri" } } }, @@ -349,7 +353,7 @@ "introduction": "Qui è possibile configurare i componenti e Home Assistant. Non è ancora possibile configurare tutto dall'interfaccia utente, ma ci stiamo lavorando.", "core": { "caption": "Generale", - "description": "Convalidare il file di configurazione e controllare il server", + "description": "Modifica la configurazione generale di Home Assistant", "section": { "core": { "header": "Configurazione e controllo del server", @@ -364,7 +368,7 @@ "time_zone": "Fuso orario", "unit_system": "Unità di misura", "unit_system_imperial": "Imperiale", - "unit_system_metric": "metrico", + "unit_system_metric": "Metrico", "imperial_example": "Fahrenheit, libbre", "metric_example": "Celsius, chilogrammi", "save_button": "Salva" @@ -498,6 +502,9 @@ "event": "Evento:", "enter": "Ingresso", "leave": "Uscita" + }, + "device": { + "label": "Dispositivo" } }, "learn_more": "Per saperne di più sui trigger" @@ -544,6 +551,9 @@ "label": "Zona", "entity": "Entità con posizione", "zone": "Zona" + }, + "device": { + "label": "Dispositivo" } }, "learn_more": "Per saperne di più sulle condizioni" @@ -747,7 +757,10 @@ "unavailable": "Questa entità non è attualmente disponibile.", "default_name": "Nuova area", "delete": "ELIMINA", - "update": "AGGIORNA" + "update": "AGGIORNA", + "enabled_label": "Abilita entità", + "enabled_cause": "Disabilitato da {cause}.", + "enabled_description": "Le entità disabilitate non verranno aggiunte a Home Assistant." } }, "person": { @@ -784,7 +797,9 @@ "heading": "Gestione del server", "introduction": "Controllare il server Home Assistant... da Home Assistant.", "restart": "Riavviare", - "stop": "Stop" + "stop": "Stop", + "confirm_restart": "Sei sicuro di voler riavviare Home Assistant?", + "confirm_stop": "Sei sicuro di voler fermare Home Assistant?" } } } @@ -866,7 +881,7 @@ }, "page-authorize": { "initializing": "Inizializzazione", - "authorizing_client": "Stai per dare accesso {clientId} alla tua istanza di Assistente Home.", + "authorizing_client": "Stai per dare a {clientId} accesso alla tua istanza di Home Assistant.", "logging_in_with": "Accesso con **{authProviderName}**.", "pick_auth_provider": "Oppure accedi con", "abort_intro": "Login interrotto", @@ -980,7 +995,7 @@ "integration": { "intro": "Dispositivi e servizi sono rappresentati in Home Assistant come integrazioni. È possibile impostarli ora, o farlo in seguito dalla schermata di configurazione.", "more_integrations": "Di Più", - "finish": "finire" + "finish": "Finire" }, "core-config": { "intro": "Salve {name} , benvenuto su Home Assistant. Come vorresti nominare la tua casa?", @@ -1051,6 +1066,10 @@ "save": "Salva", "unsaved_changes": "Modifiche non salvate", "saved": "Salvato" + }, + "edit_lovelace": { + "header": "Titolo della tua interfaccia utente di Lovelace", + "explanation": "Questo titolo è mostrato sopra tutte le tue viste in Lovelace." } }, "menu": { @@ -1120,7 +1139,8 @@ "common": { "loading": "Caricamento", "cancel": "Annulla", - "save": "Salva" + "save": "Salva", + "successfully_saved": "Salvataggio riuscito" }, "duration": { "day": "{count} {count, plural,\none {giorno}\nother {giorni}\n}", @@ -1196,7 +1216,9 @@ "fan": { "speed": "Velocità", "oscillate": "Oscillazione", - "direction": "Direzione" + "direction": "Direzione", + "forward": "Avanti", + "reverse": "Indietro" }, "light": { "brightness": "Luminosità", @@ -1241,6 +1263,14 @@ "target_temperature": "Temperatura da raggiungere", "operation": "Operazione", "away_mode": "Modalità fuori casa" + }, + "timer": { + "actions": { + "start": "avvio", + "pause": "pausa", + "cancel": "annulla", + "finish": "finire" + } } }, "components": { @@ -1302,6 +1332,25 @@ "success": { "description": "Opzioni salvate correttamente." } + }, + "config_entry_system_options": { + "title": "Opzioni di sistema", + "enable_new_entities_label": "Abilita nuove entità aggiunte.", + "enable_new_entities_description": "Se disabilitato, le entità appena individuate non verranno automaticamente aggiunte a Home Assistant." + }, + "zha_device_info": { + "manuf": "da {manufacturer}", + "no_area": "Nessuna Area", + "services": { + "reconfigure": "Riconfigurare il dispositivo ZHA (dispositivo di cura). Utilizzare questa opzione se riscontri problemi con il dispositivo. Se il dispositivo in questione è un dispositivo alimentato a batteria, assicurarsi che sia attivo e che accetti i comandi quando si utilizza questo servizio.", + "updateDeviceName": "Imposta un nome personalizzato per questo dispositivo nel registro dispositivi.", + "remove": "Rimuovi un dispositivo dalla rete ZigBee." + }, + "zha_device_card": { + "device_name_placeholder": "Nome assegnato dall'utente", + "area_picker_label": "Area", + "update_name_button": "Aggiorna nome" + } } }, "auth_store": { @@ -1397,5 +1446,12 @@ "system-admin": "Amministratori", "system-users": "Utenti", "system-read-only": "Utenti di sola lettura" + }, + "config_entry": { + "disabled_by": { + "user": "Utente", + "integration": "Integrazione", + "config_entry": "Voce di configurazione" + } } } \ No newline at end of file diff --git a/translations/ko.json b/translations/ko.json index 6db3cf7be5..cfbea9b80d 100644 --- a/translations/ko.json +++ b/translations/ko.json @@ -251,7 +251,8 @@ "snowy-rainy": "진눈개비", "sunny": "맑음", "windy": "바람", - "windy-variant": "바람" + "windy-variant": "바람", + "exceptional": "예외사항" }, "vacuum": { "cleaning": "청소중", @@ -327,6 +328,9 @@ }, "info": { "title": "정보" + }, + "logs": { + "title": "로그" } } }, @@ -498,6 +502,9 @@ "event": "이벤트:", "enter": "입장", "leave": "퇴장" + }, + "device": { + "label": "기기" } }, "learn_more": "트리거에 대해 더 알아보기" @@ -544,6 +551,9 @@ "label": "구역", "entity": "위치기반 구성요소", "zone": "구역" + }, + "device": { + "label": "기기" } }, "learn_more": "조건에 대해 더 알아보기" @@ -787,7 +797,9 @@ "heading": "서버 관리", "introduction": "Home Assistant 서버를 제어합니다.", "restart": "재시작", - "stop": "중지" + "stop": "중지", + "confirm_restart": "Home Assistant 를 재시작 하시겠습니까?", + "confirm_stop": "Home Assistant 를 중지 하시겠습니까?" } } } @@ -1054,6 +1066,10 @@ "save": "저장하기", "unsaved_changes": "저장되지 않은 변경사항", "saved": "저장되었습니다" + }, + "edit_lovelace": { + "header": "Lovelace UI 의 제목", + "explanation": "이 제목은 Lovelace 의 모든 화면의 상단에 표시됩니다." } }, "menu": { @@ -1123,7 +1139,8 @@ "common": { "loading": "읽는중", "cancel": "취소", - "save": "저장" + "save": "저장", + "successfully_saved": "성공적으로 저장되었습니다" }, "duration": { "day": "{count} {count, plural,\none {일}\nother {일}\n}", @@ -1199,7 +1216,9 @@ "fan": { "speed": "속도", "oscillate": "회전", - "direction": "방향" + "direction": "방향", + "forward": "앞으로", + "reverse": "뒤로" }, "light": { "brightness": "밝기", @@ -1244,6 +1263,14 @@ "target_temperature": "희망 온도", "operation": "운전", "away_mode": "외출 모드" + }, + "timer": { + "actions": { + "start": "시작", + "pause": "일시정지", + "cancel": "취소", + "finish": "완료" + } } }, "components": { @@ -1310,6 +1337,20 @@ "title": "시스템 옵션", "enable_new_entities_label": "새로 추가된 구성요소를 활성화합니다.", "enable_new_entities_description": "비활성화한 경우 새로 검색된 구성요소는 Home Assistant 에 자동으로 추가되지 않습니다." + }, + "zha_device_info": { + "manuf": "{manufacturer} 제조", + "no_area": "영역 없음", + "services": { + "reconfigure": "ZHA 장치를 다시 구성 합니다. (장치 복구). 장치에 문제가 있는 경우 사용해주세요. 장치가 배터리로 작동하는 경우, 이 서비스를 사용할 때 장치가 켜져있고 통신이 가능한 상태여야 합니다.", + "updateDeviceName": "이 기기의 사용자 정의 이름을 기기 레지스트리에 설정합니다.", + "remove": "Zigbee 네트워크에서 기기를 제거해주세요." + }, + "zha_device_card": { + "device_name_placeholder": "사용자 지정 이름", + "area_picker_label": "영역", + "update_name_button": "이름 업데이트" + } } }, "auth_store": { diff --git a/translations/nb.json b/translations/nb.json index 60b4644283..a2dbe49f53 100644 --- a/translations/nb.json +++ b/translations/nb.json @@ -327,6 +327,9 @@ }, "info": { "title": "Info" + }, + "logs": { + "title": "Logger" } } }, @@ -498,6 +501,9 @@ "event": "Hendelse:", "enter": "Ankommer", "leave": "Forlater" + }, + "device": { + "label": "Enheten" } }, "learn_more": "Lær mer om utløsere" @@ -787,7 +793,9 @@ "heading": "Serveradministrasjon", "introduction": "Kontroller din Home Assistant server... fra Home Assistant.", "restart": "Omstart", - "stop": "Stopp" + "stop": "Stopp", + "confirm_restart": "Er du sikker på at du vil starte Home Assistant på nytt?", + "confirm_stop": "Er du sikker på at du vil stoppe Home Assistant?" } } } @@ -1199,7 +1207,9 @@ "fan": { "speed": "Hastighet", "oscillate": "Vandring", - "direction": "Retning" + "direction": "Retning", + "forward": "Framover", + "reverse": "Omvendt" }, "light": { "brightness": "Lysstyrke", diff --git a/translations/nl.json b/translations/nl.json index c8291f31fb..95338934eb 100644 --- a/translations/nl.json +++ b/translations/nl.json @@ -251,7 +251,8 @@ "snowy-rainy": "Sneeuw-, regenachtig", "sunny": "Zonnig", "windy": "Winderig", - "windy-variant": "Winderig" + "windy-variant": "Winderig", + "exceptional": "Uitzonderlijk" }, "vacuum": { "cleaning": "Reinigen", @@ -327,6 +328,9 @@ }, "info": { "title": "Info" + }, + "logs": { + "title": "Logboek" } } }, @@ -498,6 +502,9 @@ "event": "Gebeurtenis:", "enter": "Invoeren", "leave": "Verlaten" + }, + "device": { + "label": "Apparaat" } }, "learn_more": "Meer informatie over triggers" @@ -544,6 +551,9 @@ "label": "Zone", "entity": "Entiteit met locatie", "zone": "Zone" + }, + "device": { + "label": "Apparaat" } }, "learn_more": "Meer informatie over condities" @@ -595,7 +605,7 @@ "description": "Beheer je Z-Wave-netwerk", "network_management": { "header": "Z-Wave netwerkbeheer", - "introduction": "Voer opdrachten uit die van invloed zijn op het Z-Wave-netwerk. Je krijgt geen feedback of de meeste commando's gelukt zijn, maar je kunt wel het OZW Logboek raadplegen om te proberen uit te vinden of het gelukt is." + "introduction": "Voer opdrachten uit die van invloed zijn op het Z-Wave-netwerk. Je krijgt geen terugkoppeling of de meeste commando's gelukt zijn, maar je kunt wel het OZW Logboek raadplegen om te proberen uit te vinden of het gelukt is." }, "network_status": { "network_stopped": "Z-Wave netwerk gestopt", @@ -630,7 +640,7 @@ "node_config": { "header": "Node Configuratie Opties", "seconds": "Seconden", - "set_wakeup": "Wakeup-interval instellen", + "set_wakeup": "Activeringsinterval instellen", "config_parameter": "Configuratie Parameter", "config_value": "Configuratie Waarde", "true": "Waar", @@ -787,7 +797,9 @@ "heading": "Serverbeheer", "introduction": "Beheer je Home Assistant-server ... vanuit Home Assistant.", "restart": "Herstarten", - "stop": "Stop" + "stop": "Stop", + "confirm_restart": "Weet je zeker dat je Home Assistant opnieuw wilt starten?", + "confirm_stop": "Weet je zeker dat je Home Assistant wilt afsluiten?" } } } @@ -825,7 +837,7 @@ }, "long_lived_access_tokens": { "header": "Toegangtokens met lange levensduur", - "description": "Maak toegangstokens met een lange levensduur zodat je scripts kunnen communiceren met je Home Assistant-instantie. Elk token is tien jaar geldig vanaf geldig vanaf de aanmaakdatum. De volgende langlevende toegangstokens zijn momenteel actief.", + "description": "Maak toegangstokens met een lange levensduur zodat je scripts kunnen communiceren met je Home Assistant-instantie. Elk token is tien jaar geldig vanaf de aanmaakdatum. De volgende langlevende toegangstokens zijn momenteel actief.", "learn_auth_requests": "Kom te weten hoe je geverifieerde verzoeken kunt maken", "created_at": "Gemaakt op {date}", "confirm_delete": "Weet je zeker dat je de toegangstoken voor {name} wilt verwijderen?", @@ -1054,6 +1066,10 @@ "save": "Opslaan", "unsaved_changes": "Niet-opgeslagen wijzigingen", "saved": "Opgeslagen" + }, + "edit_lovelace": { + "header": "Titel van je Lovelace UI", + "explanation": "Deze titel wordt vooral weergegeven in al je weergaven in Lovelace." } }, "menu": { @@ -1123,7 +1139,8 @@ "common": { "loading": "Bezig met laden", "cancel": "Annuleren", - "save": "Opslaan" + "save": "Opslaan", + "successfully_saved": "Succesvol opgeslagen" }, "duration": { "day": "{count} {count, plural,\none {dag}\nother {dagen}\n}", @@ -1199,7 +1216,9 @@ "fan": { "speed": "Snelheid", "oscillate": "Oscilleren", - "direction": "Richting" + "direction": "Richting", + "forward": "Voorwaarts", + "reverse": "Omkeren" }, "light": { "brightness": "Helderheid", @@ -1244,6 +1263,14 @@ "target_temperature": "Gewenste temperatuur", "operation": "Werking", "away_mode": "Afwezigheidsmodus" + }, + "timer": { + "actions": { + "start": "start", + "pause": "pauze", + "cancel": "annuleren", + "finish": "voltooien" + } } }, "components": { @@ -1309,7 +1336,21 @@ "config_entry_system_options": { "title": "Systeemopties", "enable_new_entities_label": "Voeg nieuwe entiteiten automatisch toe", - "enable_new_entities_description": "Indien uitgeschakeld, zullen entiteiten niet aan Home Assistant worden toegevoegd" + "enable_new_entities_description": "Als uitgeschakeld, worden nieuw ontdekte entiteiten niet aan Home Assistant toegevoegd." + }, + "zha_device_info": { + "manuf": "door {manufacturer}", + "no_area": "Geen Gebied", + "services": { + "reconfigure": "Herconfigureer het ZHA-apparaat (heal device). Gebruik dit als je problemen hebt met het apparaat. Als het een apparaat met batterij is, zorg dan dat het wakker is en commando's accepteert wanneer je deze service gebruikt.", + "updateDeviceName": "Stel een aangepaste naam in voor dit apparaat in het apparaatregister.", + "remove": "Verwijder een apparaat uit het ZigBee-netwerk." + }, + "zha_device_card": { + "device_name_placeholder": "Door gebruiker ingegeven naam", + "area_picker_label": "Gebied", + "update_name_button": "Naam bijwerken" + } } }, "auth_store": { diff --git a/translations/pl.json b/translations/pl.json index af3e3ce7df..e77522dce7 100644 --- a/translations/pl.json +++ b/translations/pl.json @@ -251,7 +251,8 @@ "snowy-rainy": "śnieżnie, deszczowo", "sunny": "słonecznie", "windy": "wietrznie", - "windy-variant": "wietrznie" + "windy-variant": "wietrznie", + "exceptional": "Wyjątkowy" }, "vacuum": { "cleaning": "sprzątanie", @@ -327,6 +328,9 @@ }, "info": { "title": "Informacje" + }, + "logs": { + "title": "Logi" } } }, @@ -498,6 +502,9 @@ "event": "Zdarzenie:", "enter": "wejście", "leave": "wyjście" + }, + "device": { + "label": "Urządzenie" } }, "learn_more": "Dowiedz się więcej o wyzwalaczach" @@ -544,6 +551,9 @@ "label": "Strefa", "entity": "Encja z lokalizacją", "zone": "Strefa" + }, + "device": { + "label": "Urządzenie" } }, "learn_more": "Dowiedz się więcej o warunkach" @@ -698,7 +708,7 @@ "caption": "ZHA", "description": "Zarządzanie siecią automatyki domowej Zigbee", "services": { - "reconfigure": "Ponowna konfiguracja urządzenia ZHA (uzdrawianie urządzenia). Użyj tej usługi, jeśli masz problemy z urządzeniem. Jeśli urządzenie jest zasilane bateryjnie, upewnij się, że nie jest uśpione i przyjmie polecenie rekonfiguracji.", + "reconfigure": "Ponowna konfiguracja urządzenia ZHA (uzdrawianie urządzenia). Użyj tego polecenia, jeśli masz problemy z urządzeniem. Jeśli urządzenie jest zasilane bateryjnie, upewnij się, że nie jest uśpione i przyjmie polecenie rekonfiguracji.", "updateDeviceName": "Ustaw niestandardową nazwę tego urządzenia w rejestrze urządzeń.", "remove": "Usuń urządzenie z sieci Zigbee." }, @@ -787,7 +797,9 @@ "heading": "Zarządzanie serwerem", "introduction": "Kontroluj serwer Home Assistant'a.", "restart": "Uruchom ponownie", - "stop": "Zatrzymaj" + "stop": "Zatrzymaj", + "confirm_restart": "Czy chcesz ponownie uruchomić Home Assistant?", + "confirm_stop": "Czy chcesz zatrzymać Home Assistant?" } } } @@ -1054,21 +1066,25 @@ "save": "Zapisz", "unsaved_changes": "Niezapisane zmiany", "saved": "Zapisano" + }, + "edit_lovelace": { + "header": "Tytuł interfejsu użytkownika", + "explanation": "Tytuł jest wyświetlany ponad wszystkimi widokami interfejsu użytkownika" } }, "menu": { "configure_ui": "Konfiguracja interfejsu użytkownika", "unused_entities": "Nieużywane encje", "help": "Pomoc", - "refresh": "Odśwież" + "refresh": "Wczytaj ponownie" }, "warning": { "entity_not_found": "Encja niedostępna: {entity}", "entity_non_numeric": "Encja nie jest numeryczna: {entity}" }, "changed_toast": { - "message": "Zaktualizowano konfigurację Lovelace, czy chcesz odświeżyć?", - "refresh": "Odśwież" + "message": "Zaktualizowano konfigurację interfejsu użytkownika, czy chcesz ją wczytać ponownie?", + "refresh": "Wczytaj ponownie" }, "reload_lovelace": "Wczytaj ponownie Lovelace" }, @@ -1123,7 +1139,8 @@ "common": { "loading": "Ładowanie", "cancel": "Anuluj", - "save": "Zapisz" + "save": "Zapisz", + "successfully_saved": "Pomyślnie zapisano" }, "duration": { "day": "{count} {count, plural,\n one {dzień}\n other {dni}\n}", @@ -1199,7 +1216,9 @@ "fan": { "speed": "Prędkość", "oscillate": "Oscylacja", - "direction": "Kierunek" + "direction": "Kierunek", + "forward": "Naprzód", + "reverse": "Wstecz" }, "light": { "brightness": "Jasność", @@ -1244,6 +1263,14 @@ "target_temperature": "Temperatura docelowa", "operation": "Tryb działania", "away_mode": "Tryb poza domem" + }, + "timer": { + "actions": { + "start": "start", + "pause": "pauza", + "cancel": "anuluj", + "finish": "koniec" + } } }, "components": { @@ -1310,6 +1337,20 @@ "title": "Opcje systemu", "enable_new_entities_label": "Włącz dodawanie nowych encji.", "enable_new_entities_description": "Jeśli wyłączone, nowo wykryte encje nie będą automatycznie dodawane do Home Assistant'a." + }, + "zha_device_info": { + "manuf": "przez: {manufacturer}", + "no_area": "brak", + "services": { + "reconfigure": "Ponowna konfiguracja urządzenia ZHA (uzdrawianie urządzenia). Użyj tego polecenia, jeśli masz problemy z urządzeniem. Jeśli urządzenie jest zasilane bateryjnie, upewnij się, że nie jest uśpione i przyjmie polecenie rekonfiguracji.", + "updateDeviceName": "Wprowadź niestandardową nazwę tego urządzenia w rejestrze urządzeń.", + "remove": "Usuń urządzenie z sieci Zigbee." + }, + "zha_device_card": { + "device_name_placeholder": "Nazwa użytkownika", + "area_picker_label": "Obszar", + "update_name_button": "Aktualizuj nazwę" + } } }, "auth_store": { diff --git a/translations/pt-BR.json b/translations/pt-BR.json index 302f6c331a..a71fcef813 100644 --- a/translations/pt-BR.json +++ b/translations/pt-BR.json @@ -251,7 +251,8 @@ "snowy-rainy": "Neve, chuva", "sunny": "Ensolarado", "windy": "Ventoso", - "windy-variant": "Ventoso" + "windy-variant": "Ventoso", + "exceptional": "Excepcional" }, "vacuum": { "cleaning": "Limpando", @@ -327,6 +328,9 @@ }, "info": { "title": "Info" + }, + "logs": { + "title": "Logs" } } }, @@ -498,6 +502,9 @@ "event": "Evento:", "enter": "Entrar", "leave": "Sair" + }, + "device": { + "label": "Dispositivo" } }, "learn_more": "Saiba mais sobre gatilhos" @@ -620,12 +627,21 @@ "common": { "value": "Valor", "instance": "Instância", - "index": "Índice" + "index": "Índice", + "unknown": "Desconhecido", + "wakeup_interval": "Intervalo de ativação" }, "values": { "header": "Valores de nó" }, "node_config": { + "header": "Opções de configuração do nó", + "seconds": "Segundos", + "set_wakeup": "Definir intervalo de ativação", + "config_parameter": "Parâmetro de configuração", + "config_value": "Valor de configuração", + "true": "Verdadeiro", + "false": "Falso", "set_config_parameter": "Definir o parâmetro de configuração" } }, @@ -738,7 +754,10 @@ "unavailable": "Esta entidade não está disponível no momento.", "default_name": "Nova Área", "delete": "APAGAR", - "update": "ATUALIZAR" + "update": "ATUALIZAR", + "enabled_label": "Ativar entidade", + "enabled_cause": "Desativado por {cause}.", + "enabled_description": "As entidades desativadas não serão adicionadas ao Home Assistant." } }, "person": { @@ -750,6 +769,36 @@ "device_tracker_picked": "Rastrear dispositivo", "device_tracker_pick": "Escolha o dispositivo para rastrear" } + }, + "server_control": { + "caption": "Controle do servidor", + "description": "Reinicie e interrompa o servidor do Home Assistant", + "section": { + "validation": { + "heading": "Validação da configuração", + "introduction": "Valide sua configuração se você recentemente fez algumas mudanças na sua configuração e quiser certificar-se de que tudo é válido.", + "check_config": "Verificar a configuração", + "valid": "Configuração válida!", + "invalid": "Configuração inválida" + }, + "reloading": { + "heading": "Recarregando a configuração", + "introduction": "Algumas partes do Home Assistant podem ser recarregadas sem a necessidade de reiniciar. Pressionar recarregar descarregará sua configuração atual e carregará a nova.", + "core": "Recarregar o Core", + "group": "Recarregar os grupos", + "automation": "Recarregar as automações", + "script": "Recarregar os scripts", + "scene": "Recarregar cenas" + }, + "server_management": { + "heading": "Gerenciamento do servidor", + "introduction": "Controle o seu servidor Home Assistant... a partir do Home Assistant.", + "restart": "Reiniciar", + "stop": "Parar", + "confirm_restart": "Tem certeza de que deseja reiniciar o Home Assistant?", + "confirm_stop": "Tem certeza de que deseja parar o Home Assistant?" + } + } } }, "profile": { @@ -1083,7 +1132,8 @@ "common": { "loading": "Carregando", "cancel": "Cancelar", - "save": "Salvar" + "save": "Salvar", + "successfully_saved": "Salvo com sucesso" }, "duration": { "day": "{count} {count, plural,\none {day}\nother {days}\n}", @@ -1159,7 +1209,9 @@ "fan": { "speed": "Velocidade", "oscillate": "Oscilar", - "direction": "Direção" + "direction": "Direção", + "forward": "Frente", + "reverse": "Reverter" }, "light": { "brightness": "Brilho", @@ -1257,6 +1309,19 @@ "updater": { "title": "Atualizar Instruções" } + }, + "options_flow": { + "form": { + "header": "Opções" + }, + "success": { + "description": "Opções salvas com sucesso." + } + }, + "config_entry_system_options": { + "title": "Opções do sistema", + "enable_new_entities_label": "Habilitar entidades recém-adicionadas.", + "enable_new_entities_description": "Se desativadas, as entidades recém-descobertas não serão automaticamente adicionadas ao Home Assistant." } }, "auth_store": { @@ -1352,5 +1417,12 @@ "system-admin": "Administradores", "system-users": "Usuários", "system-read-only": "Usuários somente leitura" + }, + "config_entry": { + "disabled_by": { + "user": "Usuário", + "integration": "Integração", + "config_entry": "Entrada de configuração" + } } } \ No newline at end of file diff --git a/translations/ru.json b/translations/ru.json index 09a4b3f5dd..783ea4616b 100644 --- a/translations/ru.json +++ b/translations/ru.json @@ -251,7 +251,8 @@ "snowy-rainy": "Снег с дождем", "sunny": "Ясно", "windy": "Ветрено", - "windy-variant": "Ветрено" + "windy-variant": "Ветрено", + "exceptional": "Предупреждение" }, "vacuum": { "cleaning": "Уборка", @@ -327,6 +328,9 @@ }, "info": { "title": "О системе" + }, + "logs": { + "title": "Лог" } } }, @@ -498,6 +502,9 @@ "event": "Событие:", "enter": "Войти", "leave": "Покинуть" + }, + "device": { + "label": "Устройство" } }, "learn_more": "Узнайте больше о триггерах" @@ -544,6 +551,9 @@ "label": "Зона", "entity": "Объект с местоположением", "zone": "Зона" + }, + "device": { + "label": "Устройство" } }, "learn_more": "Узнайте больше об условиях" @@ -787,7 +797,9 @@ "heading": "Управление сервером", "introduction": "Управляйте Вашим сервером Home Assistant... из Home Assistant.", "restart": "Перезапустить", - "stop": "Остановить" + "stop": "Остановить", + "confirm_restart": "Вы уверены, что хотите перезапустить Home Assistant?", + "confirm_stop": "Вы уверены, что хотите остановить Home Assistant?" } } } @@ -1054,6 +1066,10 @@ "save": "Сохранить", "unsaved_changes": "Несохраненные изменения", "saved": "Сохранено" + }, + "edit_lovelace": { + "header": "Заголовок для Lovelace", + "explanation": "Этот заголовок будет показан над вашими карточками в Lovelace" } }, "menu": { @@ -1123,7 +1139,8 @@ "common": { "loading": "Загрузка", "cancel": "Отменить", - "save": "Сохранить" + "save": "Сохранить", + "successfully_saved": "Успешно сохранено" }, "duration": { "day": "{count} {count, plural,\none {д.}\nother {д.}\n}", @@ -1199,7 +1216,9 @@ "fan": { "speed": "Скорость", "oscillate": "Колебания", - "direction": "Направление" + "direction": "Направление", + "forward": "От себя", + "reverse": "На себя" }, "light": { "brightness": "Яркость", @@ -1244,6 +1263,14 @@ "target_temperature": "Заданная температура", "operation": "Операция", "away_mode": "Режим \"не дома\"" + }, + "timer": { + "actions": { + "start": "Запуск", + "pause": "Пауза", + "cancel": "Отмена", + "finish": "Готово" + } } }, "components": { @@ -1310,6 +1337,20 @@ "title": "Системные настройки", "enable_new_entities_label": "Добавлять новые объекты.", "enable_new_entities_description": "Автоматически добавлять в Home Assistant вновь обнаруженные объекты." + }, + "zha_device_info": { + "manuf": "Производитель: {manufacturer}", + "no_area": "Не указано", + "services": { + "reconfigure": "Перенастройка устройства ZHA. Используйте эту службу, если у Вас есть проблемы с устройством. Если рассматриваемое устройство работает от батареи, пожалуйста, убедитесь, что оно не находится в режиме сна и принимает команды, когда вы запускаете эту службу.", + "updateDeviceName": "Установите имя для этого устройства в реестре устройств.", + "remove": "Удалить устройство из сети ZigBee." + }, + "zha_device_card": { + "device_name_placeholder": "Логин", + "area_picker_label": "Помещение", + "update_name_button": "Обновить название" + } } }, "auth_store": { diff --git a/translations/sl.json b/translations/sl.json index 09d7d7ce73..3bc593b7b4 100644 --- a/translations/sl.json +++ b/translations/sl.json @@ -327,6 +327,9 @@ }, "info": { "title": "Info" + }, + "logs": { + "title": "Dnevniki" } } }, @@ -498,6 +501,9 @@ "event": "Dogodek:", "enter": "Vnesite", "leave": "Odidi" + }, + "device": { + "label": "Naprava" } }, "learn_more": "Več o sprožilcih" @@ -787,7 +793,9 @@ "heading": "Upravljanje strežnika", "introduction": "Nadzirajte strežnik Home Assistant ... iz Home Assistant-a", "restart": "Ponovni zagon", - "stop": "Ustavi" + "stop": "Ustavi", + "confirm_restart": "Ali ste prepričani, da želite znova zagnati Home Assistant-a?", + "confirm_stop": "Ali ste prepričani, da želite ustaviti Home Assistant-a?" } } } @@ -1199,7 +1207,9 @@ "fan": { "speed": "Hitrost", "oscillate": "Nihanje", - "direction": "Smer" + "direction": "Smer", + "forward": "Naprej", + "reverse": "Obratno" }, "light": { "brightness": "Svetlost", diff --git a/translations/sv.json b/translations/sv.json index d897e06dce..81838b5e37 100644 --- a/translations/sv.json +++ b/translations/sv.json @@ -251,7 +251,8 @@ "snowy-rainy": "Snöigt, regnigt", "sunny": "Soligt", "windy": "Blåsigt", - "windy-variant": "Blåsigt" + "windy-variant": "Blåsigt", + "exceptional": "Exceptionellt" }, "vacuum": { "cleaning": "Städar", @@ -327,6 +328,9 @@ }, "info": { "title": "Info" + }, + "logs": { + "title": "Loggar" } } }, @@ -498,6 +502,9 @@ "event": "Händelse:", "enter": "Ankomma", "leave": "Lämna" + }, + "device": { + "label": "Enhet" } }, "learn_more": "Lär dig mer om utlösare" @@ -787,7 +794,9 @@ "heading": "Serverhantering", "introduction": "Kontrollera din Home Assistant-server ... från Home Assistant.", "restart": "Starta om", - "stop": "Stoppa" + "stop": "Stoppa", + "confirm_restart": "Är du säker på att du vill starta om Home Assistant?", + "confirm_stop": "Är du säker på att du vill stoppa Home Assistant?" } } } @@ -1123,7 +1132,8 @@ "common": { "loading": "Läser in", "cancel": "Avbryt", - "save": "Spara" + "save": "Spara", + "successfully_saved": "Inställningar sparades" }, "duration": { "day": "{count} {count, plural,\none {dag}\nother {dagar}\n}", @@ -1199,7 +1209,9 @@ "fan": { "speed": "Hastighet", "oscillate": "Pendlar", - "direction": "Riktning" + "direction": "Riktning", + "forward": "Framåt", + "reverse": "Baklänges" }, "light": { "brightness": "Ljusstyrka", diff --git a/translations/th.json b/translations/th.json index 76d4f65421..a7242e9374 100644 --- a/translations/th.json +++ b/translations/th.json @@ -323,6 +323,9 @@ }, "mqtt": { "title": "MQTT" + }, + "info": { + "title": "ข้อมูล" } } }, @@ -589,7 +592,12 @@ "zwave": { "caption": "Z-Wave", "description": "จัดการเครือข่าย Z-Wave", + "common": { + "value": "ค่า", + "unknown": "ไม่ทราบ" + }, "node_config": { + "seconds": "วินาที", "set_config_parameter": "ตั้งค่าพารามิเตอร์การกำหนดค่า" } }, @@ -713,6 +721,23 @@ "device_tracker_picked": "ติดตามอุปกรณ์", "device_tracker_pick": "เลือกอุปกรณ์ที่จะติดตาม" } + }, + "server_control": { + "section": { + "validation": { + "check_config": "ตรวจสอบการกำหนดค่า" + }, + "reloading": { + "core": "โหลดส่วนกลางใหม่", + "group": "โหลดกลุ่มใหม่", + "script": "โหลดสคริปต์อีกครั้ง" + }, + "server_management": { + "heading": "การจัดการเซิร์ฟเวอร์", + "restart": "เริ่มต้นใหม่", + "stop": "หยุด" + } + } } }, "profile": { @@ -783,6 +808,9 @@ "step_done": "ติดตั้งเสร็จแล้วในขั้นตอนที่ {step}", "close": "ปิด", "submit": "ส่งข้อมูล" + }, + "force_narrow": { + "header": "ซ่อนแถบด้านข้างเสมอ" } }, "page-authorize": { @@ -1241,6 +1269,14 @@ "off": "ปิด", "on": "เปิด", "auto": "อัตโนมัติ" + }, + "preset_mode": { + "home": "บ้าน", + "activity": "กิจกรรม" + }, + "hvac_action": { + "off": "ปิด", + "idle": "ไม่ได้ใช้งาน" } } }, diff --git a/translations/uk.json b/translations/uk.json index 1c0753ffbf..cc4b4901bd 100644 --- a/translations/uk.json +++ b/translations/uk.json @@ -199,7 +199,7 @@ "standby": "Очікування" }, "plant": { - "ok": "ОК", + "ok": "ТАК", "problem": "Халепа" }, "remote": { @@ -251,7 +251,8 @@ "snowy-rainy": "Сніг, дощ", "sunny": "Сонячно", "windy": "Вітряно", - "windy-variant": "Вітряно" + "windy-variant": "Вітряно", + "exceptional": "Попередження" }, "vacuum": { "cleaning": "Прибирання", @@ -276,17 +277,17 @@ "state_badge": { "default": { "unknown": "Невід", - "unavailable": "Недост", + "unavailable": "Недоступно", "error": "Помилка", "entity_not_found": "Об'єкт не знайдено" }, "alarm_control_panel": { "armed": "Охорона", - "disarmed": "Вимкн", + "disarmed": "Знято з охорони", "armed_home": "Охорона", "armed_away": "Охорона", "armed_night": "Охорона", - "pending": "Очік", + "pending": "Очікування", "arming": "Ставлю", "disarming": "Зняття", "triggered": "Тривога", @@ -327,6 +328,9 @@ }, "info": { "title": "Інформація" + }, + "logs": { + "title": "Лог" } } }, @@ -498,6 +502,9 @@ "event": "Подія:", "enter": "Увійти", "leave": "Залишити" + }, + "device": { + "label": "Пристрій" } }, "learn_more": "Докладніше про тригери" @@ -512,7 +519,12 @@ "unsupported_condition": "Непідтримувана умова: {condition}", "type_select": "Тип умови", "type": { + "state": { + "label": "Статус", + "state": "Статус" + }, "numeric_state": { + "label": "Числовий статус", "above": "Над", "below": "Нижче" }, @@ -526,7 +538,8 @@ "sunset": "Захід" }, "template": { - "label": "Шаблон" + "label": "Шаблон", + "value_template": "Значення шаблону" }, "time": { "label": "Час", @@ -535,7 +548,11 @@ }, "zone": { "label": "Зона", + "entity": "Об'єкт з місцем розташування", "zone": "Зона" + }, + "device": { + "label": "Пристрій" } }, "learn_more": "Докладніше про умови" @@ -585,21 +602,48 @@ "zwave": { "caption": "Z-Wave", "description": "Керуйте мережею Z-Wave", + "network_management": { + "header": "Керування мережею Z-Wave", + "introduction": "Керуйте мережею Z-Wave за допомогою представлених команд. Інформацію про результат виконаних команд Ви можете отримати в журналі OZW." + }, + "network_status": { + "network_stopped": "Мережа Z-Wave вимкнена", + "network_starting": "Запуск мережі Z-Wave ...", + "network_starting_note": "Це може зайняти деякий час в залежності від розміру Вашої мережі.", + "network_started": "Мережа Z-Wave працює", + "network_started_note_some_queried": "Активні вузли були опитані. Сплячі вузли будуть опитані, коли вийдуть з режиму сну.", + "network_started_note_all_queried": "Всі вузли були опитані." + }, "services": { + "start_network": "Увімкнути", + "stop_network": "Вимкнути", + "heal_network": "Виправити мережу", + "test_network": "Тестувати ", + "soft_reset": "Скидання", "save_config": "Зберегти конфігурацію", + "add_node_secure": "Додати захищений вузол", "add_node": "Додати вузол", "remove_node": "Видалити вузол", "cancel_command": "Скасувати команду" }, "common": { + "value": "Значення", + "instance": "Екземпляр", + "index": "Індекс", "unknown": "невідомо", "wakeup_interval": "Інтервал пробудження" }, + "values": { + "header": "Значення вузлів" + }, "node_config": { + "header": "Параметри конфігурації вузла", "seconds": "секунд", "set_wakeup": "Встановити інтервал пробудження", "config_parameter": "Параметр конфігурації", "config_value": "Значення параметра", + "true": "Істина", + "false": "Брехня", "set_config_parameter": "Встановити параметр налаштування" } }, @@ -752,7 +796,9 @@ "heading": "Управління сервером", "introduction": "Контролюйте сервер Home Assistant ... з Home Assistant", "restart": "Перезапустити", - "stop": "Зупинити" + "stop": "Зупинити", + "confirm_restart": "Ви впевнені, що хочете перезапустити Home Assistant?", + "confirm_stop": "Ви впевнені, що хочете зупинити Home Assistant?" } } } @@ -809,7 +855,7 @@ "header": "Змінити пароль", "current_password": "Поточний пароль", "new_password": "Новий пароль", - "confirm_new_password": "Підтвердіть Новий Пароль", + "confirm_new_password": "Підтвердіть новий пароль", "error_required": "Необхідно", "submit": "Відправити" }, @@ -876,7 +922,8 @@ "mfa": { "data": { "code": "Двофакторний Код Автентифікації" - } + }, + "description": "Введіть код двофакторної аутентифікації, отриманий від **{mfa_module_name}**:" } }, "error": { @@ -902,6 +949,24 @@ } }, "command_line": { + "step": { + "init": { + "data": { + "username": "Логін", + "password": "Пароль" + } + }, + "mfa": { + "data": { + "code": "Код двофакторної аутентифікації" + }, + "description": "Введіть код двофакторної аутентифікації, отриманий від **{mfa_module_name}**:" + } + }, + "error": { + "invalid_auth": "Невірний логін або пароль", + "invalid_code": "Невірний код аутентифікації" + }, "abort": { "login_expired": "Сесія закінчилася, увійдіть знову." } @@ -1000,6 +1065,10 @@ "save": "Зберегти", "unsaved_changes": "Незбережені зміни", "saved": "Збережено" + }, + "edit_lovelace": { + "header": "Заголовок для Lovelace", + "explanation": "Цей заголовок буде показаний над вашими картками в Lovelace" } }, "menu": { @@ -1069,7 +1138,8 @@ "common": { "loading": "Завантаження", "cancel": "Скасувати", - "save": "Зберегти" + "save": "Зберегти", + "successfully_saved": "Успішно збережено" }, "duration": { "day": "{count} {count, plural,\n one {д.}\n other {д.}\n}", @@ -1144,8 +1214,10 @@ }, "fan": { "speed": "Швидкість", - "oscillate": "Коливатися", - "direction": "Напрямок" + "oscillate": "Коливання", + "direction": "Напрямок", + "forward": "Від себе", + "reverse": "На себе" }, "light": { "brightness": "Яскравість", @@ -1167,7 +1239,8 @@ "fan_mode": "Режим вентилятора", "swing_mode": "Режим гойдання", "away_mode": "Режиму очікування", - "aux_heat": "Aux тепла" + "aux_heat": "Aux тепла", + "preset_mode": "Режим" }, "lock": { "code": "Код", @@ -1189,12 +1262,20 @@ "target_temperature": "Задана температура", "operation": "Операція", "away_mode": "Режиму очікування" + }, + "timer": { + "actions": { + "start": "Запуск", + "pause": "Пауза", + "cancel": "Скасувати", + "finish": "Готово" + } } }, "components": { "entity": { "entity-picker": { - "entity": "Entity" + "entity": "Об'єкт" } }, "service-picker": { @@ -1255,6 +1336,20 @@ "title": "Системні налаштування", "enable_new_entities_label": "Додавати нові об'єкти.", "enable_new_entities_description": "Автоматично додавати в Home Assistant знову виявлені об'єкти." + }, + "zha_device_info": { + "manuf": "Виробник: {manufacturer}", + "no_area": "Не вказано", + "services": { + "reconfigure": "Перенастроювання пристрою ZHA. Використовуйте цю службу, якщо у Вас є проблеми з пристроєм. Якщо даний пристрій працює від батареї, будь ласка, переконайтеся, що воно не знаходиться в режимі сну і приймає команди, коли ви запускаєте цю службу.", + "updateDeviceName": "Встановіть ім'я для цього пристрою в реєстрі пристроїв.", + "remove": "Видалити пристрій з мережі ZigBee." + }, + "zha_device_card": { + "device_name_placeholder": "Логін", + "area_picker_label": "Приміщення", + "update_name_button": "Оновити назву" + } } }, "auth_store": { @@ -1293,15 +1388,15 @@ "mailbox": "Поштова скринька", "media_player": "Медіа плеєр", "notify": "Повідомлення", - "plant": "Рослини", - "proximity": "Близькість", + "plant": "Рослина", + "proximity": "Відстань", "remote": "Пульт ДУ", "scene": "Сцена", "script": "Сценарій", "sensor": "Датчик", "sun": "Сонце", "switch": "Перемикач", - "updater": "Оновлювач", + "updater": "Оновлення", "weblink": "Посилання", "zwave": "Z-Wave", "vacuum": "Пилосос", @@ -1340,7 +1435,7 @@ "off": "Вимкнено", "heating": "Опалення", "cooling": "Охолодження", - "drying": "Сушіння", + "drying": "Осушення", "idle": "Очікування", "fan": "Вентилятор" } diff --git a/translations/zh-Hans.json b/translations/zh-Hans.json index 8a491a0b24..9f39acb7d2 100644 --- a/translations/zh-Hans.json +++ b/translations/zh-Hans.json @@ -327,6 +327,9 @@ }, "info": { "title": "信息" + }, + "logs": { + "title": "日志" } } }, @@ -498,6 +501,9 @@ "event": "事件:", "enter": "进入", "leave": "离开" + }, + "device": { + "label": "设备" } }, "learn_more": "详细了解触发条件" @@ -594,13 +600,14 @@ "caption": "Z-Wave", "description": "管理 Z-Wave 网络", "network_management": { - "header": "Z-Wave网络管理" + "header": "Z-Wave 网络管理", + "introduction": "运行影响 Z-Wave 网络的命令。大多数命令无法反馈是否执行成功,但您可以尝试检查 OZW 日志来确认。" }, "network_status": { - "network_stopped": "Z-Wave网络已停止", - "network_starting": "启动Z-Wave网络......", + "network_stopped": "Z-Wave 网络已停止", + "network_starting": "启动 Z-Wave 网络......", "network_starting_note": "这可能需要一段时间,具体取决于您的网络规模。", - "network_started": "Z-Wave网络开始", + "network_started": "Z-Wave 网络已启动", "network_started_note_some_queried": "已查询唤醒节点。睡眠节点将在唤醒时被查询。", "network_started_note_all_queried": "已查询所有节点。" }, @@ -746,7 +753,7 @@ "update": "更新", "enabled_label": "启用实体", "enabled_cause": "被{cause}禁用。", - "enabled_description": "已禁用的实体不再添加到Home Assistant。" + "enabled_description": "已禁用的实体不再添加到 Home Assistant。" } }, "person": { @@ -760,19 +767,19 @@ } }, "server_control": { - "caption": "服务器控制", - "description": "重新启动或停止Home Assistant服务器", + "caption": "服务控制", + "description": "重新启动或停止 Home Assistant 服务", "section": { "validation": { "heading": "配置有效性", "introduction": "此处可以帮助你检验最新修改的配置文件有效性", - "check_config": "配置检查", + "check_config": "检查配置", "valid": "配置有效!", "invalid": "配置无效" }, "reloading": { - "heading": "配置重载中", - "introduction": "Home Assistant 中的部分设定可以直接重载,无需重启服务器。点击重载按钮将重新载入新的设定。", + "heading": "配置重载", + "introduction": "Home Assistant 中的部分配置可以直接重载,而无需重启服务。点击重载按钮将重新载入新的配置。", "core": "重载核心模块", "group": "重载分组", "automation": "重载自动化", @@ -783,7 +790,9 @@ "heading": "服务器管理", "introduction": "在这里即可控制 Home Assistant 服务。", "restart": "重新启动", - "stop": "停止服务" + "stop": "停止服务", + "confirm_restart": "您确定要重新启动 Home Assistant 吗?", + "confirm_stop": "您确定要停止 Home Assistant 吗?" } } } @@ -860,7 +869,7 @@ "logout": "退出", "force_narrow": { "header": "始终隐藏侧边栏", - "description": "这将默认隐藏侧边栏,类似于移动设备上的体验。" + "description": "这将默认隐藏侧边栏,体验与手机版类似。" } }, "page-authorize": { @@ -1097,8 +1106,8 @@ "commute_home": "下班", "entertainment": "娱乐", "activity": "活动", - "hdmi_input": "HDMI输入", - "hdmi_switcher": "HDMI切换", + "hdmi_input": "HDMI 输入", + "hdmi_switcher": "HDMI 切换", "volume": "音量", "total_tv_time": "观看总时长", "turn_tv_off": "关闭电视", @@ -1305,7 +1314,7 @@ "config_entry_system_options": { "title": "系统选项", "enable_new_entities_label": "启用新添加的实体。", - "enable_new_entities_description": "如果禁用,新发现的实体将不会自动添加到Home Assistant。" + "enable_new_entities_description": "如果禁用,新发现的实体将不会自动添加到 Home Assistant。" } }, "auth_store": { @@ -1393,7 +1402,7 @@ "cooling": "制冷", "drying": "除湿", "idle": "空闲", - "fan": "风扇" + "fan": "送风" } } }, diff --git a/translations/zh-Hant.json b/translations/zh-Hant.json index 2061cf1446..5672c6cfed 100644 --- a/translations/zh-Hant.json +++ b/translations/zh-Hant.json @@ -251,7 +251,8 @@ "snowy-rainy": "有雪、有雨", "sunny": "晴天", "windy": "有風", - "windy-variant": "有風" + "windy-variant": "有風", + "exceptional": "例外" }, "vacuum": { "cleaning": "清掃中", @@ -327,6 +328,9 @@ }, "info": { "title": "資訊" + }, + "logs": { + "title": "記錄" } } }, @@ -498,6 +502,9 @@ "event": "事件:", "enter": "進入區域", "leave": "離開區域" + }, + "device": { + "label": "裝置" } }, "learn_more": "詳細了解觸發條件" @@ -544,6 +551,9 @@ "label": "區域", "entity": "區域物件", "zone": "區域" + }, + "device": { + "label": "裝置" } }, "learn_more": "詳細了解觸發判斷" @@ -640,7 +650,7 @@ }, "users": { "caption": "用戶", - "description": "管理用戶", + "description": "用戶管理", "picker": { "title": "用戶" }, @@ -670,7 +680,7 @@ "caption": "整合", "description": "管理已連線裝置與服務", "discovered": "已掃描", - "configured": "設定成功", + "configured": "已設定整合", "new": "設定新整合", "configure": "設定", "none": "尚未設定", @@ -787,7 +797,9 @@ "heading": "服務器管理", "introduction": "由 Home Assistant,控制 Home Assistant 伺服器。", "restart": "重啟", - "stop": "停止" + "stop": "停止", + "confirm_restart": "確定要重啟 Home Assistant 嗎?", + "confirm_stop": "確定要停止 Home Assistant 嗎?" } } } @@ -1054,6 +1066,9 @@ "save": "儲存", "unsaved_changes": "未儲存的變更", "saved": "已儲存" + }, + "edit_lovelace": { + "header": "Lovelace UI 的標題" } }, "menu": { @@ -1123,7 +1138,8 @@ "common": { "loading": "讀取中", "cancel": "取消", - "save": "儲存" + "save": "儲存", + "successfully_saved": "成功儲存" }, "duration": { "day": "{count} {count, plural,\none {天}\nother {天}\n}", @@ -1199,7 +1215,9 @@ "fan": { "speed": "風速", "oscillate": "擺動", - "direction": "方向" + "direction": "方向", + "forward": "正向", + "reverse": "反向" }, "light": { "brightness": "亮度", @@ -1244,6 +1262,14 @@ "target_temperature": "設定溫度", "operation": "運轉模式", "away_mode": "外出模式" + }, + "timer": { + "actions": { + "start": "開始", + "pause": "暫停", + "cancel": "取消", + "finish": "完成" + } } }, "components": { @@ -1308,8 +1334,20 @@ }, "config_entry_system_options": { "title": "系統選項", - "enable_new_entities_label": "啟用新增之物件。", + "enable_new_entities_label": "啟用新增物件", "enable_new_entities_description": "關閉後,新發現的物件將不會自動新增至 Home Assistant。" + }, + "zha_device_info": { + "manuf": "由 {manufacturer}", + "no_area": "無分區", + "services": { + "remove": "從 Zigbee 網路移除裝置。" + }, + "zha_device_card": { + "device_name_placeholder": "使用者姓氏", + "area_picker_label": "分區", + "update_name_button": "更新名稱" + } } }, "auth_store": { diff --git a/tsconfig.json b/tsconfig.json index 7ca6093963..6e9415d1ab 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,6 +12,7 @@ "noImplicitReturns": true, "noFallthroughCasesInSwitch": true, "strict": true, + "sourceMap": true, "noImplicitAny": false, "skipLibCheck": true, "resolveJsonModule": true, diff --git a/yarn.lock b/yarn.lock index db118c96b2..10a5ea9825 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,7 +9,7 @@ dependencies: "@babel/highlight" "^7.0.0" -"@babel/core@^7.0.0", "@babel/core@^7.4.0": +"@babel/core@^7.0.0": version "7.4.0" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.4.0.tgz#248fd6874b7d755010bfe61f557461d4f446d9e9" integrity sha512-Dzl7U0/T69DFOTwqz/FJdnOSWS57NpjNfCwMKHABr589Lg8uX1RrlBIJ7L5Dubt/xkLsx0xH5EBFzlBVes1ayA== @@ -55,14 +55,6 @@ "@babel/helper-explode-assignable-expression" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-builder-react-jsx@^7.3.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz#a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4" - integrity sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw== - dependencies: - "@babel/types" "^7.3.0" - esutils "^2.0.0" - "@babel/helper-call-delegate@^7.4.0": version "7.4.0" resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.0.tgz#f308eabe0d44f451217853aedf4dea5f6fe3294f" @@ -72,18 +64,6 @@ "@babel/traverse" "^7.4.0" "@babel/types" "^7.4.0" -"@babel/helper-create-class-features-plugin@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.4.0.tgz#30fd090e059d021995c1762a5b76798fa0b51d82" - integrity sha512-2K8NohdOT7P6Vyp23QH4w2IleP8yG3UJsbRKwA4YP6H8fErcLkFuuEEqbF2/BYBKSNci/FWJiqm6R3VhM/QHgw== - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-member-expression-to-functions" "^7.0.0" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.4.0" - "@babel/helper-split-export-declaration" "^7.4.0" - "@babel/helper-define-map@^7.4.0": version "7.4.0" resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.4.0.tgz#cbfd8c1b2f12708e262c26f600cd16ed6a3bc6c9" @@ -233,19 +213,19 @@ esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.0.0", "@babel/parser@^7.4.0": +"@babel/parser@^7.4.0": version "7.4.2" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.4.2.tgz#b4521a400cb5a871eab3890787b4bc1326d38d91" integrity sha512-9fJTDipQFvlfSVdD/JBtkiY0br9BtfvW2R8wo6CX/Ej2eMuV0gWPk1M67Mt3eggQvBqYW1FCEk8BN7WvGm/g5g== -"@babel/plugin-external-helpers@^7.0.0", "@babel/plugin-external-helpers@^7.2.0": +"@babel/plugin-external-helpers@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-external-helpers/-/plugin-external-helpers-7.2.0.tgz#7f4cb7dee651cd380d2034847d914288467a6be4" integrity sha512-QFmtcCShFkyAsNtdCM3lJPmRe1iB+vPZymlB4LnDIKEBj2yKQLQKtoxXxJ8ePT5fwMl4QGg303p4mB0UsSI2/g== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-proposal-async-generator-functions@^7.0.0", "@babel/plugin-proposal-async-generator-functions@^7.2.0": +"@babel/plugin-proposal-async-generator-functions@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e" integrity sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ== @@ -254,32 +234,7 @@ "@babel/helper-remap-async-to-generator" "^7.1.0" "@babel/plugin-syntax-async-generators" "^7.2.0" -"@babel/plugin-proposal-class-properties@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.4.0.tgz#d70db61a2f1fd79de927eea91f6411c964e084b8" - integrity sha512-t2ECPNOXsIeK1JxJNKmgbzQtoG27KIlVE61vTqX0DKR9E9sZlVVxWUtEW9D5FlZ8b8j7SBNCHY47GgPKCKlpPg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.4.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-proposal-decorators@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.0.tgz#8e1bfd83efa54a5f662033afcc2b8e701f4bb3a9" - integrity sha512-d08TLmXeK/XbgCo7ZeZ+JaeZDtDai/2ctapTRsWWkkmy7G/cqz8DQN/HlWG7RR4YmfXxmExsbU3SuCjlM7AtUg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.4.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-decorators" "^7.2.0" - -"@babel/plugin-proposal-json-strings@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317" - integrity sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-json-strings" "^7.2.0" - -"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.4.0": +"@babel/plugin-proposal-object-rest-spread@^7.0.0": version "7.4.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.0.tgz#e4960575205eadf2a1ab4e0c79f9504d5b82a97f" integrity sha512-uTNi8pPYyUH2eWHyYWWSYJKwKg34hhgl4/dbejEjL+64OhbHjTX7wEVWMQl82tEmdDsGeu77+s8HHLS627h6OQ== @@ -287,23 +242,6 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" -"@babel/plugin-proposal-optional-catch-binding@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5" - integrity sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" - -"@babel/plugin-proposal-unicode-property-regex@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.0.tgz#202d91ee977d760ef83f4f416b280d568be84623" - integrity sha512-h/KjEZ3nK9wv1P1FSNb9G079jXrNYR0Ko+7XkOx85+gM24iZbPn0rh4vCftk+5QKY7y1uByFataBTmX7irEF1w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - regexpu-core "^4.5.4" - "@babel/plugin-syntax-async-generators@^7.0.0", "@babel/plugin-syntax-async-generators@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f" @@ -311,14 +249,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-decorators@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz#c50b1b957dcc69e4b1127b65e1c33eef61570c1b" - integrity sha512-38QdqVoXdHUQfTpZo3rQwqQdWtCn5tMv4uV6r2RMfTqNBuv4ZBhz79SfaQWKTVmxHjeFv/DnXVC/+agHCklYWA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-dynamic-import@^7.0.0", "@babel/plugin-syntax-dynamic-import@^7.2.0": +"@babel/plugin-syntax-dynamic-import@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz#69c159ffaf4998122161ad8ebc5e6d1f55df8612" integrity sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w== @@ -332,20 +263,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-json-strings@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470" - integrity sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-jsx@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7" - integrity sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" @@ -353,28 +270,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-optional-catch-binding@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c" - integrity sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-typescript@^7.2.0": - version "7.3.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.3.3.tgz#a7cc3f66119a9f7ebe2de5383cce193473d65991" - integrity sha512-dGwbSMA1YhVS8+31CnPR7LB4pcbrzcV99wQzby4uAfrkZPYZlQ7ImwdpzLqi6Z6IL02b8IAL379CaMwo0x5Lag== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-arrow-functions@^7.0.0", "@babel/plugin-transform-arrow-functions@^7.2.0": +"@babel/plugin-transform-arrow-functions@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550" integrity sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-async-to-generator@^7.0.0", "@babel/plugin-transform-async-to-generator@^7.4.0": +"@babel/plugin-transform-async-to-generator@^7.0.0": version "7.4.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.0.tgz#234fe3e458dce95865c0d152d256119b237834b0" integrity sha512-EeaFdCeUULM+GPFEsf7pFcNSxM7hYjoj5fiYbyuiXobW4JhFnjAv9OWzNwHyHcKoPNpAfeRDuW6VyaXEDUBa7g== @@ -383,14 +286,14 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-remap-async-to-generator" "^7.1.0" -"@babel/plugin-transform-block-scoped-functions@^7.0.0", "@babel/plugin-transform-block-scoped-functions@^7.2.0": +"@babel/plugin-transform-block-scoped-functions@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190" integrity sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-block-scoping@^7.0.0", "@babel/plugin-transform-block-scoping@^7.4.0": +"@babel/plugin-transform-block-scoping@^7.0.0": version "7.4.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.0.tgz#164df3bb41e3deb954c4ca32ffa9fcaa56d30bcb" integrity sha512-AWyt3k+fBXQqt2qb9r97tn3iBwFpiv9xdAiG+Gr2HpAZpuayvbL55yWrsV3MyHvXk/4vmSiedhDRl1YI2Iy5nQ== @@ -398,7 +301,7 @@ "@babel/helper-plugin-utils" "^7.0.0" lodash "^4.17.11" -"@babel/plugin-transform-classes@^7.0.0", "@babel/plugin-transform-classes@^7.4.0": +"@babel/plugin-transform-classes@^7.0.0": version "7.4.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.0.tgz#e3428d3c8a3d01f33b10c529b998ba1707043d4d" integrity sha512-XGg1Mhbw4LDmrO9rSTNe+uI79tQPdGs0YASlxgweYRLZqo/EQktjaOV4tchL/UZbM0F+/94uOipmdNGoaGOEYg== @@ -412,37 +315,28 @@ "@babel/helper-split-export-declaration" "^7.4.0" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.0.0", "@babel/plugin-transform-computed-properties@^7.2.0": +"@babel/plugin-transform-computed-properties@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da" integrity sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-destructuring@^7.0.0", "@babel/plugin-transform-destructuring@^7.4.0": +"@babel/plugin-transform-destructuring@^7.0.0": version "7.4.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.0.tgz#acbb9b2418d290107db333f4d6cd8aa6aea00343" integrity sha512-HySkoatyYTY3ZwLI8GGvkRWCFrjAGXUHur5sMecmCIdIharnlcWWivOqDJI76vvmVZfzwb6G08NREsrY96RhGQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-dotall-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz#f0aabb93d120a8ac61e925ea0ba440812dbe0e49" - integrity sha512-sKxnyHfizweTgKZf7XsXu/CNupKhzijptfTM+bozonIuyVrLWVUvYjE2bhuSBML8VQeMxq4Mm63Q9qvcvUcciQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - regexpu-core "^4.1.3" - -"@babel/plugin-transform-duplicate-keys@^7.0.0", "@babel/plugin-transform-duplicate-keys@^7.2.0": +"@babel/plugin-transform-duplicate-keys@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz#d952c4930f312a4dbfff18f0b2914e60c35530b3" integrity sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-exponentiation-operator@^7.0.0", "@babel/plugin-transform-exponentiation-operator@^7.2.0": +"@babel/plugin-transform-exponentiation-operator@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008" integrity sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A== @@ -450,14 +344,14 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-for-of@^7.0.0", "@babel/plugin-transform-for-of@^7.4.0": +"@babel/plugin-transform-for-of@^7.0.0": version "7.4.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.0.tgz#56c8c36677f5d4a16b80b12f7b768de064aaeb5f" integrity sha512-vWdfCEYLlYSxbsKj5lGtzA49K3KANtb8qCPQ1em07txJzsBwY+cKJzBHizj5fl3CCx7vt+WPdgDLTHmydkbQSQ== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-function-name@^7.0.0", "@babel/plugin-transform-function-name@^7.2.0": +"@babel/plugin-transform-function-name@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz#f7930362829ff99a3174c39f0afcc024ef59731a" integrity sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ== @@ -472,14 +366,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-literals@^7.0.0", "@babel/plugin-transform-literals@^7.2.0": +"@babel/plugin-transform-literals@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1" integrity sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-modules-amd@^7.0.0", "@babel/plugin-transform-modules-amd@^7.2.0": +"@babel/plugin-transform-modules-amd@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz#82a9bce45b95441f617a24011dc89d12da7f4ee6" integrity sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw== @@ -487,46 +381,7 @@ "@babel/helper-module-transforms" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-modules-commonjs@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.0.tgz#3b8ec61714d3b75d20c5ccfa157f2c2e087fd4ca" - integrity sha512-iWKAooAkipG7g1IY0eah7SumzfnIT3WNhT4uYB2kIsvHnNSB6MDYVa5qyICSwaTBDBY2c4SnJ3JtEa6ltJd6Jw== - dependencies: - "@babel/helper-module-transforms" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-simple-access" "^7.1.0" - -"@babel/plugin-transform-modules-systemjs@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.0.tgz#c2495e55528135797bc816f5d50f851698c586a1" - integrity sha512-gjPdHmqiNhVoBqus5qK60mWPp1CmYWp/tkh11mvb0rrys01HycEGD7NvvSoKXlWEfSM9TcL36CpsK8ElsADptQ== - dependencies: - "@babel/helper-hoist-variables" "^7.4.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-modules-umd@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae" - integrity sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw== - dependencies: - "@babel/helper-module-transforms" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.4.2": - version "7.4.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.2.tgz#800391136d6cbcc80728dbdba3c1c6e46f86c12e" - integrity sha512-NsAuliSwkL3WO2dzWTOL1oZJHm0TM8ZY8ZSxk2ANyKkt5SQlToGA4pzctmq1BEjoacurdwZ3xp2dCQWJkME0gQ== - dependencies: - regexp-tree "^0.1.0" - -"@babel/plugin-transform-new-target@^7.4.0": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.0.tgz#67658a1d944edb53c8d4fa3004473a0dd7838150" - integrity sha512-6ZKNgMQmQmrEX/ncuCwnnw1yVGoaOW5KpxNhoWI7pCQdA0uZ0HqHGqenCUIENAnxRjy2WwNQ30gfGdIgqJXXqw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-object-super@^7.0.0", "@babel/plugin-transform-object-super@^7.2.0": +"@babel/plugin-transform-object-super@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz#b35d4c10f56bab5d650047dad0f1d8e8814b6598" integrity sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg== @@ -534,7 +389,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-replace-supers" "^7.1.0" -"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.4.0": +"@babel/plugin-transform-parameters@^7.0.0": version "7.4.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.0.tgz#a1309426fac4eecd2a9439a4c8c35124a11a48a9" integrity sha512-Xqv6d1X+doyiuCGDoVJFtlZx0onAX0tnc3dY8w71pv/O0dODAbusVv2Ale3cGOwfiyi895ivOBhYa9DhAM8dUA== @@ -543,37 +398,28 @@ "@babel/helper-get-function-arity" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-react-jsx@^7.3.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290" - integrity sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg== - dependencies: - "@babel/helper-builder-react-jsx" "^7.3.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@babel/plugin-transform-regenerator@^7.0.0", "@babel/plugin-transform-regenerator@^7.4.0": +"@babel/plugin-transform-regenerator@^7.0.0": version "7.4.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.0.tgz#0780e27ee458cc3fdbad18294d703e972ae1f6d1" integrity sha512-SZ+CgL4F0wm4npojPU6swo/cK4FcbLgxLd4cWpHaNXY/NJ2dpahODCqBbAwb2rDmVszVb3SSjnk9/vik3AYdBw== dependencies: regenerator-transform "^0.13.4" -"@babel/plugin-transform-shorthand-properties@^7.0.0", "@babel/plugin-transform-shorthand-properties@^7.2.0": +"@babel/plugin-transform-shorthand-properties@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0" integrity sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-spread@^7.0.0", "@babel/plugin-transform-spread@^7.2.0": +"@babel/plugin-transform-spread@^7.0.0": version "7.2.2" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406" integrity sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-sticky-regex@^7.0.0", "@babel/plugin-transform-sticky-regex@^7.2.0": +"@babel/plugin-transform-sticky-regex@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1" integrity sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw== @@ -581,7 +427,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/helper-regex" "^7.0.0" -"@babel/plugin-transform-template-literals@^7.0.0", "@babel/plugin-transform-template-literals@^7.2.0": +"@babel/plugin-transform-template-literals@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz#d87ed01b8eaac7a92473f608c97c089de2ba1e5b" integrity sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg== @@ -589,22 +435,14 @@ "@babel/helper-annotate-as-pure" "^7.0.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-typeof-symbol@^7.0.0", "@babel/plugin-transform-typeof-symbol@^7.2.0": +"@babel/plugin-transform-typeof-symbol@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2" integrity sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw== dependencies: "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-typescript@^7.3.2": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.4.0.tgz#0389ec53a34e80f99f708c4ca311181449a68eb1" - integrity sha512-U7/+zKnRZg04ggM/Bm+xmu2B/PrwyDQTT/V89FXWYWNMxBDwSx56u6jtk9SEbfLFbZaEI72L+5LPvQjeZgFCrQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-typescript" "^7.2.0" - -"@babel/plugin-transform-unicode-regex@^7.0.0", "@babel/plugin-transform-unicode-regex@^7.2.0": +"@babel/plugin-transform-unicode-regex@^7.0.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz#4eb8db16f972f8abb5062c161b8b115546ade08b" integrity sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA== @@ -613,65 +451,6 @@ "@babel/helper-regex" "^7.0.0" regexpu-core "^4.1.3" -"@babel/preset-env@^7.4.2": - version "7.4.2" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.4.2.tgz#2f5ba1de2daefa9dcca653848f96c7ce2e406676" - integrity sha512-OEz6VOZaI9LW08CWVS3d9g/0jZA6YCn1gsKIy/fut7yZCJti5Lm1/Hi+uo/U+ODm7g4I6gULrCP+/+laT8xAsA== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-async-generator-functions" "^7.2.0" - "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.4.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.0" - "@babel/plugin-syntax-async-generators" "^7.2.0" - "@babel/plugin-syntax-json-strings" "^7.2.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" - "@babel/plugin-transform-arrow-functions" "^7.2.0" - "@babel/plugin-transform-async-to-generator" "^7.4.0" - "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.4.0" - "@babel/plugin-transform-classes" "^7.4.0" - "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.4.0" - "@babel/plugin-transform-dotall-regex" "^7.2.0" - "@babel/plugin-transform-duplicate-keys" "^7.2.0" - "@babel/plugin-transform-exponentiation-operator" "^7.2.0" - "@babel/plugin-transform-for-of" "^7.4.0" - "@babel/plugin-transform-function-name" "^7.2.0" - "@babel/plugin-transform-literals" "^7.2.0" - "@babel/plugin-transform-modules-amd" "^7.2.0" - "@babel/plugin-transform-modules-commonjs" "^7.4.0" - "@babel/plugin-transform-modules-systemjs" "^7.4.0" - "@babel/plugin-transform-modules-umd" "^7.2.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.2" - "@babel/plugin-transform-new-target" "^7.4.0" - "@babel/plugin-transform-object-super" "^7.2.0" - "@babel/plugin-transform-parameters" "^7.4.0" - "@babel/plugin-transform-regenerator" "^7.4.0" - "@babel/plugin-transform-shorthand-properties" "^7.2.0" - "@babel/plugin-transform-spread" "^7.2.0" - "@babel/plugin-transform-sticky-regex" "^7.2.0" - "@babel/plugin-transform-template-literals" "^7.2.0" - "@babel/plugin-transform-typeof-symbol" "^7.2.0" - "@babel/plugin-transform-unicode-regex" "^7.2.0" - "@babel/types" "^7.4.0" - browserslist "^4.4.2" - core-js-compat "^3.0.0" - invariant "^2.2.2" - js-levenshtein "^1.1.3" - semver "^5.3.0" - -"@babel/preset-typescript@^7.3.3": - version "7.3.3" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.3.3.tgz#88669911053fa16b2b276ea2ede2ca603b3f307a" - integrity sha512-mzMVuIP4lqtn4du2ynEfdO0+RYcslwrZiJHXu4MGaC1ctJiW2fyaeDrtjJGs7R/KebZ1sgowcIoWf4uRpEfKEg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-typescript" "^7.3.2" - "@babel/runtime@7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0.tgz#adeb78fedfc855aa05bc041640f3f6f98e85424c" @@ -710,7 +489,7 @@ globals "^11.1.0" lodash "^4.17.11" -"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.42", "@babel/types@^7.2.0", "@babel/types@^7.2.2", "@babel/types@^7.3.0", "@babel/types@^7.4.0": +"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.42", "@babel/types@^7.2.0", "@babel/types@^7.2.2", "@babel/types@^7.4.0": version "7.4.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.4.0.tgz#670724f77d24cce6cc7d8cf64599d511d164894c" integrity sha512-aPvkXyU2SPOnztlgo8n9cEiXW755mgyvueUPcpStqdzoSPm0fjO0vQBjLkt3JKJW7ufikfcnMTTPsN1xaTsBPA== @@ -726,184 +505,187 @@ dependencies: base64-js "^1.3.0" -"@material/animation@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@material/animation/-/animation-1.0.0.tgz#dfd8575c8b031203917dc838ac0e3c0fe0f6709b" - integrity sha512-Ed5/vggn6ZhSJ87yn3ZS1d826VJNFz73jHF2bSsgRtHDoB8KCuOwQMfdgAgDa4lKDF6CDIPCKBZPKrs2ubehdw== +"@material/animation@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@material/animation/-/animation-3.1.0.tgz#ab04e7c2e92ab370a2b28d12af1b88538d23014f" + integrity sha512-ZfP95awrPBLhpaCTPNx+xKYPp2D88fzf5p5YNVp6diUAGRpq3g12Aq7qJfIHDXAFo5CtrYhgOKRqIKxUVcFisQ== dependencies: tslib "^1.9.3" -"@material/base@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@material/base/-/base-1.0.0.tgz#e4ef0b22c54aa887af94f5988fb1c0cb3245beba" - integrity sha512-5dxFp46x5FA+Epg6YHLzN+5zRt9S2wR84UdvVAEJ1egea94m9UHUg7y9tAnNSN16aexRSywmzyLwPr+i8PGEYA== +"@material/base@^3.0.0", "@material/base@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@material/base/-/base-3.1.0.tgz#ab933896ab6390d4e1d2f9797b74a90f47db272a" + integrity sha512-pWEBHyPrMV3rdnjqWWH96h5t3MxQI6V1J9jOor+UBG7bXQtr6InTabTqhz5CLY7r+qZU8YvNh2OKIy8heP0cyQ== dependencies: tslib "^1.9.3" -"@material/button@^1.0.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@material/button/-/button-1.1.1.tgz#35af0d295f6ce6e3df9d4978485b5294d794f682" - integrity sha512-03aEyzZBIeqpgZkqLjro/enz8ORUnfQslBUdAgkPqdjh1X0oIEugr3UaFyC5QlSBTU3j3GIsnKIxWaggkRenpQ== +"@material/button@^3.0.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@material/button/-/button-3.1.0.tgz#bee60a7a5ec0a7c3dcb242dac48bbdaf16bac66b" + integrity sha512-DBx3UYtvh8/Vn8/2oDrwrpkyGQrZCElcbkJy8CnZtftbb1P5qVKGvXqEeoND3d0AWTIwdKDYbX3X0zSXQUe3iA== dependencies: - "@material/elevation" "^1.1.0" - "@material/feature-targeting" "^0.44.1" - "@material/ripple" "^1.1.0" - "@material/rtl" "^0.42.0" - "@material/shape" "^1.1.1" - "@material/theme" "^1.1.0" - "@material/typography" "^1.0.0" + "@material/elevation" "^3.1.0" + "@material/feature-targeting" "^3.1.0" + "@material/ripple" "^3.1.0" + "@material/rtl" "^3.1.0" + "@material/shape" "^3.1.0" + "@material/theme" "^3.1.0" + "@material/typography" "^3.1.0" -"@material/dom@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@material/dom/-/dom-1.1.0.tgz#3bd3d1a3415b4181118fecb182d93beda56a6f8c" - integrity sha512-+HWW38ZaM2UBPu4+7QCusLDSf4tFT31rsEXHkTkxYSg/QpDivfPx6YDz4OmYtafmhPR1d1YjqB3MYysUHdodyw== +"@material/checkbox@^3.0.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@material/checkbox/-/checkbox-3.1.0.tgz#bb8eadda0d260e75e8a7479418490eec846a8520" + integrity sha512-Rcv6Srj2p3MTsODPLJLgRzGW142ovQTKblkCy9AxABZriQUPRCV/fkJwB0LlqecHgubhnjhtj2Zui0o9jhfu/w== + dependencies: + "@material/animation" "^3.1.0" + "@material/base" "^3.1.0" + "@material/dom" "^3.1.0" + "@material/feature-targeting" "^3.1.0" + "@material/ripple" "^3.1.0" + "@material/rtl" "^3.1.0" + "@material/theme" "^3.1.0" + tslib "^1.9.3" + +"@material/dom@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@material/dom/-/dom-3.1.0.tgz#1e58cad0cd5e1d9d6f6cb07422e327ad34a9d405" + integrity sha512-RtBLSkrBjMfHwknaGBifAIC8cBWF9pXjz2IYqfI2braB6SfQI4vhdJviwyiA5BmA/psn3cKpBUZbHI0ym0O0SQ== dependencies: tslib "^1.9.3" -"@material/elevation@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@material/elevation/-/elevation-1.1.0.tgz#def23c360ae067b43c1632a331b9883b9f679cc5" - integrity sha512-m4eATJvDhWK1BT+yA1iHz5mhAk8cV9olC4mjVzm4PTAqhDH2yya4WzjN1HPVHE/a65ObyZ7V4qopxu9MRocm3A== +"@material/elevation@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@material/elevation/-/elevation-3.1.0.tgz#2fcbde47653cc115519a39acc2d04b34e4cff12b" + integrity sha512-e45LqiG6LfbR1M52YkSLA7pQPeYJOuOVzLp27xy2072TnLuJexMxhEaG4O1novEIjsTtMjqfrfJ/koODU5vEew== dependencies: - "@material/animation" "^1.0.0" - "@material/feature-targeting" "^0.44.1" - "@material/theme" "^1.1.0" + "@material/animation" "^3.1.0" + "@material/feature-targeting" "^3.1.0" + "@material/theme" "^3.1.0" -"@material/feature-targeting@^0.44.1": - version "0.44.1" - resolved "https://registry.yarnpkg.com/@material/feature-targeting/-/feature-targeting-0.44.1.tgz#afafc80294e5efab94bee31a187273d43d34979a" - integrity sha512-90cc7njn4aHbH9UxY8qgZth1W5JgOgcEdWdubH1t7sFkwqFxS5g3zgxSBt46TygFBVIXNZNq35Xmg80wgqO7Pg== - -"@material/mwc-base@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@material/mwc-base/-/mwc-base-0.6.0.tgz#2077b5f94c3d8fa2a65736b02c3d380314ea1154" - integrity sha512-AiMEoU3dkLhuEnK5HJ0yMrdcyq5rUq9LdooxOSLMzPRr/ALT8YS14/oklufYiPagehzJcL0MeiyL40OlSpkyBA== +"@material/fab@^3.0.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@material/fab/-/fab-3.1.0.tgz#2ea42ee0e351b94f8ce2510bd292f7f9d05ef6eb" + integrity sha512-/mYsi9u/N7m9XlRR7tyCEh3WlYjrUqKS9FjxTdB08r6v04bTK5G7XTAtnvPrW47QCVWV0iL3FM2iwO0sVXqzZg== dependencies: - "@material/base" "^1.0.0" - lit-element "^2.0.1" + "@material/animation" "^3.1.0" + "@material/elevation" "^3.1.0" + "@material/feature-targeting" "^3.1.0" + "@material/ripple" "^3.1.0" + "@material/rtl" "^3.1.0" + "@material/shape" "^3.1.0" + "@material/theme" "^3.1.0" + "@material/typography" "^3.1.0" + +"@material/feature-targeting@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@material/feature-targeting/-/feature-targeting-3.1.0.tgz#a6f6cacd1e0c9b60dc82f2f3bb2de8cfd472252b" + integrity sha512-aXAa1Pv6w32URacE9LfMsl9zI6hFwx1K0Lp3Xpyf4rAkmaAB6z0gOkhicOrVFc0f64YheJgHjE7hJFieVenQdw== + +"@material/mwc-base@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@material/mwc-base/-/mwc-base-0.8.0.tgz#35b8c6e73feb9c262272f723ed0c271939997365" + integrity sha512-9qyC6eOKduzHaKmo6p5x53OAw2+mCB4t5roesqYiOUL8lJ8ZVssDczQvzSAKOcRd4JY8RyTgtpJFjBrScmWz8g== + dependencies: + "@material/base" "^3.0.0" + "@material/dom" "^3.1.0" + lit-element "^2.2.1" lit-html "^1.0.0" + tslib "^1.10.0" -"@material/mwc-button@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@material/mwc-button/-/mwc-button-0.6.0.tgz#5264623ab7bfc80cc0a118ae9188a2c69b4a8e8c" - integrity sha512-oZTXXtg5z7tqvbFN5gMWsya/OU1ThEQ8ZZ/KN4PzDHGoYcjGLWWYTyDtarfP2VfJn+pRL0Ql5+l3i8j1i4Vr8Q== +"@material/mwc-button@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@material/mwc-button/-/mwc-button-0.8.0.tgz#32576f27383e9f60c3eedfa1e0a3b6c6ab85529a" + integrity sha512-f4BelOfCFVlNJuNQuO9nImYv21STPg4iStrzG7N11ptACFj6TxuOR9ghT9xAHHIL26RIySGq/N+eAy9nuFynIQ== dependencies: - "@material/button" "^1.0.0" - "@material/mwc-base" "^0.6.0" - "@material/mwc-icon" "^0.6.0" - "@material/mwc-ripple" "^0.6.0" + "@material/button" "^3.0.0" + "@material/mwc-base" "^0.8.0" + "@material/mwc-icon" "^0.8.0" + "@material/mwc-ripple" "^0.8.0" + tslib "^1.10.0" -"@material/mwc-icon@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@material/mwc-icon/-/mwc-icon-0.6.0.tgz#67a71d95aa9a6d2379c5896673c2d0f1f2666e4e" - integrity sha512-Pm4nalbSfsgMz0K8dRaE2tBsyiCozrlgh9iEtBvRdYV6IzPJacXjqsf8+2faW3lfmh4PRLQzVJ7Fldm+ljxzBA== +"@material/mwc-checkbox@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@material/mwc-checkbox/-/mwc-checkbox-0.8.0.tgz#83105189c6fccca69e2342c27540bc23d910a15c" + integrity sha512-5qRfoON6FttQoAeTrzI00ODlO+k8dTAREKtZs4cpP3eM0KQqajS4ZaOJhtIa/ew/8XKoEShoSgRaEEtFbR91Fw== dependencies: - "@material/mwc-base" "^0.6.0" + "@material/checkbox" "^3.0.0" + "@material/mwc-base" "^0.8.0" + "@material/mwc-ripple" "^0.8.0" + tslib "^1.10.0" -"@material/mwc-ripple@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@material/mwc-ripple/-/mwc-ripple-0.6.0.tgz#602eb1855acd7e02d79398290ff223f9335976e3" - integrity sha512-K0b3VtKTlUd2RLaSJd6y9lBX47A84QjsK4eMn3PhDlWG7CkfhRf5XBZrOf/wzrqNf2/0w5of+8rFkohTraLHiw== +"@material/mwc-fab@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@material/mwc-fab/-/mwc-fab-0.8.0.tgz#8e9afac962789bd98e2417712092f1358f355531" + integrity sha512-IzRIYX9Xze9cc4CWGrz2Ncg9U5PmDTyKFVcHwGmyM0UQ2Il8gQxrpt7DxiDQT2gutKhlr+nHo71fQifk6Zi2mQ== dependencies: - "@material/mwc-base" "^0.6.0" - "@material/ripple" "^1.0.0" + "@material/fab" "^3.0.0" + "@material/mwc-base" "^0.8.0" + "@material/mwc-icon" "^0.8.0" + "@material/mwc-ripple" "^0.8.0" + tslib "^1.10.0" + +"@material/mwc-icon@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@material/mwc-icon/-/mwc-icon-0.8.0.tgz#6dd04def560f1147be1f6d1b0b45a26e1199a97c" + integrity sha512-jhSol1nV1KzxTXm82q16/Rzfy8epmfLehL2L0+mOCGvka4VUL/GJkjfbaKJMKwQWjXAgaOzHX7D9vVyr3EA5wg== + dependencies: + "@material/mwc-base" "^0.8.0" + tslib "^1.10.0" + +"@material/mwc-ripple@0.8.0", "@material/mwc-ripple@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@material/mwc-ripple/-/mwc-ripple-0.8.0.tgz#a18e43a087e4356de8740d082378d58a166aa93c" + integrity sha512-hJL+8xNunE+GUk+dtgeIVL9BJM5QPl5uyIufxzGEbVu+pmUfVDml+3HQLapO6Q5MQZMZpO4tDNwJNx9HOAo5KQ== + dependencies: + "@material/dom" "^3.1.0" + "@material/mwc-base" "^0.8.0" + "@material/ripple" "^3.0.0" lit-html "^1.0.0" + tslib "^1.10.0" -"@material/ripple@^1.0.0", "@material/ripple@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@material/ripple/-/ripple-1.1.0.tgz#236016fb30c8366faf143297df2c38166d84ffbc" - integrity sha512-mkfDBZAmxjpRG7V9TrfOmLxt1g/wvGHCXtYPgvH7W8ozjf53edqxLOFENEdvHbie27y9nyixzXn0gzU0HnxSeA== +"@material/ripple@^3.0.0", "@material/ripple@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@material/ripple/-/ripple-3.1.0.tgz#5cb581e9a70415c50c8b92ecd8628d5eeae34c74" + integrity sha512-mYvd2iWbQyVd6aLS9alHShoL05p/D0cvh5h1ga3atz55azooMLhGsbbE1YlEqUDKHKNuNvdVFm+0IfWdvvRgsw== dependencies: - "@material/animation" "^1.0.0" - "@material/base" "^1.0.0" - "@material/dom" "^1.1.0" - "@material/feature-targeting" "^0.44.1" - "@material/theme" "^1.1.0" + "@material/animation" "^3.1.0" + "@material/base" "^3.1.0" + "@material/dom" "^3.1.0" + "@material/feature-targeting" "^3.1.0" + "@material/theme" "^3.1.0" tslib "^1.9.3" -"@material/rtl@^0.42.0": - version "0.42.0" - resolved "https://registry.yarnpkg.com/@material/rtl/-/rtl-0.42.0.tgz#1836e78186c2d8b996f6fbf97adab203535335bc" - integrity sha512-VrnrKJzhmspsN8WXHuxxBZ69yM5IwhCUqWr1t1eNfw3ZEvEj7i1g3P31HGowKThIN1dc1Wh4LE14rCISWCtv5w== +"@material/rtl@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@material/rtl/-/rtl-3.1.0.tgz#8a5254bcf6c4d897e16206d52ba98b8eb98d45b7" + integrity sha512-HH19edQNb139zC+1SZ6/C9G92E54fUrnnW9AAF7t5eGjGdF26YJXJ/uhz+TnFhNUMi/QGrKUSycd4o73nU1m4A== -"@material/shape@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@material/shape/-/shape-1.1.1.tgz#7a5368694bc3555e69ea547950904b46fa1024bf" - integrity sha512-Jge/h1XBLjdLlam4QMSzVgM99e/N8+elQROPkltqVP7eyLc17BwM3aP5cLVfZDgrJgvsjUxbgAP1H1j8sqmUyg== +"@material/shape@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@material/shape/-/shape-3.1.0.tgz#7ccac6606d0ae45b779b3e52b8921c09c2b2f429" + integrity sha512-Oyvs7YjHfByA0e9IVVp7ojAlPwgSu3Bl0cioiE0OdkidkAaNu0izM2ryRzMBDH5o8+lRD0kpZoT+9CVVCdaYIg== dependencies: - "@material/feature-targeting" "^0.44.1" + "@material/feature-targeting" "^3.1.0" -"@material/theme@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@material/theme/-/theme-1.1.0.tgz#9c95dd804168c23c30589fcf09ecc5af5b3d1adc" - integrity sha512-YYUV9Rhbx4r/EMb/zoOYJUWjhXChNaLlH1rqt3vpNVyxRcxGqoVMGp5u1XALBCFiD9dACPKLIkKyRYa928nmPQ== +"@material/theme@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@material/theme/-/theme-3.1.0.tgz#d31147bbc9e20bdaa3e322c9e898e4fc98807d8c" + integrity sha512-N4JX+akOwg1faAvFvIEhDcwW4cZfUpwEn8lct6Vs3WczjLF6/KdIoLVaYh+eVl1bzfsoIuWvx56j0B1PjXZw9g== dependencies: - "@material/feature-targeting" "^0.44.1" + "@material/feature-targeting" "^3.1.0" -"@material/typography@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@material/typography/-/typography-1.0.0.tgz#327ecfcac5ee3af8a3a102f3f125a761202f4189" - integrity sha512-Oeqbjci1cC7jTE8/n3dwnkqKe9ZeWiaE+rgMtRYtRFw1HvAw14SpGA5EEAS/Li2Hu2KZ50FYCe3HYqShfxtChA== +"@material/typography@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@material/typography/-/typography-3.1.0.tgz#5a3aee31f49f6b8c87ebc91b77c5b896b280c492" + integrity sha512-aSNBQvVxIH1kORSYdLGuSTivx6oJ1MSOSTUAsUwhXPQLQlvbdFeZaqUp7xgn+EvRsHGRFhWk5YGuiBds9+7zQg== dependencies: - "@material/feature-targeting" "^0.44.1" + "@material/feature-targeting" "^3.1.0" "@mdi/svg@4.3.95": version "4.3.95" resolved "https://registry.yarnpkg.com/@mdi/svg/-/svg-4.3.95.tgz#f2121132baab9e8953ee7ef71834cbe2f03065bb" integrity sha512-RRda3q+270vhiL0Nt7oyeGX03zndEzkGJQJSz8dny1Yjwx2iVRUz51Xop6PTBPaEH4csa3sRkFY3q2PeIa2fKg== -"@mrmlnc/readdir-enhanced@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" - integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== - dependencies: - call-me-maybe "^1.0.1" - glob-to-regexp "^0.3.0" - -"@nodelib/fs.stat@^1.1.2": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" - integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== - -"@octokit/endpoint@^3.2.0": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-3.2.3.tgz#bd9aea60cd94ce336656b57a5c9cb7f10be8f4f3" - integrity sha512-yUPCt4vMIOclox13CUxzuKiPJIFo46b/6GhUnUTw5QySczN1L0DtSxgmIZrZV4SAb9EyAqrceoyrWoYVnfF2AA== - dependencies: - deepmerge "3.2.0" - is-plain-object "^2.0.4" - universal-user-agent "^2.0.1" - url-template "^2.0.8" - -"@octokit/request@2.4.2": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-2.4.2.tgz#87c36e820dd1e43b1629f4f35c95b00cd456320b" - integrity sha512-lxVlYYvwGbKSHXfbPk5vxEA8w4zHOH1wobado4a9EfsyD3Cbhuhus1w0Ye9Ro0eMubGO8kNy5d+xNFisM3Tvaw== - dependencies: - "@octokit/endpoint" "^3.2.0" - deprecation "^1.0.1" - is-plain-object "^2.0.4" - node-fetch "^2.3.0" - once "^1.4.0" - universal-user-agent "^2.0.1" - -"@octokit/rest@^16.2.0": - version "16.21.1" - resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-16.21.1.tgz#16993b0a9c19be95a0a11dae54af702cefac6765" - integrity sha512-T9YhgHMrpDK5fOnOOeF71HmHLjk7rRi+kaFt13NL9xVRYMj/lsQqyc6Kf9D5ZQf3fGkDJqgHgUvdWGa7vH1J6A== - dependencies: - "@octokit/request" "2.4.2" - before-after-hook "^1.4.0" - btoa-lite "^1.0.0" - deprecation "^1.0.1" - lodash.get "^4.4.2" - lodash.set "^4.3.2" - lodash.uniq "^4.5.0" - octokit-pagination-methods "^1.1.0" - once "^1.4.0" - universal-user-agent "^2.0.0" - url-template "^2.0.8" - "@polymer/app-layout@^3.0.2": version "3.0.2" resolved "https://registry.yarnpkg.com/@polymer/app-layout/-/app-layout-3.0.2.tgz#8a6f3c87b405635fd3547db82db8dbb6c51b6bf9" @@ -1261,17 +1043,6 @@ "@polymer/paper-styles" "^3.0.0-pre.26" "@polymer/polymer" "^3.0.0" -"@polymer/paper-fab@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@polymer/paper-fab/-/paper-fab-3.0.1.tgz#2636359e7fb70dd5a549ed92ba9b3bdb9ff86bf8" - integrity sha512-LO8ckgd72MnAtC1WiPd5CFR27WC/dEuY/lOIQuHYdEjwI62+iiV7Bmr7uoQ9wvvV71qMFdMIOyq/03KklsuAzw== - dependencies: - "@polymer/iron-flex-layout" "^3.0.0-pre.26" - "@polymer/iron-icon" "^3.0.0-pre.26" - "@polymer/paper-behaviors" "^3.0.0-pre.27" - "@polymer/paper-styles" "^3.0.0-pre.26" - "@polymer/polymer" "^3.0.0" - "@polymer/paper-icon-button@^3.0.0-pre.26", "@polymer/paper-icon-button@^3.0.2": version "3.0.2" resolved "https://registry.yarnpkg.com/@polymer/paper-icon-button/-/paper-icon-button-3.0.2.tgz#a1254faadc2c8dd135ce1ae33bcc161a94c31f65" @@ -1572,7 +1343,7 @@ resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.1.7.tgz#1b8e33b61a8c09cbe1f85133071baa0dbf9fa71a" integrity sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA== -"@types/chalk@^0.4.30", "@types/chalk@^0.4.31": +"@types/chalk@^0.4.30": version "0.4.31" resolved "https://registry.yarnpkg.com/@types/chalk/-/chalk-0.4.31.tgz#a31d74241a6b1edbb973cf36d97a2896834a51f9" integrity sha1-ox10JBprHtu5c8822XooloNKUfk= @@ -1623,13 +1394,6 @@ resolved "https://registry.yarnpkg.com/@types/cssbeautify/-/cssbeautify-0.3.1.tgz#8e0bee8f7decb952250da0caebe05e30591c17ef" integrity sha1-jgvuj33suVIlDaDK6+BeMFkcF+8= -"@types/del@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/del/-/del-3.0.1.tgz#4712da8c119873cbbf533ad8dbf1baac5940ac5d" - integrity sha512-y6qRq6raBuu965clKgx6FHuiPu3oHdtmzMPXi8Uahsjdq1L6DL5fS/aY5/s71YwM7k6K1QIWvem5vNwlnNGIkQ== - dependencies: - "@types/glob" "*" - "@types/doctrine@^0.0.1": version "0.0.1" resolved "https://registry.yarnpkg.com/@types/doctrine/-/doctrine-0.0.1.tgz#b999f2d9f7b43cabe0a1a2f39bc203bc7dcada9d" @@ -1667,25 +1431,6 @@ "@types/express-serve-static-core" "*" "@types/serve-static" "*" -"@types/fast-levenshtein@0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@types/fast-levenshtein/-/fast-levenshtein-0.0.1.tgz#3a3615cf173645c8fca58d051e4e32824e4bd286" - integrity sha1-OjYVzxc2Rcj8pY0FHk4ygk5L0oY= - -"@types/findup-sync@^0.3.29": - version "0.3.30" - resolved "https://registry.yarnpkg.com/@types/findup-sync/-/findup-sync-0.3.30.tgz#8ab7bdbd6ba7cbf4f33b6596fde6fff1129c738d" - integrity sha512-Dpt1x3rhz6t8BMTS4vziTVos8VLkF4RngIxMBCSE6w0STmnVEEaoe3w+BG5xHyZXshye9lyZE99lpBDoLGY8eA== - dependencies: - "@types/minimatch" "*" - -"@types/form-data@*": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@types/form-data/-/form-data-2.2.1.tgz#ee2b3b8eaa11c0938289953606b745b738c54b1e" - integrity sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ== - dependencies: - "@types/node" "*" - "@types/freeport@^1.0.19": version "1.0.21" resolved "https://registry.yarnpkg.com/@types/freeport/-/freeport-1.0.21.tgz#73f6543ed67d3ca3fff97b985591598b7092066f" @@ -1713,13 +1458,6 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/globby@^6.1.0": - version "6.1.0" - resolved "https://registry.yarnpkg.com/@types/globby/-/globby-6.1.0.tgz#7c25b975512a89effea2a656ca8cf6db7fb29d11" - integrity sha512-j3XSDNoK4LO5T+ZviQD6PqfEjm07QFEacOTbJR3hnLWuWX0ZMLJl9oRPgj1PyrfGbXhfHFkksC9QZ9HFltJyrw== - dependencies: - "@types/glob" "*" - "@types/gulp-if@0.0.33": version "0.0.33" resolved "https://registry.yarnpkg.com/@types/gulp-if/-/gulp-if-0.0.33.tgz#edece22b7925d9a6db5f9c8c0d7882aa776fb678" @@ -1742,22 +1480,6 @@ "@types/relateurl" "*" "@types/uglify-js" "*" -"@types/inquirer@*": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-6.0.0.tgz#bbf3c915f9266e30adf78fc2f3df72f205287aca" - integrity sha512-4evhNF+xgdnXNBKouwlZl4JW7uhv9t6JSCOOEg1s61T4QP+UbvyGWTSxj2SjAXz61ZvohJkepHU6p8KzHAClbg== - dependencies: - "@types/through" "*" - rxjs ">=6.4.0" - -"@types/inquirer@0.0.32": - version "0.0.32" - resolved "https://registry.yarnpkg.com/@types/inquirer/-/inquirer-0.0.32.tgz#a4a08e83741c500a7c3c8e7776014f7f8a65870d" - integrity sha1-pKCOg3QcUAp8PI53dgFPf4plhw0= - dependencies: - "@types/rx" "*" - "@types/through" "*" - "@types/is-windows@^0.2.0": version "0.2.0" resolved "https://registry.yarnpkg.com/@types/is-windows/-/is-windows-0.2.0.tgz#6f24ee48731d31168ea510610d6dd15e5fc9c6ff" @@ -1785,13 +1507,6 @@ resolved "https://registry.yarnpkg.com/@types/memoize-one/-/memoize-one-4.1.0.tgz#62119f26055b3193ae43ca1882c5b29b88b71ece" integrity sha512-cmSgi6JMX/yBwgpVm4GooNWIH+vEeJoa8FAa6ExOhpJbC0Juq32/uYKiKb3VPSqrEA0aOnjvwZanla3O1WZMbw== -"@types/merge-stream@^1.0.28": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@types/merge-stream/-/merge-stream-1.1.2.tgz#a880ff66b1fbbb5eef4958d015c5947a9334dbb1" - integrity sha512-7faLmaE99g/yX0Y9pF1neh2IUqOf/fXMOWCVzsXjqI1EJ91lrgXmaBKf6bRWM164lLyiHxHt6t/ZO/cIzq61XA== - dependencies: - "@types/node" "*" - "@types/mime@*", "@types/mime@^2.0.0": version "2.0.1" resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.1.tgz#dc488842312a7f075149312905b5e3c0b054c79d" @@ -1815,7 +1530,7 @@ "@types/bluebird" "*" "@types/node" "*" -"@types/mz@0.0.31", "@types/mz@^0.0.31": +"@types/mz@0.0.31": version "0.0.31" resolved "https://registry.yarnpkg.com/@types/mz/-/mz-0.0.31.tgz#a4d80c082fefe71e40a7c0f07d1e6555bbbc7b52" integrity sha1-pNgMCC/v5x5Ap8DwfR5lVbu8e1I= @@ -1868,21 +1583,6 @@ resolved "https://registry.yarnpkg.com/@types/relateurl/-/relateurl-0.2.28.tgz#6bda7db8653fa62643f5ee69e9f69c11a392e3a6" integrity sha1-a9p9uGU/piZD9e5p6facEaOS46Y= -"@types/request@2.0.3": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/request/-/request-2.0.3.tgz#bdf0fba9488c822f77e97de3dd8fe357b2fb8c06" - integrity sha512-cIvnyFRARxwE4OHpCyYue7H+SxaKFPpeleRCHJicft8QhyTNbVYsMwjvEzEPqG06D2LGHZ+sN5lXc8+bTu6D8A== - dependencies: - "@types/form-data" "*" - "@types/node" "*" - -"@types/resolve@0.0.4": - version "0.0.4" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.4.tgz#9b586d65a947dea88c4bc24da0b905fe9520a0d5" - integrity sha1-m1htZalH3qiMS8JNoLkF/pUgoNU= - dependencies: - "@types/node" "*" - "@types/resolve@0.0.6": version "0.0.6" resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.6.tgz#0bd2f236c2e1cebb98b79885df57edd71a8d770e" @@ -1897,117 +1597,6 @@ dependencies: "@types/node" "*" -"@types/rimraf@^0.0.28": - version "0.0.28" - resolved "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-0.0.28.tgz#5562519bc7963caca8abf7f128cae3b594d41d06" - integrity sha1-VWJRm8eWPKyoq/fxKMrjtZTUHQY= - -"@types/rx-core-binding@*": - version "4.0.4" - resolved "https://registry.yarnpkg.com/@types/rx-core-binding/-/rx-core-binding-4.0.4.tgz#d969d32f15a62b89e2862c17b3ee78fe329818d3" - integrity sha512-5pkfxnC4w810LqBPUwP5bg7SFR/USwhMSaAeZQQbEHeBp57pjKXRlXmqpMrLJB4y1oglR/c2502853uN0I+DAQ== - dependencies: - "@types/rx-core" "*" - -"@types/rx-core@*": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/rx-core/-/rx-core-4.0.3.tgz#0b3354b1238cedbe2b74f6326f139dbc7a591d60" - integrity sha1-CzNUsSOM7b4rdPYybxOdvHpZHWA= - -"@types/rx-lite-aggregates@*": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/rx-lite-aggregates/-/rx-lite-aggregates-4.0.3.tgz#6efb2b7f3d5f07183a1cb2bd4b1371d7073384c2" - integrity sha512-MAGDAHy8cRatm94FDduhJF+iNS5//jrZ/PIfm+QYw9OCeDgbymFHChM8YVIvN2zArwsRftKgE33QfRWvQk4DPg== - dependencies: - "@types/rx-lite" "*" - -"@types/rx-lite-async@*": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/rx-lite-async/-/rx-lite-async-4.0.2.tgz#27fbf0caeff029f41e2d2aae638b05e91ceb600c" - integrity sha512-vTEv5o8l6702ZwfAM5aOeVDfUwBSDOs+ARoGmWAKQ6LOInQ8J4/zjM7ov12fuTpktUKdMQjkeCp07Vd73mPkxw== - dependencies: - "@types/rx-lite" "*" - -"@types/rx-lite-backpressure@*": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/rx-lite-backpressure/-/rx-lite-backpressure-4.0.3.tgz#05abb19bdf87cc740196c355e5d0b37bb50b5d56" - integrity sha512-Y6aIeQCtNban5XSAF4B8dffhIKu6aAy/TXFlScHzSxh6ivfQBQw6UjxyEJxIOt3IT49YkS+siuayM2H/Q0cmgA== - dependencies: - "@types/rx-lite" "*" - -"@types/rx-lite-coincidence@*": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/rx-lite-coincidence/-/rx-lite-coincidence-4.0.3.tgz#80bd69acc4054a15cdc1638e2dc8843498cd85c0" - integrity sha512-1VNJqzE9gALUyMGypDXZZXzR0Tt7LC9DdAZQ3Ou/Q0MubNU35agVUNXKGHKpNTba+fr8GdIdkC26bRDqtCQBeQ== - dependencies: - "@types/rx-lite" "*" - -"@types/rx-lite-experimental@*": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/rx-lite-experimental/-/rx-lite-experimental-4.0.1.tgz#c532f5cbdf3f2c15da16ded8930d1b2984023cbd" - integrity sha1-xTL1y98/LBXaFt7Ykw0bKYQCPL0= - dependencies: - "@types/rx-lite" "*" - -"@types/rx-lite-joinpatterns@*": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/rx-lite-joinpatterns/-/rx-lite-joinpatterns-4.0.1.tgz#f70fe370518a8432f29158cc92ffb56b4e4afc3e" - integrity sha1-9w/jcFGKhDLykVjMkv+1a05K/D4= - dependencies: - "@types/rx-lite" "*" - -"@types/rx-lite-testing@*": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/rx-lite-testing/-/rx-lite-testing-4.0.1.tgz#21b19d11f4dfd6ffef5a9d1648e9c8879bfe21e9" - integrity sha1-IbGdEfTf1v/vWp0WSOnIh5v+Iek= - dependencies: - "@types/rx-lite-virtualtime" "*" - -"@types/rx-lite-time@*": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/rx-lite-time/-/rx-lite-time-4.0.3.tgz#0eda65474570237598f3448b845d2696f2dbb1c4" - integrity sha512-ukO5sPKDRwCGWRZRqPlaAU0SKVxmWwSjiOrLhoQDoWxZWg6vyB9XLEZViKOzIO6LnTIQBlk4UylYV0rnhJLxQw== - dependencies: - "@types/rx-lite" "*" - -"@types/rx-lite-virtualtime@*": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/rx-lite-virtualtime/-/rx-lite-virtualtime-4.0.3.tgz#4b30cacd0fe2e53af29f04f7438584c7d3959537" - integrity sha512-3uC6sGmjpOKatZSVHI2xB1+dedgml669ZRvqxy+WqmGJDVusOdyxcKfyzjW0P3/GrCiN4nmRkLVMhPwHCc5QLg== - dependencies: - "@types/rx-lite" "*" - -"@types/rx-lite@*": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@types/rx-lite/-/rx-lite-4.0.6.tgz#3c02921c4244074234f26b772241bcc20c18c253" - integrity sha512-oYiDrFIcor9zDm0VDUca1UbROiMYBxMLMaM6qzz4ADAfOmA9r1dYEcAFH+2fsPI5BCCjPvV9pWC3X3flbrvs7w== - dependencies: - "@types/rx-core" "*" - "@types/rx-core-binding" "*" - -"@types/rx@*": - version "4.1.1" - resolved "https://registry.yarnpkg.com/@types/rx/-/rx-4.1.1.tgz#598fc94a56baed975f194574e0f572fd8e627a48" - integrity sha1-WY/JSla67ZdfGUV04PVy/Y5iekg= - dependencies: - "@types/rx-core" "*" - "@types/rx-core-binding" "*" - "@types/rx-lite" "*" - "@types/rx-lite-aggregates" "*" - "@types/rx-lite-async" "*" - "@types/rx-lite-backpressure" "*" - "@types/rx-lite-coincidence" "*" - "@types/rx-lite-experimental" "*" - "@types/rx-lite-joinpatterns" "*" - "@types/rx-lite-testing" "*" - "@types/rx-lite-time" "*" - "@types/rx-lite-virtualtime" "*" - -"@types/semver@^5.3.30": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-5.5.0.tgz#146c2a29ee7d3bae4bf2fcb274636e264c813c45" - integrity sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ== - "@types/serve-static@*", "@types/serve-static@^1.7.31": version "1.13.2" resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.2.tgz#f5ac4d7a6420a99a6a45af4719f4dcd8cd907a48" @@ -2023,20 +1612,6 @@ dependencies: "@types/node" "*" -"@types/temp@^0.8.28": - version "0.8.33" - resolved "https://registry.yarnpkg.com/@types/temp/-/temp-0.8.33.tgz#d1ac6ca261ddb8ff574ff3d40c0f29ca4801bcb1" - integrity sha512-lxvpXBglH4QAg9Esk75fUeK8sP7Cz29Bx3wghmjJwDxihO+xN1UN3a3HtPQXIyr4O2mzjOCapbwJ/aF7hXIOMQ== - dependencies: - "@types/node" "*" - -"@types/through@*": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/through/-/through-0.0.29.tgz#72943aac922e179339c651fa34a4428a4d722f93" - integrity sha512-9a7C5VHh+1BKblaYiq+7Tfc+EOmjMdZaD1MYtkQjSoxgB69tBjW98ry6SKsi4zEIWztLOMRuL87A3bdT/Fc/4w== - dependencies: - "@types/node" "*" - "@types/ua-parser-js@^0.7.31": version "0.7.32" resolved "https://registry.yarnpkg.com/@types/ua-parser-js/-/ua-parser-js-0.7.32.tgz#8827d451d6702307248073b5d98aa9293d02b5e5" @@ -2049,11 +1624,6 @@ dependencies: source-map "^0.6.1" -"@types/update-notifier@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@types/update-notifier/-/update-notifier-1.0.3.tgz#3c7ee1921af6f16149cdcaef356baf57d7a0b806" - integrity sha512-BLStNhP2DFF7funARwTcoD6tetRte8NK3Sc59mn7GNALCN975jOlKX3dGvsFxXr/HwQMxxCuRn9IWB3WQ7odHQ== - "@types/uuid@^3.4.3": version "3.4.4" resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-3.4.4.tgz#7af69360fa65ef0decb41fd150bf4ca5c0cefdf5" @@ -2061,15 +1631,6 @@ dependencies: "@types/node" "*" -"@types/vinyl-fs@0.0.28": - version "0.0.28" - resolved "https://registry.yarnpkg.com/@types/vinyl-fs/-/vinyl-fs-0.0.28.tgz#4663017bc802c6570eae4f3409fd5cabf97cbfde" - integrity sha1-RmMBe8gCxlcOrk80Cf1cq/l8v94= - dependencies: - "@types/glob-stream" "*" - "@types/node" "*" - "@types/vinyl" "*" - "@types/vinyl-fs@^2.4.8": version "2.4.11" resolved "https://registry.yarnpkg.com/@types/vinyl-fs/-/vinyl-fs-2.4.11.tgz#b98119b8bb2494141eaf649b09fbfeb311161206" @@ -2098,14 +1659,6 @@ resolved "https://registry.yarnpkg.com/@types/which/-/which-1.3.1.tgz#7802c380887986ca909008afea4e08025b130f8d" integrity sha512-ZrJDWpvg75LTGX4XwuneY9s6bF3OeZcGTpoGh3zDV9ytzcHMFsRrMIaLBRJZQMBoGyKs6unBQfVdrLZiYfb1zQ== -"@types/yeoman-generator@^2.0.3": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/yeoman-generator/-/yeoman-generator-2.0.3.tgz#f4b161ee354078b526e0901a5a5f87d4f8e085f6" - integrity sha512-vch2UFd6k7DdfWEv/alRwZIRXQoxZNUDpfLOK24+005dzE1HVnwSWfETF3WxJnWlsOcH87wU4uzldAE/7F/6Lw== - dependencies: - "@types/events" "*" - "@types/inquirer" "*" - "@vaadin/vaadin-button@^2.1.0": version "2.1.4" resolved "https://registry.yarnpkg.com/@vaadin/vaadin-button/-/vaadin-button-2.1.4.tgz#4b1f52515988e927867d27a7f55ba5bce36204d8" @@ -2435,10 +1988,10 @@ acorn-jsx@^3.0.0: dependencies: acorn "^3.0.4" -acorn-jsx@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" - integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg== +acorn-jsx@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.2.tgz#84b68ea44b373c4f8686023a551f61a21b7c4a4f" + integrity sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw== acorn@^3.0.4: version "3.3.0" @@ -2450,11 +2003,16 @@ acorn@^5.5.0, acorn@^5.5.3: resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== -acorn@^6.0.5, acorn@^6.0.7, acorn@^6.1.1: +acorn@^6.0.5, acorn@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f" integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA== +acorn@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.0.0.tgz#26b8d1cd9a9b700350b71c0905546f64d1284e7a" + integrity sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ== + adm-zip@~0.4.3: version "0.4.13" resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.13.tgz#597e2f8cc3672151e1307d3e95cddbc75672314a" @@ -2492,12 +2050,15 @@ ajv@^6.1.0, ajv@^6.5.5, ajv@^6.9.1: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ansi-align@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-1.1.0.tgz#2f0c1658829739add5ebb15e6b0c6e3423f016ba" - integrity sha1-LwwWWIKXOa3V67FeawxuNCPwFro= +ajv@^6.10.0: + version "6.10.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" + integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== dependencies: - string-width "^1.0.1" + fast-deep-equal "^2.0.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" ansi-align@^2.0.0: version "2.0.0" @@ -2530,11 +2091,6 @@ ansi-cyan@^0.1.1: dependencies: ansi-wrap "0.1.0" -ansi-escapes@^1.1.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" - integrity sha1-06ioOzGapneTZisT52HHkRQiMG4= - ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" @@ -2756,11 +2312,6 @@ array-back@^3.0.1: resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.0.1.tgz#66ad7b8261bbacead49f1c3898befdcaee748d0b" integrity sha512-nzD+aqgQPTZlUGH6tE8JEjYPpnuBUFghPbq6zEWBHUmCHGQKWD9pf1PIuc2bMBtzi2OoIaoTJwgBV3h0ztdrFg== -array-differ@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" - integrity sha1-7/UuN1gknTO+QCuLuOVkuytdQDE= - array-each@^1.0.0, array-each@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" @@ -2972,7 +2523,7 @@ async@^1.5.2: resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= -async@^2.0.0, async@^2.0.1, async@^2.1.2, async@^2.4.1, async@^2.6.0, async@^2.6.1, async@^2.6.2: +async@^2.0.0, async@^2.0.1, async@^2.1.2, async@^2.4.1, async@^2.6.1, async@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg== @@ -3013,18 +2564,6 @@ babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: esutils "^2.0.2" js-tokens "^3.0.2" -babel-eslint@^10: - version "10.0.1" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.1.tgz#919681dc099614cd7d31d45c8908695092a1faed" - integrity sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.0.0" - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" - eslint-scope "3.7.1" - eslint-visitor-keys "^1.0.0" - babel-extract-comments@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz#0a2aedf81417ed391b85e18b4614e693a0351a21" @@ -3081,16 +2620,6 @@ babel-helper-to-multiple-sequence-expressions@^0.4.3: resolved "https://registry.yarnpkg.com/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.4.3.tgz#5b518b1127f47b3038773386a1561a2b48e632b6" integrity sha1-W1GLESf0ezA4dzOGoVYaK0jmMrY= -babel-loader@^8.0.5: - version "8.0.5" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.5.tgz#225322d7509c2157655840bba52e46b6c2f2fe33" - integrity sha512-NTnHnVRd2JnRqPC0vW+iOQWU5pchDbYXsG2E6DMXEpMfUcQKclF9gmf3G3ZMhzG7IG9ji4coL0cm+FxeWxDpnw== - dependencies: - find-cache-dir "^2.0.0" - loader-utils "^1.0.2" - mkdirp "^0.5.1" - util.promisify "^1.0.0" - babel-messages@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" @@ -3395,11 +2924,6 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -before-after-hook@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-1.4.0.tgz#2b6bf23dca4f32e628fd2747c10a37c74a4b484d" - integrity sha512-l5r9ir56nda3qu14nAXIlyq1MmUSs0meCIaFAh8HwkFwP1F8eToOuS3ah2VAHHcY04jaYD7FpJC5JTXHYRbkzg== - better-assert@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" @@ -3422,11 +2946,6 @@ binary-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== -binaryextensions@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.1.2.tgz#c83c3d74233ba7674e4f313cb2a2b70f54e94b7c" - integrity sha512-xVNN69YGDghOqCCtA6FI7avYrr02mTJjOgB0/f1VPD3pJC8QEvjTKWc4epDx8AqxxA75NI0QpVM2gPJXUbE4Tg== - bl@^1.0.0: version "1.2.2" resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" @@ -3502,41 +3021,6 @@ bower-config@^1.4.0, bower-config@^1.4.1: osenv "^0.1.3" untildify "^2.1.0" -bower-json@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/bower-json/-/bower-json-0.8.1.tgz#96c14723241ae6466a9c52e16caa32623a883843" - integrity sha1-lsFHIyQa5kZqnFLhbKoyYjqIOEM= - dependencies: - deep-extend "^0.4.0" - ext-name "^3.0.0" - graceful-fs "^4.1.3" - intersect "^1.0.1" - -bower-logger@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/bower-logger/-/bower-logger-0.2.2.tgz#39be07e979b2fc8e03a94634205ed9422373d381" - integrity sha1-Ob4H6Xmy/I4DqUY0IF7ZQiNz04E= - -bower@^1.8.2: - version "1.8.8" - resolved "https://registry.yarnpkg.com/bower/-/bower-1.8.8.tgz#82544be34a33aeae7efb8bdf9905247b2cffa985" - integrity sha512-1SrJnXnkP9soITHptSO+ahx3QKp3cVzn8poI6ujqc5SeOkg5iqM1pK9H+DSc2OQ8SnO0jC/NG4Ur/UIwy7574A== - -boxen@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-0.6.0.tgz#8364d4248ac34ff0ef1b2f2bf49a6c60ce0d81b6" - integrity sha1-g2TUJIrDT/DvGy8r9JpsYM4NgbY= - dependencies: - ansi-align "^1.1.0" - camelcase "^2.1.0" - chalk "^1.1.1" - cli-boxes "^1.0.0" - filled-array "^1.0.0" - object-assign "^4.0.1" - repeating "^2.0.0" - string-width "^1.0.1" - widest-line "^1.0.0" - boxen@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" @@ -3583,6 +3067,13 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" +braces@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" @@ -3658,13 +3149,6 @@ browserify-sign@^4.0.0: inherits "^2.0.1" parse-asn1 "^5.0.0" -browserify-zlib@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" - integrity sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0= - dependencies: - pako "~0.2.0" - browserify-zlib@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" @@ -3672,15 +3156,6 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.4.2, browserslist@^4.5.1: - version "4.5.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.5.3.tgz#969495c410314bc89f14e748505e58be968080f1" - integrity sha512-Tx/Jtrmh6vFg24AelzLwCaCq1IUJiMDM1x/LPzqbmbktF8Zo7F9ONUpOWsFK6TtdON95mSMaQUWqi0ilc8xM6g== - dependencies: - caniuse-lite "^1.0.30000955" - electron-to-chromium "^1.3.122" - node-releases "^1.1.12" - browserstack@^1.2.0: version "1.5.2" resolved "https://registry.yarnpkg.com/browserstack/-/browserstack-1.5.2.tgz#17d8bb76127a1cc0ea416424df80d218f803673f" @@ -3688,11 +3163,6 @@ browserstack@^1.2.0: dependencies: https-proxy-agent "^2.2.1" -btoa-lite@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" - integrity sha1-M3dm2hWAEhD92VbCLpxokaudAzc= - buffer-alloc-unsafe@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" @@ -3816,11 +3286,6 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" -call-me-maybe@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" - integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= - caller-callsite@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" @@ -3866,7 +3331,7 @@ camelcase-keys@^2.0.0: camelcase "^2.0.0" map-obj "^1.0.0" -camelcase@^2.0.0, camelcase@^2.1.0: +camelcase@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= @@ -3893,11 +3358,6 @@ cancel-token@^0.1.1: dependencies: "@types/node" "^4.0.30" -caniuse-lite@^1.0.30000955: - version "1.0.30000955" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000955.tgz#360fdb9a1e41d6dd996130411334e44a39e4446d" - integrity sha512-6AwmIKgqCYfDWWadRkAuZSHMQP4Mmy96xAXEdRBlN/luQhlRYOKgwOlZ9plpCOsVbBuqbTmGqDK3JUM/nlr8CA== - capture-stack-trace@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" @@ -4015,7 +3475,7 @@ check-error@^1.0.2: resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= -chokidar@^1.6.0, chokidar@^1.7.0: +chokidar@^1.6.0: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" integrity sha1-eY5ol3gVHIB2tLNg5e3SjNortGg= @@ -4050,7 +3510,7 @@ chokidar@^2.0.0, chokidar@^2.0.2: optionalDependencies: fsevents "^1.2.7" -chownr@^1.0.1, chownr@^1.1.1: +chownr@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== @@ -4112,13 +3572,6 @@ cli-boxes@^1.0.0: resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= -cli-cursor@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" - integrity sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc= - dependencies: - restore-cursor "^1.0.1" - cli-cursor@^2.0.0, cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" @@ -4126,13 +3579,6 @@ cli-cursor@^2.0.0, cli-cursor@^2.1.0: dependencies: restore-cursor "^2.0.0" -cli-table@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" - integrity sha1-9TsFJmqLGguTSz0IIebi3FkUriM= - dependencies: - colors "1.0.3" - cli-truncate@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" @@ -4283,11 +3729,6 @@ colornames@^1.1.1: resolved "https://registry.yarnpkg.com/colornames/-/colornames-1.1.1.tgz#f8889030685c7c4ff9e2a559f5077eb76a816f96" integrity sha1-+IiQMGhcfE/54qVZ9Qd+t2qBb5Y= -colors@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" - integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= - colors@^1.2.1: version "1.3.3" resolved "https://registry.yarnpkg.com/colors/-/colors-1.3.3.tgz#39e005d546afe01e01f9c4ca8fa50f686a01205d" @@ -4318,13 +3759,6 @@ command-line-args@^5.0.2: lodash.camelcase "^4.3.0" typical "^4.0.0" -command-line-commands@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/command-line-commands/-/command-line-commands-2.0.1.tgz#c58aa13dc78c06038ed67077e57ad09a6f858f46" - integrity sha512-m8c2p1DrNd2ruIAggxd/y6DgygQayf6r8RHwchhXryaLF8I6koYjoYroVP+emeROE9DXN5b9sP1Gh+WtvTTdtQ== - dependencies: - array-back "^2.0.0" - command-line-usage@^5.0.5: version "5.0.5" resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-5.0.5.tgz#5f25933ffe6dedd983c635d38a21d7e623fda357" @@ -4424,7 +3858,7 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-stream@^1.4.7, concat-stream@^1.5.0, concat-stream@^1.5.2, concat-stream@^1.6.0: +concat-stream@^1.5.0, concat-stream@^1.5.2, concat-stream@^1.6.0: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== @@ -4434,21 +3868,6 @@ concat-stream@^1.4.7, concat-stream@^1.5.0, concat-stream@^1.5.2, concat-stream@ readable-stream "^2.2.2" typedarray "^0.0.6" -configstore@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-2.1.0.tgz#737a3a7036e9886102aa6099e47bb33ab1aba1a1" - integrity sha1-c3o6cDbpiGECqmCZ5HuzOrGroaE= - dependencies: - dot-prop "^3.0.0" - graceful-fs "^4.1.2" - mkdirp "^0.5.0" - object-assign "^4.0.1" - os-tmpdir "^1.0.0" - osenv "^0.1.0" - uuid "^2.0.1" - write-file-atomic "^1.1.2" - xdg-basedir "^2.0.0" - configstore@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" @@ -4461,6 +3880,11 @@ configstore@^3.0.0: write-file-atomic "^2.0.0" xdg-basedir "^3.0.0" +confusing-browser-globals@^1.0.7: + version "1.0.8" + resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.8.tgz#93ffec1f82a6e2bf2bc36769cc3a92fa20e502f3" + integrity sha512-lI7asCibVJ6Qd3FGU7mu4sfG4try4LX3+GVS+Gv8UlrEf2AeW57piecapnog2UHZSbcX/P/1UDWVaTsblowlZg== + connect-history-api-fallback@^1.3.0: version "1.6.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" @@ -4557,26 +3981,6 @@ copy-webpack-plugin@^5.0.2: serialize-javascript "^1.4.0" webpack-log "^2.0.0" -core-js-compat@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.0.0.tgz#cd9810b8000742535a4a43773866185e310bd4f7" - integrity sha512-W/Ppz34uUme3LmXWjMgFlYyGnbo1hd9JvA0LNQ4EmieqVjg2GPYbj3H6tcdP2QGPGWdRKUqZVbVKLNIFVs/HiA== - dependencies: - browserslist "^4.5.1" - core-js "3.0.0" - core-js-pure "3.0.0" - semver "^5.6.0" - -core-js-pure@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.0.0.tgz#a5679adb4875427c8c0488afc93e6f5b7125859b" - integrity sha512-yPiS3fQd842RZDgo/TAKGgS0f3p2nxssF1H65DIZvZv0Od5CygP8puHXn3IQiM/39VAvgCbdaMQpresrbGgt9g== - -core-js@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.0.0.tgz#a8dbfa978d29bfc263bfb66c556d0ca924c28957" - integrity sha512-WBmxlgH2122EzEJ6GH8o9L/FeoUKxxxZ6q6VUxoTlsE4EvbTWKJb447eyVxTEuq0LpXjlq/kCB2qgBvsYRkLvQ== - core-js@^2.4.0: version "2.6.5" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.5.tgz#44bc8d249e7fb2ff5d00e0341a7ffb94fbf67895" @@ -4645,7 +4049,7 @@ create-ecdh@^4.0.0: bn.js "^4.1.0" elliptic "^6.0.0" -create-error-class@^3.0.0, create-error-class@^3.0.1: +create-error-class@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= @@ -4743,7 +4147,7 @@ css-slam@^2.1.2: parse5 "^4.0.0" shady-css-parser "^0.1.0" -css-what@2.1, css-what@^2.1.0: +css-what@2.1: version "2.1.3" resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== @@ -4777,11 +4181,6 @@ d@1: dependencies: es5-ext "^0.10.9" -dargs@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-6.0.0.tgz#da35d4633cd821de868f97d645f8d1f9b0353a24" - integrity sha512-6lJauzNaI7MiM8EHQWmGj+s3rP5/i1nYs8GAvKrLAx/9dpc9xS/4seFb1ioR39A+kcfu4v3jnEa/EE5qWYnitQ== - dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -4812,11 +4211,6 @@ dateformat@^1.0.7-1.2.3: get-stdin "^4.0.1" meow "^3.3.0" -dateformat@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" - integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== - debug@2.6.8: version "2.6.8" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" @@ -4824,7 +4218,7 @@ debug@2.6.8: dependencies: ms "2.0.0" -debug@2.6.9, debug@^2.0.0, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: +debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -4869,13 +4263,6 @@ decode-uri-component@^0.2.0: resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= -decompress-response@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= - dependencies: - mimic-response "^1.0.0" - dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" @@ -4905,11 +4292,6 @@ deep-equal@^1.0.1: resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= -deep-extend@^0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" - integrity sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8= - deep-extend@^0.6.0, deep-extend@~0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -4920,11 +4302,6 @@ deep-is@~0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= -deepmerge@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-3.2.0.tgz#58ef463a57c08d376547f8869fdc5bcee957f44e" - integrity sha512-6+LuZGU7QCNUnAJyX8cIrlzoEgggTM6B7mm+znKOX4t5ltluT9KLjN6g61ECMS0LTsLW7yDpNoxhix5FZcrIow== - deepmerge@^2.0.1: version "2.2.1" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.2.1.tgz#5d3ff22a01c00f645405a2fbc17d0778a1801170" @@ -5030,11 +4407,6 @@ deprecate@^1.0.0: resolved "https://registry.yarnpkg.com/deprecate/-/deprecate-1.1.0.tgz#bbd069d62b232175b4e8459b2650cd2bad51f4b8" integrity sha512-b5dDNQYdy2vW9WXUD8+RQlfoxvqztLLhDE+T7Gd37I5E8My7nJkKu6FmhdDeRWJ8B+yjZKuwjCta8pgi8kgSqA== -deprecation@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-1.0.1.tgz#2df79b79005752180816b7b6e079cbd80490d711" - integrity sha512-ccVHpE72+tcIKaGMql33x5MAjKQIZrk+3x2GbJ7TeraUCZWHoT+KSZpoC+JQFsUBlSTXUrBaGiF0j6zVTepPLg== - des.js@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" @@ -5048,18 +4420,6 @@ destroy@~1.0.4: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= -detect-conflict@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/detect-conflict/-/detect-conflict-1.0.1.tgz#088657a66a961c05019db7c4230883b1c6b4176e" - integrity sha1-CIZXpmqWHAUBnbfEIwiDsca0F24= - -detect-file@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-0.1.0.tgz#4935dedfd9488648e006b0129566e9386711ea63" - integrity sha1-STXe39lIhkjgBrASlWbpOGcR6mM= - dependencies: - fs-exists-sync "^0.1.0" - detect-file@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" @@ -5109,11 +4469,6 @@ diff@3.5.0, diff@^3.1.0, diff@^3.2.0, diff@^3.5.0: resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== -diff@^2.1.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/diff/-/diff-2.2.3.tgz#60eafd0d28ee906e4e8ff0a52c1229521033bf99" - integrity sha1-YOr9DSjukG5Oj/ClLBIpUhAzv5k= - diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" @@ -5123,14 +4478,6 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" -dir-glob@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" - integrity sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag== - dependencies: - arrify "^1.0.1" - path-type "^3.0.0" - dir-glob@^2.0.0: version "2.2.2" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" @@ -5259,13 +4606,6 @@ domutils@^1.5.1: dom-serializer "0" domelementtype "1" -dot-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" - integrity sha1-G3CK8JSknJoOfbyteQq6U52sEXc= - dependencies: - is-obj "^1.0.0" - dot-prop@^4.1.0: version "4.2.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" @@ -5280,7 +4620,7 @@ duplexer2@0.0.2: dependencies: readable-stream "~1.1.9" -duplexer2@^0.1.2, duplexer2@^0.1.4: +duplexer2@^0.1.2: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME= @@ -5323,29 +4663,11 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" -editions@^2.1.2, editions@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/editions/-/editions-2.1.3.tgz#727ccf3ec2c7b12dcc652c71000f16c4824d6f7d" - integrity sha512-xDZyVm0A4nLgMNWVVLJvcwMjI80ShiH/27RyLiCnW1L273TcJIA25C4pwJ33AWV01OX6UriP35Xu+lH4S7HWQw== - dependencies: - errlop "^1.1.1" - semver "^5.6.0" - ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -ejs@^2.5.9: - version "2.6.1" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0" - integrity sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ== - -electron-to-chromium@^1.3.122: - version "1.3.122" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.122.tgz#b32a0805f48557bd3c3b8104eadc7fa511b14a9a" - integrity sha512-3RKoIyCN4DhP2dsmleuFvpJAIDOseWH88wFYBzb22CSwoFDSWRc4UAMfrtc9h8nBdJjTNIN3rogChgOy6eFInw== - elegant-spinner@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" @@ -5398,11 +4720,6 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -ends-with@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/ends-with/-/ends-with-0.2.0.tgz#2f9da98d57a50cfda4571ce4339000500f4e6b8a" - integrity sha1-L52pjVelDP2kVxzkM5AAUA9Oa4o= - engine.io-client@~3.3.1: version "3.3.2" resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.3.2.tgz#04e068798d75beda14375a264bb3d742d7bc33aa" @@ -5443,7 +4760,7 @@ engine.io@~3.3.1: engine.io-parser "~2.1.0" ws "~6.1.0" -enhanced-resolve@^4.1.0: +enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== @@ -5471,13 +4788,6 @@ env-variable@0.0.x: resolved "https://registry.yarnpkg.com/env-variable/-/env-variable-0.0.5.tgz#913dd830bef11e96a039c038d4130604eba37f88" integrity sha512-zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA== -errlop@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/errlop/-/errlop-1.1.1.tgz#d9ae4c76c3e64956c5d79e6e035d6343bfd62250" - integrity sha512-WX7QjiPHhsny7/PQvrhS5VMizXXKoKCS3udaBp8gjlARdbn+XmK300eKBAAN0hGyRaTCtRpOaxK+xFVPUJ3zkw== - dependencies: - editions "^2.1.2" - errno@^0.1.3, errno@~0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" @@ -5492,14 +4802,6 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -error@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/error/-/error-7.0.2.tgz#a5f75fff4d9926126ddac0ea5dc38e689153cb02" - integrity sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI= - dependencies: - string-template "~0.2.1" - xtend "~4.0.0" - es-abstract@^1.11.0, es-abstract@^1.12.0, es-abstract@^1.5.1, es-abstract@^1.7.0: version "1.13.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" @@ -5602,19 +4904,19 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.0, escape-string-regexp@^1 resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -eslint-config-airbnb-base@^13.1.0: - version "13.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.1.0.tgz#b5a1b480b80dfad16433d6c4ad84e6605052c05c" - integrity sha512-XWwQtf3U3zIoKO1BbHh6aUhJZQweOwSt4c2JrPDg9FP3Ltv3+YfEv7jIDB8275tVnO/qOHbfuYg3kzw6Je7uWw== +eslint-config-airbnb-base@^14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.0.0.tgz#8a7bcb9643d13c55df4dd7444f138bf4efa61e17" + integrity sha512-2IDHobw97upExLmsebhtfoD3NAKhV4H0CJWP3Uprd/uk+cHuWYOczPVxQ8PxLFUAw7o3Th1RAU8u1DoUpr+cMA== dependencies: - eslint-restricted-globals "^0.1.1" + confusing-browser-globals "^1.0.7" object.assign "^4.1.0" - object.entries "^1.0.4" + object.entries "^1.1.0" -eslint-config-prettier@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-4.1.0.tgz#181364895899fff9fd3605fecb5c4f20e7d5f395" - integrity sha512-zILwX9/Ocz4SV2vX7ox85AsrAgXV3f2o2gpIicdMIOra48WYqgUnWNH/cR/iHtmD2Vb3dLSC3LiEJnS05Gkw7w== +eslint-config-prettier@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.2.0.tgz#80e0b8714e3f6868c4ac2a25fbf39c02e73527a7" + integrity sha512-VLsgK/D+S/FEsda7Um1+N8FThec6LqE3vhcMyp8mlmto97y3fGf3DX7byJexGuOb1QY0Z/zz222U5t+xSfcZDQ== dependencies: get-stdin "^6.0.0" @@ -5626,10 +4928,10 @@ eslint-import-resolver-node@^0.3.2: debug "^2.6.9" resolve "^1.5.0" -eslint-import-resolver-webpack@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.11.0.tgz#75d08ee06fc55eb24bd75147b7b4b6756886b12f" - integrity sha512-vX8rYSPdKtTLkK2FoU1ZRyEsl6wP1FB40ytjrEgMhzUkEkBLuZAkv1KNR+2Ml7lzMOObXI3yaEDiaQ/Yvoczhw== +eslint-import-resolver-webpack@^0.11.1: + version "0.11.1" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.11.1.tgz#fcf1fd57a775f51e18f442915f85dd6ba45d2f26" + integrity sha512-eK3zR7xVQR/MaoBWwGuD+CULYVuqe5QFlDukman71aI6IboCGzggDUohHNfu1ZeBnbHcUHJc0ywWoXUBNB6qdg== dependencies: array-find "^1.0.0" debug "^2.6.8" @@ -5639,32 +4941,33 @@ eslint-import-resolver-webpack@^0.11.0: interpret "^1.0.0" lodash "^4.17.4" node-libs-browser "^1.0.0 || ^2.0.0" - resolve "^1.4.0" + resolve "^1.10.0" semver "^5.3.0" -eslint-module-utils@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.3.0.tgz#546178dab5e046c8b562bbb50705e2456d7bda49" - integrity sha512-lmDJgeOOjk8hObTysjqH7wyMi+nsHwwvfBykwfhjR1LNdd7C2uFJBvx4OpWYpXOw4df1yE1cDEVd1yLHitk34w== +eslint-module-utils@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz#7b4675875bf96b0dbf1b21977456e5bb1f5e018c" + integrity sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw== dependencies: debug "^2.6.8" pkg-dir "^2.0.0" -eslint-plugin-import@^2.16.0: - version "2.16.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.16.0.tgz#97ac3e75d0791c4fac0e15ef388510217be7f66f" - integrity sha512-z6oqWlf1x5GkHIFgrSvtmudnqM6Q60KM4KvpWi5ubonMjycLjndvd5+8VAZIsTlHC03djdgJuyKG6XO577px6A== +eslint-plugin-import@^2.18.2: + version "2.18.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz#02f1180b90b077b33d447a17a2326ceb400aceb6" + integrity sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ== dependencies: + array-includes "^3.0.3" contains-path "^0.1.0" debug "^2.6.9" doctrine "1.5.0" eslint-import-resolver-node "^0.3.2" - eslint-module-utils "^2.3.0" + eslint-module-utils "^2.4.0" has "^1.0.3" - lodash "^4.17.11" minimatch "^3.0.4" + object.values "^1.1.0" read-pkg-up "^2.0.0" - resolve "^1.9.0" + resolve "^1.11.0" eslint-plugin-prettier@^2.2.0: version "2.7.0" @@ -5674,40 +4977,29 @@ eslint-plugin-prettier@^2.2.0: fast-diff "^1.1.1" jest-docblock "^21.0.0" -eslint-plugin-prettier@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.0.1.tgz#19d521e3981f69dd6d14f64aec8c6a6ac6eb0b0d" - integrity sha512-/PMttrarPAY78PLvV3xfWibMOdMDl57hmlQ2XqFeA37wd+CJ7WSxV7txqjVPHi/AAFKd2lX0ZqfsOc/i5yFCSQ== +eslint-plugin-prettier@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.0.tgz#8695188f95daa93b0dc54b249347ca3b79c4686d" + integrity sha512-XWX2yVuwVNLOUhQijAkXz+rMPPoCr7WFiAl8ig6I7Xn+pPVhDhzg4DxHpmbeb0iqjO9UronEA3Tb09ChnFVHHA== dependencies: prettier-linter-helpers "^1.0.0" -eslint-plugin-react@^7.12.4: - version "7.12.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz#b1ecf26479d61aee650da612e425c53a99f48c8c" - integrity sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ== +eslint-plugin-react@^7.14.3: + version "7.14.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.14.3.tgz#911030dd7e98ba49e1b2208599571846a66bdf13" + integrity sha512-EzdyyBWC4Uz2hPYBiEJrKCUi2Fn+BJ9B/pJQcjw5X+x/H2Nm59S4MJIvL4O5NEE0+WbnQwEBxWY03oUk+Bc3FA== dependencies: array-includes "^3.0.3" doctrine "^2.1.0" has "^1.0.3" - jsx-ast-utils "^2.0.1" + jsx-ast-utils "^2.1.0" + object.entries "^1.1.0" object.fromentries "^2.0.0" - prop-types "^15.6.2" - resolve "^1.9.0" + object.values "^1.1.0" + prop-types "^15.7.2" + resolve "^1.10.1" -eslint-restricted-globals@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7" - integrity sha1-NfDVy8ZMLj7WLpO0saevBbp+1Nc= - -eslint-scope@3.7.1: - version "3.7.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" - integrity sha1-PWPD7f2gLgbgGkUq2IyqzHzctug= - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^4.0.0, eslint-scope@^4.0.3: +eslint-scope@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== @@ -5715,57 +5007,68 @@ eslint-scope@^4.0.0, eslint-scope@^4.0.3: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-utils@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" - integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q== +eslint-scope@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" + integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" -eslint-visitor-keys@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" - integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== +eslint-utils@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab" + integrity sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q== + dependencies: + eslint-visitor-keys "^1.0.0" -eslint@^5.15.3: - version "5.15.3" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.15.3.tgz#c79c3909dc8a7fa3714fb340c11e30fd2526b8b5" - integrity sha512-vMGi0PjCHSokZxE0NLp2VneGw5sio7SSiDNgIUn2tC0XkWJRNOIoHIg3CliLVfXnJsiHxGAYrkw0PieAu8+KYQ== +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" + integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== + +eslint@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.3.0.tgz#1f1a902f67bfd4c354e7288b81e40654d927eb6a" + integrity sha512-ZvZTKaqDue+N8Y9g0kp6UPZtS4FSY3qARxBs7p4f0H0iof381XHduqVerFWtK8DPtKmemqbqCFENWSQgPR/Gow== dependencies: "@babel/code-frame" "^7.0.0" - ajv "^6.9.1" + ajv "^6.10.0" chalk "^2.1.0" cross-spawn "^6.0.5" debug "^4.0.1" doctrine "^3.0.0" - eslint-scope "^4.0.3" - eslint-utils "^1.3.1" - eslint-visitor-keys "^1.0.0" - espree "^5.0.1" + eslint-scope "^5.0.0" + eslint-utils "^1.4.2" + eslint-visitor-keys "^1.1.0" + espree "^6.1.1" esquery "^1.0.1" esutils "^2.0.2" file-entry-cache "^5.0.1" functional-red-black-tree "^1.0.1" - glob "^7.1.2" + glob-parent "^5.0.0" globals "^11.7.0" ignore "^4.0.6" import-fresh "^3.0.0" imurmurhash "^0.1.4" - inquirer "^6.2.2" - js-yaml "^3.12.0" + inquirer "^6.4.1" + is-glob "^4.0.0" + js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.3.0" - lodash "^4.17.11" + lodash "^4.17.14" minimatch "^3.0.4" mkdirp "^0.5.1" natural-compare "^1.4.0" optionator "^0.8.2" - path-is-inside "^1.0.2" progress "^2.0.0" regexpp "^2.0.1" - semver "^5.5.1" - strip-ansi "^4.0.0" - strip-json-comments "^2.0.1" + semver "^6.1.2" + strip-ansi "^5.2.0" + strip-json-comments "^3.0.1" table "^5.2.3" text-table "^0.2.0" + v8-compile-cache "^2.0.3" espree@^3.5.2: version "3.5.4" @@ -5775,14 +5078,14 @@ espree@^3.5.2: acorn "^5.5.0" acorn-jsx "^3.0.0" -espree@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a" - integrity sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A== +espree@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.1.tgz#7f80e5f7257fc47db450022d723e356daeb1e5de" + integrity sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ== dependencies: - acorn "^6.0.7" - acorn-jsx "^5.0.0" - eslint-visitor-keys "^1.0.0" + acorn "^7.0.0" + acorn-jsx "^5.0.2" + eslint-visitor-keys "^1.1.0" esprima@^4.0.0: version "4.0.1" @@ -5818,7 +5121,7 @@ esutils@^1.1.6: resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.1.6.tgz#c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375" integrity sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U= -esutils@^2.0.0, esutils@^2.0.2: +esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= @@ -5853,19 +5156,6 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: md5.js "^1.3.4" safe-buffer "^5.1.1" -execa@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50" - integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw== - dependencies: - cross-spawn "^6.0.0" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - execa@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" @@ -5892,11 +5182,6 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -exit-hook@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" - integrity sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g= - expand-brackets@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" @@ -5924,13 +5209,6 @@ expand-range@^1.8.1: dependencies: fill-range "^2.1.0" -expand-tilde@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" - integrity sha1-C4HrqJflo9MdHD0QL48BRB5VlEk= - dependencies: - os-homedir "^1.0.1" - expand-tilde@^2.0.0, expand-tilde@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" @@ -5974,23 +5252,6 @@ express@^4.15.3, express@^4.16.2, express@^4.8.5: utils-merge "1.0.1" vary "~1.1.2" -ext-list@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/ext-list/-/ext-list-2.2.2.tgz#0b98e64ed82f5acf0f2931babf69212ef52ddd37" - integrity sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA== - dependencies: - mime-db "^1.28.0" - -ext-name@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ext-name/-/ext-name-3.0.0.tgz#07e4418737cb1f513c32c6ea48d8b8c8e0471abb" - integrity sha1-B+RBhzfLH1E8MsbqSNi4yOBHGrs= - dependencies: - ends-with "^0.2.0" - ext-list "^2.0.0" - meow "^3.1.0" - sort-keys-length "^1.0.0" - extend-shallow@^1.1.2: version "1.1.4" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-1.1.4.tgz#19d6bf94dfc09d76ba711f39b872d21ff4dd9071" @@ -6018,15 +5279,6 @@ extend@^3.0.0, extend@~3.0.2: resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== -external-editor@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-1.1.1.tgz#12d7b0db850f7ff7e7081baf4005700060c4600b" - integrity sha1-Etew24UPf/fnCBuvQAVwAGDEYAs= - dependencies: - extend "^3.0.0" - spawn-sync "^1.0.15" - tmp "^0.0.29" - external-editor@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" @@ -6087,24 +5339,12 @@ fast-diff@^1.1.1, fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== -fast-glob@^2.0.2: - version "2.2.6" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.6.tgz#a5d5b697ec8deda468d85a74035290a025a95295" - integrity sha512-0BvMaZc1k9F+MeWWMe8pL6YltFzZYcJsYU7D4JyDA6PAczaXvxqQQ/z+mDF7/4Mw01DeUc+i3CTKajnkANkV4w== - dependencies: - "@mrmlnc/readdir-enhanced" "^2.2.1" - "@nodelib/fs.stat" "^1.1.2" - glob-parent "^3.1.0" - is-glob "^4.0.0" - merge2 "^1.2.3" - micromatch "^3.1.10" - fast-json-stable-stringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.4: +fast-levenshtein@~2.0.4: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= @@ -6155,7 +5395,7 @@ figgy-pudding@^3.5.1: resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== -figures@^1.3.5, figures@^1.7.0: +figures@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= @@ -6203,10 +5443,12 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" -filled-array@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/filled-array/-/filled-array-1.1.0.tgz#c3c4f6c663b923459a9aa29912d2d031f1507f84" - integrity sha1-w8T2xmO5I0WamqKZEtLQMfFQf4Q= +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" finalhandler@1.1.1: version "1.1.1" @@ -6291,16 +5533,6 @@ findup-sync@2.0.0, findup-sync@^2.0.0: micromatch "^3.0.4" resolve-dir "^1.0.1" -findup-sync@^0.4.2: - version "0.4.3" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-0.4.3.tgz#40043929e7bc60adf0b7f4827c4c6e75a0deca12" - integrity sha1-QAQ5Kee8YK3wt/SCfExudaDeyhI= - dependencies: - detect-file "^0.1.0" - is-glob "^2.0.1" - micromatch "^2.3.7" - resolve-dir "^0.1.0" - findup-sync@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" @@ -6327,13 +5559,6 @@ first-chunk-stream@^1.0.0: resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" integrity sha1-Wb+1DNkF9g18OUzT2ayqtOatk04= -first-chunk-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70" - integrity sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA= - dependencies: - readable-stream "^2.0.2" - flagged-respawn@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41" @@ -6472,11 +5697,6 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== -fs-exists-sync@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" - integrity sha1-mC1ok6+RjnLQjeyehnP/K1qNat0= - fs-extra@^4.0.2: version "4.0.3" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" @@ -6620,21 +5840,6 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -gh-got@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/gh-got/-/gh-got-6.0.0.tgz#d74353004c6ec466647520a10bd46f7299d268d0" - integrity sha512-F/mS+fsWQMo1zfgG9MD8KWvTWPPzzhuVwY++fhQ5Ggd+0P+CAMHtzMZhNxG+TqGfHDChJKsbh6otfMGqO2AKBw== - dependencies: - got "^7.0.0" - is-plain-obj "^1.1.0" - -github-username@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/github-username/-/github-username-4.1.0.tgz#cbe280041883206da4212ae9e4b5f169c30bf417" - integrity sha1-y+KABBiDIG2kISrp5LXxacML9Bc= - dependencies: - gh-got "^6.0.0" - glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" @@ -6658,6 +5863,13 @@ glob-parent@^3.0.0, glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" +glob-parent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.0.0.tgz#1dc99f0f39b006d3e92c2c284068382f0c20e954" + integrity sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg== + dependencies: + is-glob "^4.0.1" + glob-stream@^5.3.2: version "5.3.5" resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-5.3.5.tgz#a55665a9a8ccdc41915a87c701e32d4e016fad22" @@ -6688,11 +5900,6 @@ glob-stream@^6.1.0: to-absolute-glob "^2.0.0" unique-stream "^2.0.2" -glob-to-regexp@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" - integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= - glob-watcher@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.3.tgz#88a8abf1c4d131eb93928994bc4a593c2e5dd626" @@ -6747,17 +5954,6 @@ glob@^5.0.3: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^6.0.1: - version "6.0.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" - integrity sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI= - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@^7.0.5: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" @@ -6777,14 +5973,6 @@ global-dirs@^0.1.0: dependencies: ini "^1.3.4" -global-modules@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" - integrity sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0= - dependencies: - global-prefix "^0.1.4" - is-windows "^0.2.0" - global-modules@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" @@ -6794,16 +5982,6 @@ global-modules@^1.0.0: is-windows "^1.0.1" resolve-dir "^1.0.0" -global-prefix@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f" - integrity sha1-jTvGuNo8qBEqFg2NSW/wRiv+948= - dependencies: - homedir-polyfill "^1.0.0" - ini "^1.3.4" - is-windows "^0.2.0" - which "^1.2.12" - global-prefix@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" @@ -6825,18 +6003,6 @@ globals@^9.18.0: resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== -globby@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-4.1.0.tgz#080f54549ec1b82a6c60e631fc82e1211dbe95f8" - integrity sha1-CA9UVJ7BuCpsYOYx/ILhIR2+lfg= - dependencies: - array-union "^1.0.1" - arrify "^1.0.0" - glob "^6.0.1" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - globby@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" @@ -6860,19 +6026,6 @@ globby@^7.1.1: pify "^3.0.0" slash "^1.0.0" -globby@^8.0.1: - version "8.0.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" - integrity sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w== - dependencies: - array-union "^1.0.1" - dir-glob "2.0.0" - fast-glob "^2.0.2" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - glogg@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.2.tgz#2d7dd702beda22eb3bffadf880696da6d846313f" @@ -6885,27 +6038,6 @@ google-timezones-json@^1.0.2: resolved "https://registry.yarnpkg.com/google-timezones-json/-/google-timezones-json-1.0.2.tgz#6800000d7ebc2dd660611aad8c1c68196db78cab" integrity sha512-UWXQ7BpSCW8erDespU2I4cri22xsKgwOCyhsJal0OJhi2tFpwJpsYNJt4vCiFPL1p2HzCGiS713LKpNR25n9Kg== -got@^5.0.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35" - integrity sha1-X4FjWmHkplifGAVp6k44FoClHzU= - dependencies: - create-error-class "^3.0.1" - duplexer2 "^0.1.4" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - node-status-codes "^1.0.0" - object-assign "^4.0.1" - parse-json "^2.1.0" - pinkie-promise "^2.0.0" - read-all-stream "^3.0.0" - readable-stream "^2.0.5" - timed-out "^3.0.0" - unzip-response "^1.0.2" - url-parse-lax "^1.0.0" - got@^6.7.1: version "6.7.1" resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" @@ -6923,26 +6055,6 @@ got@^6.7.1: unzip-response "^2.0.1" url-parse-lax "^1.0.0" -got@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" - integrity sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw== - dependencies: - decompress-response "^3.2.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-plain-obj "^1.1.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - isurl "^1.0.0-alpha5" - lowercase-keys "^1.0.0" - p-cancelable "^0.3.0" - p-timeout "^1.1.1" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - url-parse-lax "^1.0.0" - url-to-options "^1.0.1" - graceful-fs@^4.0.0, graceful-fs@^4.1.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6: version "4.1.15" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" @@ -6953,13 +6065,6 @@ graceful-fs@^4.0.0, graceful-fs@^4.1.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15 resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= -grouped-queue@^0.3.0, grouped-queue@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/grouped-queue/-/grouped-queue-0.3.3.tgz#c167d2a5319c5a0e0964ef6a25b7c2df8996c85c" - integrity sha1-wWfSpTGcWg4JZO9qJbfC34mWyFw= - dependencies: - lodash "^4.17.2" - growl@1.10.5: version "1.10.5" resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" @@ -7136,18 +6241,6 @@ gulplog@^1.0.0: dependencies: glogg "^1.0.0" -gunzip-maybe@^1.3.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/gunzip-maybe/-/gunzip-maybe-1.4.1.tgz#39c72ed89d1b49ba708e18776500488902a52027" - integrity sha512-qtutIKMthNJJgeHQS7kZ9FqDq59/Wn0G2HYCRNjpup7yKfVI6/eqwpmroyZGFoCYaG+sW6psNVb4zoLADHpp2g== - dependencies: - browserify-zlib "^0.1.4" - is-deflate "^1.0.0" - is-gzip "^1.0.0" - peek-stream "^1.1.0" - pumpify "^1.3.3" - through2 "^2.0.3" - handle-thing@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4" @@ -7212,23 +6305,11 @@ has-flag@^3.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= -has-symbol-support-x@^1.4.1: - version "1.4.2" - resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" - integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== - has-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= -has-to-string-tag-x@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" - integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== - dependencies: - has-symbol-support-x "^1.4.1" - has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" @@ -7320,12 +6401,12 @@ hoek@6.x.x: resolved "https://registry.yarnpkg.com/hoek/-/hoek-6.1.3.tgz#73b7d33952e01fe27a38b0457294b79dd8da242c" integrity sha512-YXXAAhmF9zpQbC7LEcREFtXfGq5K1fmd+4PHkBq8NUqmzW3G+Dq10bI/i0KucLRwss3YYFQ0fSfoxBZYiGUqtQ== -home-assistant-js-websocket@4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/home-assistant-js-websocket/-/home-assistant-js-websocket-4.3.1.tgz#be320672b070cb4fcae2f1709a0eba1845ef7b31" - integrity sha512-eVIRdisSmcIzYKNSgB3gqUCrZpQkSUKlluYTsM0NqpUc4W0hHmF2vd8bShl3URWJXPOI5XPdeHuAPPqc0gUj+Q== +home-assistant-js-websocket@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/home-assistant-js-websocket/-/home-assistant-js-websocket-4.4.0.tgz#676229112a2357b054ec26ed0f186940757bc826" + integrity sha512-B/7nDtlVv3Cz0PVteGjmpGI+Ksw+9Lf4VOM+dlMG1LErCH9uOJlLQV7vswx+7bzeGMuB9YeRDb64lqjoR0zpPg== -homedir-polyfill@^1.0.0, homedir-polyfill@^1.0.1: +homedir-polyfill@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== @@ -7615,30 +6696,10 @@ ini@^1.3.4, ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== -inquirer@^1.0.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-1.2.3.tgz#4dec6f32f37ef7bb0b2ed3f1d1a5c3f545074918" - integrity sha1-TexvMvN+97sLLtPx0aXD9UUHSRg= - dependencies: - ansi-escapes "^1.1.0" - chalk "^1.0.0" - cli-cursor "^1.0.1" - cli-width "^2.0.0" - external-editor "^1.1.0" - figures "^1.3.5" - lodash "^4.3.0" - mute-stream "0.0.6" - pinkie-promise "^2.0.0" - run-async "^2.2.0" - rx "^4.1.0" - string-width "^1.0.1" - strip-ansi "^3.0.0" - through "^2.3.6" - -inquirer@^6.0.0, inquirer@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.2.tgz#46941176f65c9eb20804627149b743a218f25406" - integrity sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA== +inquirer@^6.4.1: + version "6.5.2" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" + integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== dependencies: ansi-escapes "^3.2.0" chalk "^2.4.2" @@ -7646,12 +6707,12 @@ inquirer@^6.0.0, inquirer@^6.2.2: cli-width "^2.0.0" external-editor "^3.0.3" figures "^2.0.0" - lodash "^4.17.11" + lodash "^4.17.12" mute-stream "0.0.7" run-async "^2.2.0" rxjs "^6.4.0" string-width "^2.1.0" - strip-ansi "^5.0.0" + strip-ansi "^5.1.0" through "^2.3.6" internal-ip@^4.2.0: @@ -7667,11 +6728,6 @@ interpret@^1.0.0, interpret@^1.1.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== -intersect@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/intersect/-/intersect-1.0.1.tgz#332650e10854d8c0ac58c192bdc27a8bf7e7a30c" - integrity sha1-MyZQ4QhU2MCsWMGSvcJ6i/fnoww= - intl-messageformat-parser@1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-1.4.0.tgz#b43d45a97468cadbe44331d74bb1e8dea44fc075" @@ -7816,11 +6872,6 @@ is-date-object@^1.0.1: resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= -is-deflate@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-deflate/-/is-deflate-1.0.0.tgz#c862901c3c161fb09dac7cdc7e784f80e98f2f14" - integrity sha1-yGKQHDwWH7CdrHzcfnhPgOmPLxQ= - is-descriptor@^0.1.0: version "0.1.6" resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" @@ -7911,18 +6962,13 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0: +is-glob@^4.0.0, is-glob@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== dependencies: is-extglob "^2.1.1" -is-gzip@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-gzip/-/is-gzip-1.0.0.tgz#6ca8b07b99c77998025900e555ced8ed80879a83" - integrity sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM= - is-installed-globally@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" @@ -7960,16 +7006,16 @@ is-number@^4.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + is-obj@^1.0.0, is-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= -is-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" - integrity sha1-iVJojF7C/9awPsyF52ngKQMINHA= - is-observable@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e" @@ -8008,11 +7054,6 @@ is-path-inside@^1.0.0: dependencies: path-is-inside "^1.0.1" -is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -8025,11 +7066,6 @@ is-posix-bracket@^0.1.0: resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" integrity sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q= -is-potential-custom-element-name@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" - integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= - is-primitive@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" @@ -8069,13 +7105,6 @@ is-retry-allowed@^1.0.0: resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" integrity sha1-EaBgVotnM5REAz0BJaYaINVk+zQ= -is-scoped@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-scoped/-/is-scoped-1.0.0.tgz#449ca98299e713038256289ecb2b540dc437cb30" - integrity sha1-RJypgpnnEwOCViieyytUDcQ3yzA= - dependencies: - scoped-regex "^1.0.0" - is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -8115,11 +7144,6 @@ is-valid-glob@^1.0.0: resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= -is-windows@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" - integrity sha1-3hqm1j6indJIc3tp8f+LgALSEIw= - is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -8145,13 +7169,6 @@ isarray@2.0.1: resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e" integrity sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4= -isbinaryfile@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz#5d6def3edebf6e8ca8cae9c30183a804b5f8be80" - integrity sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw== - dependencies: - buffer-alloc "^1.2.0" - isemail@3.x.x: version "3.2.0" resolved "https://registry.yarnpkg.com/isemail/-/isemail-3.2.0.tgz#59310a021931a9fb06bbb51e155ce0b3f236832c" @@ -8181,23 +7198,6 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= -istextorbinary@^2.2.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-2.5.1.tgz#14a33824cf6b9d5d7743eac1be2bd2c310d0ccbd" - integrity sha512-pv/JNPWnfpwGjPx7JrtWTwsWsxkrK3fNzcEVnt92YKEIErps4Fsk49+qzCe9iQF2hjqK8Naqf8P9kzoeCuQI1g== - dependencies: - binaryextensions "^2.1.2" - editions "^2.1.3" - textextensions "^2.4.0" - -isurl@^1.0.0-alpha5: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" - integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== - dependencies: - has-to-string-tag-x "^1.2.0" - is-object "^1.0.1" - jest-docblock@^21.0.0: version "21.2.0" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" @@ -8212,15 +7212,10 @@ joi@^14.3.1: isemail "3.x.x" topo "3.x.x" -"jquery@>= 1.4.1", jquery@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.3.1.tgz#958ce29e81c9790f31be7792df5d4d95fc57fbca" - integrity sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg== - -js-levenshtein@^1.1.3: - version "1.1.6" - resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" - integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== +"jquery@>= 1.4.1", jquery@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.4.0.tgz#8de513fa0fa4b2c7d2e48a530e26f0596936efdf" + integrity sha512-ggRCXln9zEqv6OqAGXFEcshF5dSBvCkzj6Gm2gzuR5fWawaX8t7cxKVkkygKODrDAzKdoYw3l/e3pm3vlT4IbQ== "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" @@ -8240,7 +7235,7 @@ js-yaml@3.12.0: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^3.12.0, js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.7.0: +js-yaml@^3.13.0, js-yaml@^3.13.1, js-yaml@^3.7.0: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== @@ -8356,12 +7351,13 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" -jsx-ast-utils@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f" - integrity sha1-6AGxs5mF4g//yHtA43SAgOLcrH8= +jsx-ast-utils@^2.1.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz#4d4973ebf8b9d2837ee91a8208cc66f3a2776cfb" + integrity sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ== dependencies: array-includes "^3.0.3" + object.assign "^4.1.0" just-debounce@^1.0.0: version "1.0.0" @@ -8422,13 +7418,6 @@ last-run@^1.1.0: default-resolution "^2.0.0" es6-weak-map "^2.0.1" -latest-version@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-2.0.0.tgz#56f8d6139620847b8017f8f1f4d78e211324168b" - integrity sha1-VvjWE5YghHuAF/jx9NeOIRMkFos= - dependencies: - package-json "^2.0.0" - latest-version@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" @@ -8448,11 +7437,6 @@ launchpad@^0.7.0: q "^1.4.1" underscore "^1.8.3" -lazy-req@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-1.1.0.tgz#bdaebead30f8d824039ce0ce149d4daa07ba1fac" - integrity sha1-va6+rTD42CQDnODOFJ1Nqge6H6w= - lazystream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" @@ -8588,13 +7572,6 @@ listr@^0.14.2: p-map "^2.0.0" rxjs "^6.3.3" -lit-element@^2.0.1, lit-element@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-2.2.0.tgz#e853be38021f0c7743a10180affdf84b8a02400c" - integrity sha512-Mzs3H7IO4wAnpzqreHw6dQqp9IG+h/oN8X9pgNbMZbE7x6B0aNOwP5Nveox/5HE+65ZfW2PeULEjoHkrwpTnuQ== - dependencies: - lit-html "^1.0.0" - lit-element@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-2.2.1.tgz#79c94d8cfdc2d73b245656e37991bd1e4811d96f" @@ -8628,16 +7605,6 @@ load-json-file@^2.0.0: pify "^2.0.0" strip-bom "^3.0.0" -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - loader-runner@^2.3.0: version "2.4.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" @@ -8787,7 +7754,7 @@ lodash._reinterpolate@^2.4.1, lodash._reinterpolate@~2.4.1: resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-2.4.1.tgz#4f1227aa5a8711fc632f5b07a1f4607aab8b3222" integrity sha1-TxInqlqHEfxjL1sHofRgequLMiI= -lodash._reinterpolate@~3.0.0: +lodash._reinterpolate@^3.0.0, lodash._reinterpolate@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= @@ -8873,11 +7840,6 @@ lodash.escape@~2.4.1: lodash._reunescapedhtml "~2.4.1" lodash.keys "~2.4.1" -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" - integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= - lodash.identity@~2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/lodash.identity/-/lodash.identity-2.4.1.tgz#6694cffa65fef931f7c31ce86c74597cf560f4f1" @@ -8934,9 +7896,9 @@ lodash.keys@~2.4.1: lodash.isobject "~2.4.1" lodash.mergewith@^4.6.1: - version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927" - integrity sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ== + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55" + integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== lodash.noop@~2.4.1: version "2.4.1" @@ -8948,11 +7910,6 @@ lodash.padend@^4.6.1: resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e" integrity sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4= -lodash.set@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" - integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= - lodash.some@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" @@ -8983,12 +7940,12 @@ lodash.template@^2.4.1: lodash.templatesettings "~2.4.1" lodash.values "~2.4.1" -lodash.template@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0" - integrity sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A= +lodash.template@^4.4.0, lodash.template@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" + integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== dependencies: - lodash._reinterpolate "~3.0.0" + lodash._reinterpolate "^3.0.0" lodash.templatesettings "^4.0.0" lodash.templatesettings@^4.0.0: @@ -9006,11 +7963,6 @@ lodash.templatesettings@~2.4.1: lodash._reinterpolate "~2.4.1" lodash.escape "~2.4.1" -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= - lodash.values@~2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/lodash.values/-/lodash.values-2.4.1.tgz#abf514436b3cb705001627978cbcf30b1280eea4" @@ -9018,7 +7970,7 @@ lodash.values@~2.4.1: dependencies: lodash.keys "~2.4.1" -lodash@4.17.11, "lodash@>=3.5 <5", lodash@^4.11.1, lodash@^4.16.6, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.3.0, lodash@^4.8.0: +lodash@4.17.11, "lodash@>=3.5 <5", lodash@^4.16.6, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.8.0: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== @@ -9028,6 +7980,11 @@ lodash@^3.0.0, lodash@^3.10.1: resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" integrity sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= +lodash@^4.17.12, lodash@^4.17.14: + version "4.17.15" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + log-symbols@2.2.0, log-symbols@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" @@ -9035,7 +7992,7 @@ log-symbols@2.2.0, log-symbols@^2.2.0: dependencies: chalk "^2.0.1" -log-symbols@^1.0.0, log-symbols@^1.0.1, log-symbols@^1.0.2: +log-symbols@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" integrity sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg= @@ -9138,11 +8095,6 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" -macos-release@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.1.0.tgz#c87935891fbeb0dba7537913fc66f469fee9d662" - integrity sha512-8TCbwvN1mfNxbBv0yBtfyIFMo3m1QsNbKHv7PYIp/abRBKVQBXN7ecu3aeGGgT18VC/Tf397LBDGZF9KBGJFFw== - magic-string@^0.22.4: version "0.22.5" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.22.5.tgz#8e9cf5afddf44385c1da5bc2a6a0dbd10b03657e" @@ -9150,7 +8102,7 @@ magic-string@^0.22.4: dependencies: vlq "^0.2.2" -make-dir@^1.0.0, make-dir@^1.1.0: +make-dir@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== @@ -9199,6 +8151,11 @@ map-obj@^1.0.0, map-obj@^1.0.1: resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= +map-stream@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.0.7.tgz#8a1f07896d82b10926bd3744a2420009f88974a8" + integrity sha1-ih8HiW2CsQkmvTdEokIACfiJdKg= + map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" @@ -9261,32 +8218,6 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -mem-fs-editor@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/mem-fs-editor/-/mem-fs-editor-5.1.0.tgz#51972241640be8567680a04f7adaffe5fc603667" - integrity sha512-2Yt2GCYEbcotYbIJagmow4gEtHDqzpq5XN94+yAx/NT5+bGqIjkXnm3KCUQfE6kRfScGp9IZknScoGRKu8L78w== - dependencies: - commondir "^1.0.1" - deep-extend "^0.6.0" - ejs "^2.5.9" - glob "^7.0.3" - globby "^8.0.1" - isbinaryfile "^3.0.2" - mkdirp "^0.5.0" - multimatch "^2.0.0" - rimraf "^2.2.8" - through2 "^2.0.0" - vinyl "^2.0.1" - -mem-fs@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/mem-fs/-/mem-fs-1.1.3.tgz#b8ae8d2e3fcb6f5d3f9165c12d4551a065d989cc" - integrity sha1-uK6NLj/Lb10/kWXBLUVRoGXZicw= - dependencies: - through2 "^2.0.0" - vinyl "^1.1.0" - vinyl-file "^2.0.0" - mem@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/mem/-/mem-4.2.0.tgz#5ee057680ed9cb8dad8a78d820f9a8897a102025" @@ -9319,7 +8250,7 @@ memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: errno "^0.1.3" readable-stream "^2.0.1" -meow@^3.1.0, meow@^3.3.0, meow@^3.7.0: +meow@^3.3.0, meow@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= @@ -9347,11 +8278,6 @@ merge-stream@^1.0.0, merge-stream@^1.0.1: dependencies: readable-stream "^2.0.1" -merge2@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz#7ee99dbd69bb6481689253f018488a1b902b0ed5" - integrity sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA== - methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" @@ -9395,6 +8321,14 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: snapdragon "^0.8.1" to-regex "^3.0.2" +micromatch@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + miller-rabin@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" @@ -9403,7 +8337,7 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -"mime-db@>= 1.38.0 < 2", mime-db@^1.28.0, mime-db@~1.38.0: +"mime-db@>= 1.38.0 < 2", mime-db@~1.38.0: version "1.38.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.38.0.tgz#1a2aab16da9eb167b49c6e4df2d9c68d63d8e2ad" integrity sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg== @@ -9435,11 +8369,6 @@ mimic-fn@^2.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.0.0.tgz#0913ff0b121db44ef5848242c38bbb35d44cabde" integrity sha512-jbex9Yd/3lmICXwYT6gA/j2mNQGU48wCh/VzRd+/Y/PjYQtlg1gLMdZqvu9s/xH7qKvngxRObl56XZR609IMbA== -mimic-response@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" @@ -9457,7 +8386,7 @@ minimatch-all@^1.1.0: dependencies: minimatch "^3.0.2" -"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: +"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -9644,16 +8573,6 @@ multicast-dns@^6.0.1: dns-packet "^1.3.1" thunky "^1.0.2" -multimatch@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" - integrity sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis= - dependencies: - array-differ "^1.0.0" - array-union "^1.0.1" - arrify "^1.0.0" - minimatch "^3.0.0" - multipipe@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" @@ -9674,11 +8593,6 @@ mute-stdout@^1.0.0: resolved "https://registry.yarnpkg.com/mute-stdout/-/mute-stdout-1.0.1.tgz#acb0300eb4de23a7ddeec014e3e96044b3472331" integrity sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg== -mute-stream@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.6.tgz#48962b19e169fd1dfc240b3f1e7317627bbc47db" - integrity sha1-SJYrGeFp/R38JAs/HnMXYnu8R9s= - mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -9779,11 +8693,6 @@ node-environment-flags@1.0.4: dependencies: object.getownpropertydescriptors "^2.0.3" -node-fetch@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.3.0.tgz#1a1d940bbfb916a1d3e0219f037e89e71f8c5fa5" - integrity sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA== - node-forge@0.7.5: version "0.7.5" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" @@ -9834,18 +8743,6 @@ node-pre-gyp@^0.12.0: semver "^5.3.0" tar "^4" -node-releases@^1.1.12: - version "1.1.12" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.12.tgz#1d6baf544316b5422fcd35efe18708370a4e7637" - integrity sha512-Y+AQ1xdjcgaEzpL65PBEF3fnl1FNKnDh9Zm+AUQLIlyyqtSc4u93jyMN4zrjMzdwKQ10RTr3tgY1x7qpsfF/xg== - dependencies: - semver "^5.3.0" - -node-status-codes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f" - integrity sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8= - nomnom@^1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7" @@ -10005,7 +8902,7 @@ object.defaults@^1.0.0, object.defaults@^1.1.0: for-own "^1.0.0" isobject "^3.0.0" -object.entries@^1.0.4: +object.entries@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" integrity sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA== @@ -10064,16 +8961,21 @@ object.reduce@^1.0.0: for-own "^1.0.0" make-iterator "^1.0.0" +object.values@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" + integrity sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.12.0" + function-bind "^1.1.1" + has "^1.0.3" + obuf@^1.0.0, obuf@^1.1.1, obuf@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== -octokit-pagination-methods@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz#cf472edc9d551055f9ef73f6e42b4dbb4c80bea4" - integrity sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ== - on-finished@^2.3.0, on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" @@ -10098,11 +9000,6 @@ one-time@0.0.4: resolved "https://registry.yarnpkg.com/one-time/-/one-time-0.0.4.tgz#f8cdf77884826fe4dff93e3a9cc37b1e4480742e" integrity sha1-+M33eISCb+Tf+T46nMN7HkSAdC4= -onetime@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" - integrity sha1-ofeDj4MUxRbwXs78vEzP4EtO14k= - onetime@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" @@ -10171,7 +9068,7 @@ os-browserify@^0.3.0: resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= -os-homedir@^1.0.0, os-homedir@^1.0.1: +os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= @@ -10192,25 +9089,12 @@ os-locale@^3.0.0: lcid "^2.0.0" mem "^4.0.0" -os-name@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/os-name/-/os-name-3.0.0.tgz#e1434dbfddb8e74b44c98b56797d951b7648a5d9" - integrity sha512-7c74tib2FsdFbQ3W+qj8Tyd1R3Z6tuVRNNxXjJcZ4NgjIEQU9N/prVMqcW29XZPXGACqaXN3jq58/6hoaoXH6g== - dependencies: - macos-release "^2.0.0" - windows-release "^3.1.0" - -os-shim@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" - integrity sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc= - -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -osenv@^0.1.0, osenv@^0.1.3, osenv@^0.1.4: +osenv@^0.1.3, osenv@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== @@ -10218,11 +9102,6 @@ osenv@^0.1.0, osenv@^0.1.3, osenv@^0.1.4: os-homedir "^1.0.0" os-tmpdir "^1.0.0" -p-cancelable@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" - integrity sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw== - p-defer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" @@ -10276,33 +9155,16 @@ p-map@^2.0.0: resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.0.0.tgz#be18c5a5adeb8e156460651421aceca56c213a50" integrity sha512-GO107XdrSUmtHxVoi60qc9tUl/KkNKm+X2CF4P9amalpGxv5YqVPJNfSb0wcA+syCopkZvYYIzW8OVTQW59x/w== -p-timeout@^1.1.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" - integrity sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y= - dependencies: - p-finally "^1.0.0" - p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= -p-try@^2.0.0, p-try@^2.1.0: +p-try@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.1.0.tgz#c1a0f1030e97de018bb2c718929d2af59463e505" integrity sha512-H2RyIJ7+A3rjkwKC2l5GGtU4H1vkxKCAGsWasNVd0Set+6i4znxbWy6/j16YDPJDWxhsgZiKAstMEP8wCdSpjA== -package-json@^2.0.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-2.4.0.tgz#0d15bd67d1cbbddbb2ca222ff2edb86bcb31a8bb" - integrity sha1-DRW9Z9HLvduyyiIv8u24a8sxqLs= - dependencies: - got "^5.0.0" - registry-auth-token "^3.0.1" - registry-url "^3.0.3" - semver "^5.1.0" - package-json@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" @@ -10313,11 +9175,6 @@ package-json@^4.0.0: registry-url "^3.0.3" semver "^5.1.0" -pako@~0.2.0: - version "0.2.9" - resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" - integrity sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU= - pako@~1.0.5: version "1.0.10" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" @@ -10377,7 +9234,7 @@ parse-glob@^3.0.4: is-extglob "^1.0.0" is-glob "^2.0.0" -parse-json@^2.1.0, parse-json@^2.2.0: +parse-json@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= @@ -10541,15 +9398,6 @@ pbkdf2@^3.0.3: safe-buffer "^5.0.1" sha.js "^2.4.8" -peek-stream@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/peek-stream/-/peek-stream-1.1.3.tgz#3b35d84b7ccbbd262fff31dc10da56856ead6d67" - integrity sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA== - dependencies: - buffer-from "^1.0.0" - duplexify "^3.5.0" - through2 "^2.0.3" - pem@^1.8.3: version "1.14.2" resolved "https://registry.yarnpkg.com/pem/-/pem-1.14.2.tgz#ab29350416bc3a532c30beeee0d541af897fb9ac" @@ -10570,7 +9418,12 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -pify@^2.0.0, pify@^2.3.0: +picomatch@^2.0.5: + version "2.0.7" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6" + integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA== + +pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= @@ -10657,7 +9510,7 @@ plylog@^1.0.0: winston "^3.0.0" winston-transport "^4.2.0" -polymer-analyzer@^3.0.0, polymer-analyzer@^3.1.3, polymer-analyzer@^3.2.2: +polymer-analyzer@^3.1.3, polymer-analyzer@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/polymer-analyzer/-/polymer-analyzer-3.2.2.tgz#6f2014c423663bcaecbee0fc4e07e12710bbd6bf" integrity sha512-K8j1dUi8dqbwqKcLuYEVida/VrjPdoQkfBdS4OODikdM2IwTTLbdJVmAoUUKvL5ZH2qHkuYdqPIDZhDEPmMGHw== @@ -10700,7 +9553,7 @@ polymer-analyzer@^3.0.0, polymer-analyzer@^3.1.3, polymer-analyzer@^3.2.2: vscode-uri "^1.0.1" whatwg-url "^6.4.0" -polymer-build@^3.1.0, polymer-build@^3.1.2: +polymer-build@^3.1.0: version "3.1.2" resolved "https://registry.yarnpkg.com/polymer-build/-/polymer-build-3.1.2.tgz#9a0e84b4a5d756ad3da18a36f7f524a1581850ce" integrity sha512-Lnnihvxt1cj0RA5JDGKkDKBv9P40N9vdliYNGwbHsxCn9vuxngdA5ZCjuvgNx+zjnBuNq/mGgOK6tTN6noBymw== @@ -10794,83 +9647,6 @@ polymer-bundler@^4.0.9: source-map "^0.5.6" vscode-uri "^1.0.1" -polymer-cli@^1.9.7: - version "1.9.7" - resolved "https://registry.yarnpkg.com/polymer-cli/-/polymer-cli-1.9.7.tgz#3cc3a86ed85f904beebc9871dae749bfc017a95e" - integrity sha512-hGurrixgEDPt2HaJIfodcS50oIc3aFvRVUQb9NB0oSYRufhoJMfj7E4lzDwZxlCbaRWIlh0gRn/KHjqIZ+fJGg== - dependencies: - "@octokit/rest" "^16.2.0" - "@types/chalk" "^0.4.31" - "@types/del" "^3.0.0" - "@types/findup-sync" "^0.3.29" - "@types/globby" "^6.1.0" - "@types/inquirer" "0.0.32" - "@types/merge-stream" "^1.0.28" - "@types/mz" "^0.0.31" - "@types/request" "2.0.3" - "@types/resolve" "0.0.4" - "@types/rimraf" "^0.0.28" - "@types/semver" "^5.3.30" - "@types/temp" "^0.8.28" - "@types/update-notifier" "^1.0.0" - "@types/vinyl" "^2.0.0" - "@types/vinyl-fs" "0.0.28" - "@types/yeoman-generator" "^2.0.3" - bower "^1.8.2" - bower-json "^0.8.1" - bower-logger "^0.2.2" - chalk "^1.1.3" - chokidar "^1.7.0" - command-line-args "^5.0.2" - command-line-commands "^2.0.1" - command-line-usage "^5.0.5" - del "^3.0.0" - findup-sync "^0.4.2" - globby "^8.0.1" - gunzip-maybe "^1.3.1" - inquirer "^1.0.2" - merge-stream "^1.0.1" - mz "^2.6.0" - plylog "^1.0.0" - polymer-analyzer "^3.2.2" - polymer-build "^3.1.2" - polymer-bundler "^4.0.9" - polymer-linter "^3.0.0" - polymer-project-config "^4.0.3" - polyserve "^0.27.15" - request "^2.72.0" - rimraf "^2.6.1" - semver "^5.3.0" - tar-fs "^1.12.0" - temp "^0.8.3" - update-notifier "^1.0.0" - validate-element-name "^2.1.1" - vinyl "^1.1.1" - vinyl-fs "^2.4.3" - web-component-tester "^6.9.0" - yeoman-environment "^1.5.2" - yeoman-generator "^3.1.1" - -polymer-linter@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/polymer-linter/-/polymer-linter-3.0.1.tgz#8804e1705fa2a7c263467b8a22da11bb764ee26b" - integrity sha512-eDh2CeswZz4Rwf8gfYXpMN66pieq4qJvP9bH3m39LLGm81hRePo4N5OHoQzR5unen1PUdmtjDv0Iicz3dTYEZQ== - dependencies: - "@types/fast-levenshtein" "0.0.1" - "@types/parse5" "^2.2.34" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - cancel-token "^0.1.1" - css-what "^2.1.0" - dom5 "^3.0.0" - fast-levenshtein "^2.0.6" - parse5 "^4.0.0" - polymer-analyzer "^3.0.0" - shady-css-parser "^0.1.0" - stable "^0.1.6" - strip-indent "^2.0.0" - validate-element-name "^2.1.1" - polymer-project-config@^4.0.0, polymer-project-config@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/polymer-project-config/-/polymer-project-config-4.0.3.tgz#ef0c1a676ce4809907986c8e910745660de8024f" @@ -10883,7 +9659,7 @@ polymer-project-config@^4.0.0, polymer-project-config@^4.0.3: plylog "^1.0.0" winston "^3.0.0" -polyserve@^0.27.13, polyserve@^0.27.15: +polyserve@^0.27.13: version "0.27.15" resolved "https://registry.yarnpkg.com/polyserve/-/polyserve-0.27.15.tgz#261fa5a0873c8d95fd7068598f44c9dac20cf9c4" integrity sha512-AaFgANt+tUUVgHLw+BnaVYcn649JiwL1ru0TOZUKj1gGGn/Bq2S16gxql+1muGpRaAsgFu13Zu7k5XkwatwwSg== @@ -11065,7 +9841,7 @@ prop-types-extra@^1.0.1, prop-types-extra@^1.1.0: react-is "^16.3.2" warning "^3.0.0" -prop-types@^15.5.10, prop-types@^15.6.2: +prop-types@^15.5.10, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -11114,14 +9890,6 @@ public-encrypt@^4.0.0: randombytes "^2.0.1" safe-buffer "^5.1.2" -pump@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954" - integrity sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - pump@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" @@ -11299,22 +10067,6 @@ react-transition-group@^2.2.0: prop-types "^15.6.2" react-lifecycles-compat "^3.0.4" -read-all-stream@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa" - integrity sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po= - dependencies: - pinkie-promise "^2.0.0" - readable-stream "^2.0.0" - -read-chunk@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-3.1.0.tgz#4aab805e68b1b2c72a2fe5aefa8284faf623b1c0" - integrity sha512-ZdiZJXXoZYE08SzZvTipHhI+ZW0FpzxmFtLI3vIeMuRN9ySbIZ+SZawKogqJ7dxW9fJ/W73BNtxu4Zu/bZp+Ng== - dependencies: - pify "^4.0.1" - with-open-file "^0.1.5" - read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" @@ -11331,14 +10083,6 @@ read-pkg-up@^2.0.0: find-up "^2.0.0" read-pkg "^2.0.0" -read-pkg-up@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" - integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== - dependencies: - find-up "^3.0.0" - read-pkg "^3.0.0" - read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -11357,15 +10101,6 @@ read-pkg@^2.0.0: normalize-package-data "^2.3.2" path-type "^2.0.0" -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - read-pkg@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz#963625378f3e1c4d48c85872b5a6ec7d5d093237" @@ -11505,17 +10240,12 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexp-tree@^0.1.0: - version "0.1.5" - resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.5.tgz#7cd71fca17198d04b4176efd79713f2998009397" - integrity sha512-nUmxvfJyAODw+0B13hj8CFVAxhe7fDEAgJgaotBu3nnR+IgGgZq59YedJP5VYTlkEfqjuK6TuRpnymKdatLZfQ== - regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== -regexpu-core@^4.1.3, regexpu-core@^4.5.4: +regexpu-core@^4.1.3: version "4.5.4" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.4.tgz#080d9d02289aa87fe1667a4f5136bc98a6aebaae" integrity sha512-BtizvGtFQKGPUcTy56o3nk1bGRp4SZOTYrDtGNlqCQufptV5IkkLN6Emw+yunAJjzf+C9FQFtvq7IoA3+oMYHQ== @@ -11636,7 +10366,7 @@ replace-homedir@^1.0.0: is-absolute "^1.0.0" remove-trailing-separator "^1.1.0" -request@2.88.0, request@^2.72.0, request@^2.85.0: +request@2.88.0, request@^2.85.0: version "2.88.0" resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== @@ -11694,14 +10424,6 @@ resolve-cwd@^2.0.0: dependencies: resolve-from "^3.0.0" -resolve-dir@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" - integrity sha1-shklmlYC+sXFxJatiUpujMQwJh4= - dependencies: - expand-tilde "^1.2.2" - global-modules "^0.2.3" - resolve-dir@^1.0.0, resolve-dir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" @@ -11732,20 +10454,19 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0, resolve@^1.9.0: +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.5.0: version "1.10.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg== dependencies: path-parse "^1.0.6" -restore-cursor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" - integrity sha1-NGYfRohjJ/7SmRR5FSJS35LapUE= +resolve@^1.10.1, resolve@^1.11.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" + integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== dependencies: - exit-hook "^1.0.0" - onetime "^1.0.0" + path-parse "^1.0.6" restore-cursor@^2.0.0: version "2.0.0" @@ -11801,7 +10522,7 @@ round-slider@^1.3.3: dependencies: jquery ">= 1.4.1" -run-async@^2.0.0, run-async@^2.2.0: +run-async@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= @@ -11820,12 +10541,7 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rx@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" - integrity sha1-pfE/957zt0D+MKqAP7CfmIBdR4I= - -rxjs@>=6.4.0, rxjs@^6.3.3, rxjs@^6.4.0: +rxjs@^6.3.3, rxjs@^6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.4.0.tgz#f3bb0fe7bda7fb69deac0c16f17b50b0b8790504" integrity sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw== @@ -11889,11 +10605,6 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -scoped-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/scoped-regex/-/scoped-regex-1.0.0.tgz#a346bb1acd4207ae70bd7c0c7ca9e566b6baddb8" - integrity sha1-o0a7Gs1CB65wvXwMfKnlZra63bg= - select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -11944,11 +10655,16 @@ semver-greatest-satisfied-range@^1.1.0: dependencies: sver-compat "^1.5.0" -"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: version "5.7.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== +semver@^6.0.0, semver@^6.1.2: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + send@0.16.2, send@^0.16.1, send@^0.16.2: version "0.16.2" resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" @@ -12085,15 +10801,6 @@ shell-quote@^1.6.1: array-reduce "~0.0.0" jsonify "~0.0.0" -shelljs@^0.8.0: - version "0.8.3" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097" - integrity sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -12179,11 +10886,6 @@ slice-ansi@^2.1.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" -slide@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" - integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= - snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -12280,20 +10982,6 @@ sockjs@0.3.19: faye-websocket "^0.10.0" uuid "^3.0.1" -sort-keys-length@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sort-keys-length/-/sort-keys-length-1.0.1.tgz#9cb6f4f4e9e48155a6aa0671edd336ff1479a188" - integrity sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg= - dependencies: - sort-keys "^1.0.0" - -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= - dependencies: - is-plain-obj "^1.0.0" - source-list-map@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" @@ -12338,14 +11026,6 @@ sparkles@^1.0.0: resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw== -spawn-sync@^1.0.15: - version "1.0.15" - resolved "https://registry.yarnpkg.com/spawn-sync/-/spawn-sync-1.0.15.tgz#b00799557eb7fb0c8376c29d44e8a1ea67e57476" - integrity sha1-sAeZVX63+wyDdsKdROih6mfldHY= - dependencies: - concat-stream "^1.4.7" - os-shim "^0.1.2" - spdx-correct@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" @@ -12568,11 +11248,6 @@ string-argv@^0.0.2: resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.0.2.tgz#dac30408690c21f3c3630a3ff3a05877bdcbd736" integrity sha1-2sMECGkMIfPDYwo/86BYd73L1zY= -string-template@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" - integrity sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0= - string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -12648,7 +11323,7 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" -strip-ansi@^5.0.0, strip-ansi@^5.1.0: +strip-ansi@^5.1.0, strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== @@ -12668,14 +11343,6 @@ strip-bom-stream@^1.0.0: first-chunk-stream "^1.0.0" strip-bom "^2.0.0" -strip-bom-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca" - integrity sha1-+H217yYT9paKpUWr/h7HKLaoKco= - dependencies: - first-chunk-stream "^2.0.0" - strip-bom "^2.0.0" - strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" @@ -12713,11 +11380,16 @@ strip-indent@^2.0.0: resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= -strip-json-comments@2.0.1, strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: +strip-json-comments@2.0.1, strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= +strip-json-comments@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" + integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== + subarg@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2" @@ -12844,16 +11516,6 @@ tapable@^1.0.0, tapable@^1.1.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.1.tgz#4d297923c5a72a42360de2ab52dadfaaec00018e" integrity sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA== -tar-fs@^1.12.0: - version "1.16.3" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509" - integrity sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw== - dependencies: - chownr "^1.0.1" - mkdirp "^0.5.1" - pump "^1.0.0" - tar-stream "^1.1.2" - tar-stream@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.0.0.tgz#8829bbf83067bc0288a9089db49c56be395b6aea" @@ -12865,7 +11527,7 @@ tar-stream@2.0.0: inherits "^2.0.3" readable-stream "^3.1.1" -tar-stream@^1.1.2, tar-stream@^1.5.0: +tar-stream@^1.5.0: version "1.6.2" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== @@ -12891,7 +11553,7 @@ tar@^4: safe-buffer "^5.1.2" yallist "^3.0.2" -temp@^0.8.1, temp@^0.8.3: +temp@^0.8.1: version "0.8.3" resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59" integrity sha1-4Ma8TSa5AxJEEOT+2BEDAU38H1k= @@ -12954,11 +11616,6 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -textextensions@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.4.0.tgz#6a143a985464384cc2cff11aea448cd5b018e72b" - integrity sha512-qftQXnX1DzpSV8EddtHIT0eDDEiBF8ywhFYR2lI9xrGtxqKN+CvLXhACeCIGbCpQfxxERbrkZEFb8cZcDKbVZA== - thenify-all@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" @@ -13035,11 +11692,6 @@ time-stamp@^1.0.0: resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= -timed-out@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217" - integrity sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc= - timed-out@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" @@ -13052,13 +11704,6 @@ timers-browserify@^2.0.4: dependencies: setimmediate "^1.0.4" -tmp@^0.0.29: - version "0.0.29" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.29.tgz#f25125ff0dd9da3ccb0c2dd371ee1288bb9128c0" - integrity sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA= - dependencies: - os-tmpdir "~1.0.1" - tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -13121,6 +11766,13 @@ to-regex-range@^2.1.0: is-number "^3.0.0" repeat-string "^1.6.1" +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + to-regex@^3.0.1, to-regex@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" @@ -13185,6 +11837,17 @@ triple-beam@^1.2.0, triple-beam@^1.3.0: resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9" integrity sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw== +ts-loader@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-6.0.4.tgz#bc331ad91a887a60632d94c9f79448666f2c4b63" + integrity sha512-p2zJYe7OtwR+49kv4gs7v4dMrfYD1IPpOtqiSPCbe8oR+4zEBtdHwzM7A7M91F+suReqgzZrlClk4LRSSp882g== + dependencies: + chalk "^2.3.0" + enhanced-resolve "^4.0.0" + loader-utils "^1.0.2" + micromatch "^4.0.0" + semver "^6.0.0" + ts-mocha@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/ts-mocha/-/ts-mocha-6.0.0.tgz#40b8c5462ffce6f5dcee5ff729655b2958f26e50" @@ -13496,13 +12159,6 @@ unique-string@^1.0.0: dependencies: crypto-random-string "^1.0.0" -universal-user-agent@^2.0.0, universal-user-agent@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-2.0.3.tgz#9f6f09f9cc33de867bb720d84c08069b14937c6c" - integrity sha512-eRHEHhChCBHrZsA4WEhdgiOKgdvgrMIHwnwnqD0r5C6AO8kwKcG7qSku3iXdhvHL3YvsS9ZkSGN8h/hIpoFC8g== - dependencies: - os-name "^3.0.0" - universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -13521,23 +12177,13 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -untildify@^2.0.0, untildify@^2.1.0: +untildify@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/untildify/-/untildify-2.1.0.tgz#17eb2807987f76952e9c0485fc311d06a826a2e0" integrity sha1-F+soB5h/dpUunASF/DEdBqgmouA= dependencies: os-homedir "^1.0.0" -untildify@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-3.0.3.tgz#1e7b42b140bcfd922b22e70ca1265bfe3634c7c9" - integrity sha512-iSk/J8efr8uPT/Z4eSUywnqyrQU7DSdMfdqK4iWEaUVVmcP5JcnpRqmVMwcwcnmI1ATFNgC5V90u09tBynNFKA== - -unzip-response@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" - integrity sha1-uYTwh3/AqJwsdzzB73tbIytbBv4= - unzip-response@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" @@ -13548,20 +12194,6 @@ upath@^1.1.1: resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q== -update-notifier@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-1.0.3.tgz#8f92c515482bd6831b7c93013e70f87552c7cf5a" - integrity sha1-j5LFFUgr1oMbfJMBPnD4dVLHz1o= - dependencies: - boxen "^0.6.0" - chalk "^1.0.0" - configstore "^2.0.0" - is-npm "^1.0.0" - latest-version "^2.0.0" - lazy-req "^1.1.0" - semver-diff "^2.0.0" - xdg-basedir "^2.0.0" - update-notifier@^2.2.0, update-notifier@^2.3.0: version "2.5.0" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" @@ -13615,16 +12247,6 @@ url-parse@^1.4.3: querystringify "^2.0.0" requires-port "^1.0.0" -url-template@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/url-template/-/url-template-2.0.8.tgz#fc565a3cccbff7730c775f5641f9555791439f21" - integrity sha1-/FZaPMy/93MMd19WQflVV5FDnyE= - -url-to-options@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" - integrity sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k= - url-toolkit@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/url-toolkit/-/url-toolkit-2.1.6.tgz#6d03246499e519aad224c44044a4ae20544154f2" @@ -13648,7 +12270,7 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -util.promisify@1.0.0, util.promisify@^1.0.0: +util.promisify@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== @@ -13680,11 +12302,6 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" - integrity sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho= - uuid@^3.0.1, uuid@^3.2.1, uuid@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" @@ -13695,6 +12312,11 @@ v8-compile-cache@^2.0.2: resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz#a428b28bb26790734c4fc8bc9fa106fccebf6a6c" integrity sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw== +v8-compile-cache@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" + integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== + v8flags@^3.0.1: version "3.1.2" resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.1.2.tgz#fc5cd0c227428181e6c29b2992e4f8f1da5e0c9f" @@ -13707,15 +12329,6 @@ vali-date@^1.0.0: resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6" integrity sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY= -validate-element-name@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/validate-element-name/-/validate-element-name-2.1.1.tgz#8ff75f7da69f73e7c510588362130508b7ac644e" - integrity sha1-j/dffaafc+fFEFiDYhMFCLesZE4= - dependencies: - is-potential-custom-element-name "^1.0.0" - log-symbols "^1.0.0" - meow "^3.7.0" - validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -13748,19 +12361,7 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vinyl-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-2.0.0.tgz#a7ebf5ffbefda1b7d18d140fcb07b223efb6751a" - integrity sha1-p+v1/779obfRjRQPyweyI++2dRo= - dependencies: - graceful-fs "^4.1.2" - pify "^2.3.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - strip-bom-stream "^2.0.0" - vinyl "^1.1.0" - -vinyl-fs@^2.4.3, vinyl-fs@^2.4.4: +vinyl-fs@^2.4.4: version "2.4.4" resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-2.4.4.tgz#be6ff3270cb55dfd7d3063640de81f25d7532239" integrity sha1-vm/zJwy1Xf19MGNkDegfJddTIjk= @@ -13826,7 +12427,7 @@ vinyl@^0.2.1: dependencies: clone-stats "~0.0.1" -vinyl@^1.0.0, vinyl@^1.1.0, vinyl@^1.1.1, vinyl@^1.2.0: +vinyl@^1.0.0, vinyl@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" integrity sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ= @@ -13835,7 +12436,7 @@ vinyl@^1.0.0, vinyl@^1.1.0, vinyl@^1.1.1, vinyl@^1.2.0: clone-stats "^0.0.1" replace-ext "0.0.1" -vinyl@^2.0.0, vinyl@^2.0.1, vinyl@^2.1.0: +vinyl@^2.0.0, vinyl@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg== @@ -13959,7 +12560,7 @@ web-animations-js@^2.3.1: resolved "https://registry.yarnpkg.com/web-animations-js/-/web-animations-js-2.3.1.tgz#3a6d9bc15196377a90f8e2803fa5262165b04510" integrity sha1-Om2bwVGWN3qQ+OKAP6UmIWWwRRA= -web-component-tester@^6.9.0, web-component-tester@^6.9.2: +web-component-tester@^6.9.2: version "6.9.2" resolved "https://registry.yarnpkg.com/web-component-tester/-/web-component-tester-6.9.2.tgz#40a7b824f2cf3cbc4305552bdfc3357977ded48a" integrity sha512-s2kB/+IE8XWcnxY1fqSpqTiiHEGHWgUWariAbiRlxmAvWSuvaCVNALHYebsZrLCNCLHKcJR8/sGv/bw0MWMvjw== @@ -14149,7 +12750,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@1.3.1, which@^1.0.8, which@^1.2.10, which@^1.2.12, which@^1.2.14, which@^1.2.9, which@^1.3.1: +which@1.3.1, which@^1.0.8, which@^1.2.10, which@^1.2.14, which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -14163,13 +12764,6 @@ wide-align@1.1.3, wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" -widest-line@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c" - integrity sha1-DAnIXCqUaD0Nfq+O4JfVZL8OEFw= - dependencies: - string-width "^1.0.1" - widest-line@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" @@ -14177,13 +12771,6 @@ widest-line@^2.0.0: dependencies: string-width "^2.1.1" -windows-release@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.1.0.tgz#8d4a7e266cbf5a233f6c717dac19ce00af36e12e" - integrity sha512-hBb7m7acFgQPQc222uEQTmdcGLeBmQLNLFIh0rDk3CwFOBrfjefLzEfEfmpMq8Af/n/GnFf3eYf203FY1PmudA== - dependencies: - execa "^0.10.0" - winston-transport@^4.2.0, winston-transport@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.3.0.tgz#df68c0c202482c448d9b47313c07304c2d7c2c66" @@ -14207,15 +12794,6 @@ winston@^3.0.0: triple-beam "^1.3.0" winston-transport "^4.3.0" -with-open-file@^0.1.5: - version "0.1.6" - resolved "https://registry.yarnpkg.com/with-open-file/-/with-open-file-0.1.6.tgz#0bc178ecab75f6baac8ae11c85e07445d690ea50" - integrity sha512-SQS05JekbtwQSgCYlBsZn/+m2gpn4zWsqpCYIrCHva0+ojXcnmUEPsBN6Ipoz3vmY/81k5PvYEWSxER2g4BTqA== - dependencies: - p-finally "^1.0.0" - p-try "^2.1.0" - pify "^4.0.1" - wordwrap@~0.0.2: version "0.0.3" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" @@ -14404,15 +12982,6 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@^1.1.2: - version "1.3.4" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" - integrity sha1-+Aek8LHZ6ROuekgRLmzDrxmRtF8= - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - slide "^1.1.5" - write-file-atomic@^2.0.0: version "2.4.2" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.2.tgz#a7181706dfba17855d221140a9c06e15fcdd87b9" @@ -14436,13 +13005,6 @@ ws@~6.1.0: dependencies: async-limiter "~1.0.0" -xdg-basedir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2" - integrity sha1-7byQPMOF/ARSPZZqM1UEtVBNG9I= - dependencies: - os-homedir "^1.0.0" - xdg-basedir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" @@ -14605,76 +13167,6 @@ yeast@0.1.2: resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk= -yeoman-environment@^1.5.2: - version "1.6.6" - resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-1.6.6.tgz#cd85fa67d156060e440d7807d7ef7cf0d2d1d671" - integrity sha1-zYX6Z9FWBg5EDXgH1+988NLR1nE= - dependencies: - chalk "^1.0.0" - debug "^2.0.0" - diff "^2.1.2" - escape-string-regexp "^1.0.2" - globby "^4.0.0" - grouped-queue "^0.3.0" - inquirer "^1.0.2" - lodash "^4.11.1" - log-symbols "^1.0.1" - mem-fs "^1.1.0" - text-table "^0.2.0" - untildify "^2.0.0" - -yeoman-environment@^2.0.5: - version "2.3.4" - resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-2.3.4.tgz#ae156147a1b85de939366e5438b00cb3eb54c3e9" - integrity sha512-KLxE5ft/74Qj7h3AsQZv8G6MEEHYJwmD5F99nfOVaep3rBzCtbrJKkdqWc7bDV141Nr8UZZsIXmzc3IcCm6E2w== - dependencies: - chalk "^2.4.1" - cross-spawn "^6.0.5" - debug "^3.1.0" - diff "^3.5.0" - escape-string-regexp "^1.0.2" - globby "^8.0.1" - grouped-queue "^0.3.3" - inquirer "^6.0.0" - is-scoped "^1.0.0" - lodash "^4.17.10" - log-symbols "^2.2.0" - mem-fs "^1.1.0" - strip-ansi "^4.0.0" - text-table "^0.2.0" - untildify "^3.0.3" - -yeoman-generator@^3.1.1: - version "3.2.0" - resolved "https://registry.yarnpkg.com/yeoman-generator/-/yeoman-generator-3.2.0.tgz#02077d2d7ff28fedc1ed7dad7f9967fd7c3604cc" - integrity sha512-iR/qb2je3GdXtSfxgvOXxUW0Cp8+C6LaZaNlK2BAICzFNzwHtM10t/QBwz5Ea9nk6xVDQNj4Q889TjCXGuIv8w== - dependencies: - async "^2.6.0" - chalk "^2.3.0" - cli-table "^0.3.1" - cross-spawn "^6.0.5" - dargs "^6.0.0" - dateformat "^3.0.3" - debug "^4.1.0" - detect-conflict "^1.0.0" - error "^7.0.2" - find-up "^3.0.0" - github-username "^4.0.0" - istextorbinary "^2.2.1" - lodash "^4.17.10" - make-dir "^1.1.0" - mem-fs-editor "^5.0.0" - minimist "^1.2.0" - pretty-bytes "^5.1.0" - read-chunk "^3.0.0" - read-pkg-up "^4.0.0" - rimraf "^2.6.2" - run-async "^2.0.0" - shelljs "^0.8.0" - text-table "^0.2.0" - through2 "^3.0.0" - yeoman-environment "^2.0.5" - yn@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a"