diff --git a/Gemfile.lock b/Gemfile.lock index e2f78cff947..7ce15a08871 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -25,8 +25,8 @@ GEM http_parser.rb (~> 0.6.0) eventmachine (1.2.7) eventmachine (1.2.7-x64-mingw32) - ffi (1.15.0) - ffi (1.15.0-x64-mingw32) + ffi (1.15.1) + ffi (1.15.1-x64-mingw32) forwardable-extended (2.6.0) http_parser.rb (0.6.0) i18n (1.8.10) diff --git a/package-lock.json b/package-lock.json index cef70b48b91..dbefe061fed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -104,56 +104,66 @@ "dev": true }, "@textlint/ast-tester": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-2.3.5.tgz", - "integrity": "sha512-sbw0Edx22/Fa9fwObpus5KyhCnGKhyP1tU7flA7kwTi9EqQq2KFztz1c/QQWpgqymbdSPWg7HpAvGf4ru4FDZg==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-12.0.0.tgz", + "integrity": "sha512-mcAqaOJnAhay8QtDC/na5S72XPxmqGCntOwcLwuSjEmPGAIuLC3GsumLQo4nWSQ2LGnWd6CwLDZT4eBlRWetNA==", "dev": true, "requires": { - "@textlint/ast-node-types": "^4.4.3" + "@textlint/ast-node-types": "^12.0.0", + "debug": "^4.3.1" }, "dependencies": { "@textlint/ast-node-types": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.4.3.tgz", - "integrity": "sha512-qi2jjgO6Tn3KNPGnm6B7p6QTEPvY95NFsIAaJuwbulur8iJUEenp1OnoUfiDaC/g2WPPEFkcfXpmnu8XEMFo2A==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-12.0.0.tgz", + "integrity": "sha512-qUjmlpz1vR3AStBA9RPDCVT0/pGtePvBJ5Vb/0PzTrnr04iFktG6P6B1VOmgTh8J9Kl/FonQFo3A9M1Q3UH+JA==", "dev": true + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } } } }, "@textlint/ast-traverse": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-2.3.5.tgz", - "integrity": "sha512-yo1gIoXDx2bNs1JjC9viRxJpErNsfPtzb585KcVwWxxWmu3tXlT2iz13iKdjj5FMYPJe/PORe7lYqymkSUZ7kg==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-12.0.0.tgz", + "integrity": "sha512-Mu0il8qWS9YkzVAqwmrTd+ga5S0LJVWOGjE6d9yADf5xObUDFk4g8ITlfEOiicpX5bTUxT4e1bORxPveCJ8iKQ==", "dev": true, "requires": { - "@textlint/ast-node-types": "^4.4.3" + "@textlint/ast-node-types": "^12.0.0" }, "dependencies": { "@textlint/ast-node-types": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.4.3.tgz", - "integrity": "sha512-qi2jjgO6Tn3KNPGnm6B7p6QTEPvY95NFsIAaJuwbulur8iJUEenp1OnoUfiDaC/g2WPPEFkcfXpmnu8XEMFo2A==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-12.0.0.tgz", + "integrity": "sha512-qUjmlpz1vR3AStBA9RPDCVT0/pGtePvBJ5Vb/0PzTrnr04iFktG6P6B1VOmgTh8J9Kl/FonQFo3A9M1Q3UH+JA==", "dev": true } } }, "@textlint/feature-flag": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-3.3.5.tgz", - "integrity": "sha512-S4JhbDQGu1Sutnvqs96nwxqwaErHrL49/QQDR8i/YNsINlurfKJbmktotb+w+qzeSibDibKzB8feOMVBXmO9Ww==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-12.0.0.tgz", + "integrity": "sha512-xgK6tsf1Gg6xn8/X0HN4LXzSkJYgmByAvzItUPlI0dzvA4HhhT4gkBeshDCuXsHLc970nYgzy1TYHpyscu7PTw==", "dev": true, "requires": { "map-like": "^2.0.0" } }, "@textlint/fixer-formatter": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-3.3.5.tgz", - "integrity": "sha512-FHfOQLvJV88vgAI9wwbAjtffo4ZtAW0bV8xkC3dY2DdVyo+7Tnhz0l2XPw2VFmyzpeHx9Slqw8nEv46YEs4JaQ==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-12.0.0.tgz", + "integrity": "sha512-y2PWue8PANhSF9cXwksxmjDs/n9exOq4daNMhN7VvJk9yrXL+nSuAoyDXjyp09gX4Nfwa/xsOrQRTDVRbizgcw==", "dev": true, "requires": { - "@textlint/module-interop": "^1.2.5", - "@textlint/types": "^1.5.5", + "@textlint/module-interop": "^12.0.0", + "@textlint/types": "^12.0.0", "chalk": "^1.1.3", "debug": "^4.3.1", "diff": "^4.0.2", @@ -165,18 +175,18 @@ }, "dependencies": { "@textlint/ast-node-types": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.4.3.tgz", - "integrity": "sha512-qi2jjgO6Tn3KNPGnm6B7p6QTEPvY95NFsIAaJuwbulur8iJUEenp1OnoUfiDaC/g2WPPEFkcfXpmnu8XEMFo2A==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-12.0.0.tgz", + "integrity": "sha512-qUjmlpz1vR3AStBA9RPDCVT0/pGtePvBJ5Vb/0PzTrnr04iFktG6P6B1VOmgTh8J9Kl/FonQFo3A9M1Q3UH+JA==", "dev": true }, "@textlint/types": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@textlint/types/-/types-1.5.5.tgz", - "integrity": "sha512-80P6fcqgsG9bP6JgR6W/E/oIx+71pplaicYCvvB4vMIeGk0OnWls4Q21kCpDYmq/C/ABtZ/Gy/Ov/8ExQPeQ7A==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.0.0.tgz", + "integrity": "sha512-3sB22cGtN9nPViDrW7FJxWkDrpGtyJbvNsvZqzX83HJbAiOmzzeHDkRRLvz9tax76lcdjlNk+2rHY3iSnjhEag==", "dev": true, "requires": { - "@textlint/ast-node-types": "^4.4.3" + "@textlint/ast-node-types": "^12.0.0" } }, "ansi-regex": { @@ -264,18 +274,18 @@ } }, "@textlint/kernel": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-3.4.5.tgz", - "integrity": "sha512-KGeOq4mbjPe3okDtPw7mbnTX/wP66ndmRKAoOz8gOKDIDRlH8nOG/av6k6xbVhdMk9+ZnomqU8jSSYwTZHzAnA==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/kernel/-/kernel-12.0.0.tgz", + "integrity": "sha512-8UXHKhSAgn1aexPjyQE1CRVivCfSz+aFuNrktT9+JOMM3XsSd4JFcMKDhPA1utiiRR+4yDVH5be38vuuJOG9cQ==", "dev": true, "requires": { - "@textlint/ast-node-types": "^4.4.3", - "@textlint/ast-tester": "^2.3.5", - "@textlint/ast-traverse": "^2.3.5", - "@textlint/feature-flag": "^3.3.5", - "@textlint/source-code-fixer": "^3.4.5", - "@textlint/types": "^1.5.5", - "@textlint/utils": "^1.2.5", + "@textlint/ast-node-types": "^12.0.0", + "@textlint/ast-tester": "^12.0.0", + "@textlint/ast-traverse": "^12.0.0", + "@textlint/feature-flag": "^12.0.0", + "@textlint/source-code-fixer": "^12.0.0", + "@textlint/types": "^12.0.0", + "@textlint/utils": "^12.0.0", "debug": "^4.3.1", "deep-equal": "^1.1.1", "map-like": "^2.0.0", @@ -283,18 +293,18 @@ }, "dependencies": { "@textlint/ast-node-types": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.4.3.tgz", - "integrity": "sha512-qi2jjgO6Tn3KNPGnm6B7p6QTEPvY95NFsIAaJuwbulur8iJUEenp1OnoUfiDaC/g2WPPEFkcfXpmnu8XEMFo2A==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-12.0.0.tgz", + "integrity": "sha512-qUjmlpz1vR3AStBA9RPDCVT0/pGtePvBJ5Vb/0PzTrnr04iFktG6P6B1VOmgTh8J9Kl/FonQFo3A9M1Q3UH+JA==", "dev": true }, "@textlint/types": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@textlint/types/-/types-1.5.5.tgz", - "integrity": "sha512-80P6fcqgsG9bP6JgR6W/E/oIx+71pplaicYCvvB4vMIeGk0OnWls4Q21kCpDYmq/C/ABtZ/Gy/Ov/8ExQPeQ7A==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.0.0.tgz", + "integrity": "sha512-3sB22cGtN9nPViDrW7FJxWkDrpGtyJbvNsvZqzX83HJbAiOmzzeHDkRRLvz9tax76lcdjlNk+2rHY3iSnjhEag==", "dev": true, "requires": { - "@textlint/ast-node-types": "^4.4.3" + "@textlint/ast-node-types": "^12.0.0" } }, "debug": { @@ -309,17 +319,16 @@ } }, "@textlint/linter-formatter": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-3.3.5.tgz", - "integrity": "sha512-ujQwgGGK4nVYRuNeW8zDyxax2Z8FTRips5f3VBhWpJaR7hlqdh1iNahul8iJ+1JbfXiHm+51a01myoqGGh1ENA==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-12.0.0.tgz", + "integrity": "sha512-jRRZluLCBXcP8VlA90N8DJOPy890j7rVOVSuyyFn0ypuUK88X2qH9XoEd9yYbo/HmH9ky2h+TeA8CJtOAIjU2g==", "dev": true, "requires": { "@azu/format-text": "^1.0.1", "@azu/style-format": "^1.0.0", - "@textlint/module-interop": "^1.2.5", - "@textlint/types": "^1.5.5", + "@textlint/module-interop": "^12.0.0", + "@textlint/types": "^12.0.0", "chalk": "^1.1.3", - "concat-stream": "^1.6.2", "debug": "^4.3.1", "is-file": "^1.0.0", "js-yaml": "^3.14.1", @@ -334,18 +343,18 @@ }, "dependencies": { "@textlint/ast-node-types": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.4.3.tgz", - "integrity": "sha512-qi2jjgO6Tn3KNPGnm6B7p6QTEPvY95NFsIAaJuwbulur8iJUEenp1OnoUfiDaC/g2WPPEFkcfXpmnu8XEMFo2A==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-12.0.0.tgz", + "integrity": "sha512-qUjmlpz1vR3AStBA9RPDCVT0/pGtePvBJ5Vb/0PzTrnr04iFktG6P6B1VOmgTh8J9Kl/FonQFo3A9M1Q3UH+JA==", "dev": true }, "@textlint/types": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@textlint/types/-/types-1.5.5.tgz", - "integrity": "sha512-80P6fcqgsG9bP6JgR6W/E/oIx+71pplaicYCvvB4vMIeGk0OnWls4Q21kCpDYmq/C/ABtZ/Gy/Ov/8ExQPeQ7A==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.0.0.tgz", + "integrity": "sha512-3sB22cGtN9nPViDrW7FJxWkDrpGtyJbvNsvZqzX83HJbAiOmzzeHDkRRLvz9tax76lcdjlNk+2rHY3iSnjhEag==", "dev": true, "requires": { - "@textlint/ast-node-types": "^4.4.3" + "@textlint/ast-node-types": "^12.0.0" } }, "ansi-regex": { @@ -384,18 +393,6 @@ } } }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, "debug": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", @@ -424,21 +421,6 @@ "esprima": "^4.0.0" } }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -461,15 +443,6 @@ } } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -479,24 +452,25 @@ } }, "@textlint/markdown-to-ast": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-6.3.5.tgz", - "integrity": "sha512-DjVEy61klC8OjQYP+iIukI95pjCM58jhpE046apqGWLo6JQSatfscJlcxmbRivfTQSVsa00RF2ciUFBmw3bobg==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-12.0.0.tgz", + "integrity": "sha512-XaiuePJVDGVIwdjIiITdbdRXZDFnAFY/so3Rb8qAId/Qq9fKPUvgefMkdIG73wUC7LzhrAzH6/CuEO+f77HR5g==", "dev": true, "requires": { - "@textlint/ast-node-types": "^4.4.3", + "@textlint/ast-node-types": "^12.0.0", "debug": "^4.3.1", - "remark-frontmatter": "^1.3.3", - "remark-parse": "^5.0.0", - "structured-source": "^3.0.2", + "remark-footnotes": "^3.0.0", + "remark-frontmatter": "^3.0.0", + "remark-gfm": "^1.0.0", + "remark-parse": "^9.0.0", "traverse": "^0.6.6", - "unified": "^6.2.0" + "unified": "^9.2.1" }, "dependencies": { "@textlint/ast-node-types": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.4.3.tgz", - "integrity": "sha512-qi2jjgO6Tn3KNPGnm6B7p6QTEPvY95NFsIAaJuwbulur8iJUEenp1OnoUfiDaC/g2WPPEFkcfXpmnu8XEMFo2A==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-12.0.0.tgz", + "integrity": "sha512-qUjmlpz1vR3AStBA9RPDCVT0/pGtePvBJ5Vb/0PzTrnr04iFktG6P6B1VOmgTh8J9Kl/FonQFo3A9M1Q3UH+JA==", "dev": true }, "debug": { @@ -508,123 +482,51 @@ "ms": "2.1.2" } }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "remark-frontmatter": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-1.3.3.tgz", - "integrity": "sha512-fM5eZPBvu2pVNoq3ZPW22q+5Ativ1oLozq2qYt9I2oNyxiUd/tDl0iLLntEVAegpZIslPWg1brhcP1VsaSVUag==", - "dev": true, - "requires": { - "fault": "^1.0.1", - "xtend": "^4.0.1" - } - }, - "remark-parse": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz", - "integrity": "sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==", - "dev": true, - "requires": { - "collapse-white-space": "^1.0.2", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^1.1.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^1.0.0", - "vfile-location": "^2.0.0", - "xtend": "^4.0.1" - } - }, "unified": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/unified/-/unified-6.2.0.tgz", - "integrity": "sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.1.tgz", + "integrity": "sha512-juWjuI8Z4xFg8pJbnEZ41b5xjGUWGHqXALmBZ3FC3WX0PIx1CZBIIJ6mXbYMcf6Yw4Fi0rFUTA1cdz/BglbOhA==", "dev": true, "requires": { "bail": "^1.0.0", "extend": "^3.0.0", - "is-plain-obj": "^1.1.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", "trough": "^1.0.0", - "vfile": "^2.0.0", - "x-is-string": "^0.1.0" - } - }, - "unist-util-stringify-position": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz", - "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==", - "dev": true - }, - "vfile": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz", - "integrity": "sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==", - "dev": true, - "requires": { - "is-buffer": "^1.1.4", - "replace-ext": "1.0.0", - "unist-util-stringify-position": "^1.0.0", - "vfile-message": "^1.0.0" - } - }, - "vfile-message": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz", - "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==", - "dev": true, - "requires": { - "unist-util-stringify-position": "^1.1.1" + "vfile": "^4.0.0" } } } }, "@textlint/module-interop": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-1.2.5.tgz", - "integrity": "sha512-+yEluCSbj6oxk9ENFojVcSxURvXOg7AU3vBiVHPjPEShaqbzZZ6tcut6gbDcIYhEDUkegZGmGwyfOe+wNABhKw==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-12.0.0.tgz", + "integrity": "sha512-WSuwd3pd2xYDCYqpA6NE8FwMZS4WJ2gZmsSCXBpOh3qJ/pHbmrfEaiwOpGQJA4RfXVp8Fy5KfaAQJIr+wox98A==", "dev": true }, "@textlint/source-code-fixer": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-3.4.5.tgz", - "integrity": "sha512-YUcBg6zs7H5ycLwWdfv5LHWlBx7iBAQL6vHY2uPw8AMPYgzU6/f91NGBU/QR7/FVw0e7v9zMngcRN1hMOxpFCw==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-12.0.0.tgz", + "integrity": "sha512-+XMJ7unzezEqKh8euWIw1QUprvv7IJzOfV0UPVbkThX2d3ZOzBmK+AzlYbqzCwZ1jkV0QYaRqaptBE+iaaQjNg==", "dev": true, "requires": { - "@textlint/types": "^1.5.5", + "@textlint/types": "^12.0.0", "debug": "^4.3.1" }, "dependencies": { "@textlint/ast-node-types": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.4.3.tgz", - "integrity": "sha512-qi2jjgO6Tn3KNPGnm6B7p6QTEPvY95NFsIAaJuwbulur8iJUEenp1OnoUfiDaC/g2WPPEFkcfXpmnu8XEMFo2A==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-12.0.0.tgz", + "integrity": "sha512-qUjmlpz1vR3AStBA9RPDCVT0/pGtePvBJ5Vb/0PzTrnr04iFktG6P6B1VOmgTh8J9Kl/FonQFo3A9M1Q3UH+JA==", "dev": true }, "@textlint/types": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@textlint/types/-/types-1.5.5.tgz", - "integrity": "sha512-80P6fcqgsG9bP6JgR6W/E/oIx+71pplaicYCvvB4vMIeGk0OnWls4Q21kCpDYmq/C/ABtZ/Gy/Ov/8ExQPeQ7A==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.0.0.tgz", + "integrity": "sha512-3sB22cGtN9nPViDrW7FJxWkDrpGtyJbvNsvZqzX83HJbAiOmzzeHDkRRLvz9tax76lcdjlNk+2rHY3iSnjhEag==", "dev": true, "requires": { - "@textlint/ast-node-types": "^4.4.3" + "@textlint/ast-node-types": "^12.0.0" } }, "debug": { @@ -639,38 +541,38 @@ } }, "@textlint/text-to-ast": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-3.3.5.tgz", - "integrity": "sha512-+1+Kj7wuQHgc43RowVN/KWz3/aevk2RHARX8/p9Y+pE25HRJ36KZo1PLSYYx82NnWpvZTXB3QONWiAukdv6jBg==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-12.0.0.tgz", + "integrity": "sha512-j73hF6BiwdZurNdzHfOtP5j3v+nTWaTP7RtJf5wpfQBigT4RA+EqmKxUd/OpO+gt/Xy1NkpceLFNllZGRLEvkw==", "dev": true, "requires": { - "@textlint/ast-node-types": "^4.4.3" + "@textlint/ast-node-types": "^12.0.0" }, "dependencies": { "@textlint/ast-node-types": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.4.3.tgz", - "integrity": "sha512-qi2jjgO6Tn3KNPGnm6B7p6QTEPvY95NFsIAaJuwbulur8iJUEenp1OnoUfiDaC/g2WPPEFkcfXpmnu8XEMFo2A==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-12.0.0.tgz", + "integrity": "sha512-qUjmlpz1vR3AStBA9RPDCVT0/pGtePvBJ5Vb/0PzTrnr04iFktG6P6B1VOmgTh8J9Kl/FonQFo3A9M1Q3UH+JA==", "dev": true } } }, "@textlint/textlint-plugin-markdown": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-5.3.5.tgz", - "integrity": "sha512-x1/DJa+6wsR4LwkL+JA5OdEoZ/PhxtkKb20IqHTsLwQIeDL4aNWT6GrAk0HKTOomzsyNrUBuvzYiCy/f75LtBw==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-12.0.0.tgz", + "integrity": "sha512-eo9deECYMkytoiJUqDxEwzugL8sLcCFUbeCpzV5IuIRwQBh85Hds3lp/mtW1B3Q/BxcSa08im2HAa9uRdcoe4Q==", "dev": true, "requires": { - "@textlint/markdown-to-ast": "^6.3.5" + "@textlint/markdown-to-ast": "^12.0.0" } }, "@textlint/textlint-plugin-text": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-4.3.5.tgz", - "integrity": "sha512-ygjzswWrzlCiNNCy1+WF0oI8tNCk+1fS/nJEtG7DHuTVvE0OTn4MdWJXOD8sd+ZffXr+uFmEqMisHo06+RpQCg==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-12.0.0.tgz", + "integrity": "sha512-brtexdqu7yvFLstYvVlotMZz5T7SwKfnFnV9Sm+uhg/d3Ddea9exzpiWWcXfRAhfOBd12mmEGM6gwAuSwzrhqg==", "dev": true, "requires": { - "@textlint/text-to-ast": "^3.3.5" + "@textlint/text-to-ast": "^12.0.0" } }, "@textlint/types": { @@ -683,9 +585,9 @@ } }, "@textlint/utils": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-1.2.5.tgz", - "integrity": "sha512-2vgz4x3tKK+R9N0OlOovJClRCHubxZi86ki218cvRVpoU9pPrHwkwZud+rjItDl2xFBj7Gujww7c0W1wyytWVQ==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/utils/-/utils-12.0.0.tgz", + "integrity": "sha512-bnIr17iouc4MtVR+r7v8mBasNn3ZsQpfTLTi4RelrZJdICHMBUMOWRX70cVRV/xJck/nfY9igt325qI0y2ELoQ==", "dev": true }, "@types/mdast": { @@ -826,6 +728,12 @@ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, + "ccount": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", + "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", + "dev": true + }, "chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -888,12 +796,6 @@ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, - "collapse-white-space": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", - "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==", - "dev": true - }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -927,12 +829,6 @@ "typedarray": "^0.0.6" } }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, "crypt": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", @@ -1367,24 +1263,6 @@ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, - "is-whitespace-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", - "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==", - "dev": true - }, - "is-word-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", - "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -1611,18 +1489,21 @@ "integrity": "sha1-lEltSa0zPA3DI0snrbvR6FNZU7Q=", "dev": true }, - "markdown-escapes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", - "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==", - "dev": true - }, "markdown-extensions": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz", "integrity": "sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==", "dev": true }, + "markdown-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", + "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", + "dev": true, + "requires": { + "repeat-string": "^1.0.0" + } + }, "md5": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", @@ -1648,6 +1529,63 @@ "integrity": "sha512-vTFXtmbbF3rgnTh3Zl3irso4LtvwUq/jaDvT2D1JqTGAwaipcS7RpTxzi6KjoRqI9n2yuAhzLDAC8xVTF3XYVQ==", "dev": true }, + "mdast-util-find-and-replace": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-1.1.1.tgz", + "integrity": "sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==", + "dev": true, + "requires": { + "escape-string-regexp": "^4.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "dev": true + }, + "unist-util-visit-parents": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + } + } + } + }, + "mdast-util-footnote": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/mdast-util-footnote/-/mdast-util-footnote-0.1.7.tgz", + "integrity": "sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w==", + "dev": true, + "requires": { + "mdast-util-to-markdown": "^0.6.0", + "micromark": "~2.11.0" + }, + "dependencies": { + "micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "requires": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + } + } + }, "mdast-util-from-markdown": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.1.tgz", @@ -1685,6 +1623,92 @@ "micromark-extension-frontmatter": "^0.2.0" } }, + "mdast-util-gfm": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-0.1.2.tgz", + "integrity": "sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ==", + "dev": true, + "requires": { + "mdast-util-gfm-autolink-literal": "^0.1.0", + "mdast-util-gfm-strikethrough": "^0.2.0", + "mdast-util-gfm-table": "^0.1.0", + "mdast-util-gfm-task-list-item": "^0.1.0", + "mdast-util-to-markdown": "^0.6.1" + }, + "dependencies": { + "mdast-util-to-markdown": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz", + "integrity": "sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "longest-streak": "^2.0.0", + "mdast-util-to-string": "^2.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.0.0", + "zwitch": "^1.0.0" + } + }, + "mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "dev": true + } + } + }, + "mdast-util-gfm-autolink-literal": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-0.1.3.tgz", + "integrity": "sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==", + "dev": true, + "requires": { + "ccount": "^1.0.0", + "mdast-util-find-and-replace": "^1.1.0", + "micromark": "^2.11.3" + }, + "dependencies": { + "micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "requires": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + } + } + }, + "mdast-util-gfm-strikethrough": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-0.2.3.tgz", + "integrity": "sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==", + "dev": true, + "requires": { + "mdast-util-to-markdown": "^0.6.0" + } + }, + "mdast-util-gfm-table": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-0.1.6.tgz", + "integrity": "sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==", + "dev": true, + "requires": { + "markdown-table": "^2.0.0", + "mdast-util-to-markdown": "~0.6.0" + } + }, + "mdast-util-gfm-task-list-item": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-0.1.6.tgz", + "integrity": "sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==", + "dev": true, + "requires": { + "mdast-util-to-markdown": "~0.6.0" + } + }, "mdast-util-to-markdown": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.0.tgz", @@ -1753,6 +1777,27 @@ } } }, + "micromark-extension-footnote": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/micromark-extension-footnote/-/micromark-extension-footnote-0.3.2.tgz", + "integrity": "sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ==", + "dev": true, + "requires": { + "micromark": "~2.11.0" + }, + "dependencies": { + "micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "requires": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + } + } + }, "micromark-extension-frontmatter": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-0.2.2.tgz", @@ -1762,6 +1807,122 @@ "fault": "^1.0.0" } }, + "micromark-extension-gfm": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-0.3.3.tgz", + "integrity": "sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==", + "dev": true, + "requires": { + "micromark": "~2.11.0", + "micromark-extension-gfm-autolink-literal": "~0.5.0", + "micromark-extension-gfm-strikethrough": "~0.6.5", + "micromark-extension-gfm-table": "~0.4.0", + "micromark-extension-gfm-tagfilter": "~0.3.0", + "micromark-extension-gfm-task-list-item": "~0.3.0" + }, + "dependencies": { + "micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "requires": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + } + } + }, + "micromark-extension-gfm-autolink-literal": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-0.5.7.tgz", + "integrity": "sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==", + "dev": true, + "requires": { + "micromark": "~2.11.3" + }, + "dependencies": { + "micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "requires": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + } + } + }, + "micromark-extension-gfm-strikethrough": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-0.6.5.tgz", + "integrity": "sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw==", + "dev": true, + "requires": { + "micromark": "~2.11.0" + }, + "dependencies": { + "micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "requires": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + } + } + }, + "micromark-extension-gfm-table": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-0.4.3.tgz", + "integrity": "sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA==", + "dev": true, + "requires": { + "micromark": "~2.11.0" + }, + "dependencies": { + "micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "requires": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + } + } + }, + "micromark-extension-gfm-tagfilter": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-0.3.0.tgz", + "integrity": "sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==", + "dev": true + }, + "micromark-extension-gfm-task-list-item": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-0.3.3.tgz", + "integrity": "sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ==", + "dev": true, + "requires": { + "micromark": "~2.11.0" + }, + "dependencies": { + "micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "requires": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + } + } + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -1886,9 +2047,9 @@ "dev": true }, "parse-entities": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz", - "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", "dev": true, "requires": { "character-entities": "^1.0.0", @@ -1982,12 +2143,6 @@ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, "rc-config-loader": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/rc-config-loader/-/rc-config-loader-3.0.0.tgz", @@ -2129,6 +2284,16 @@ "unified-args": "^8.0.0" } }, + "remark-footnotes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-3.0.0.tgz", + "integrity": "sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg==", + "dev": true, + "requires": { + "mdast-util-footnote": "^0.1.0", + "micromark-extension-footnote": "^0.3.0" + } + }, "remark-frontmatter": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-3.0.0.tgz", @@ -2139,6 +2304,16 @@ "micromark-extension-frontmatter": "^0.2.0" } }, + "remark-gfm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-1.0.0.tgz", + "integrity": "sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==", + "dev": true, + "requires": { + "mdast-util-gfm": "^0.1.0", + "micromark-extension-gfm": "^0.3.0" + } + }, "remark-lint": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/remark-lint/-/remark-lint-8.0.0.tgz", @@ -2300,12 +2475,6 @@ "glob": "^7.1.3" } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -2351,9 +2520,9 @@ } }, "spdx-license-ids": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", - "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", + "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==", "dev": true }, "sprintf-js": { @@ -2362,12 +2531,6 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, - "state-toggle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", - "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==", - "dev": true - }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", @@ -2534,22 +2697,22 @@ "dev": true }, "textlint": { - "version": "11.9.1", - "resolved": "https://registry.npmjs.org/textlint/-/textlint-11.9.1.tgz", - "integrity": "sha512-7eC76od8ILhLl3O10h1rd0QxlVaQkR1nqTD7PrszrlGGe8mXS2VNaOXEiAm8PPUMQBdjB5n8/cpeZ+AbDJdNTw==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/textlint/-/textlint-12.0.0.tgz", + "integrity": "sha512-hpXezTFR/BxNzc0iJqwspAuHYrCWF/nF7mBS9OGzgBJx5FfS1xfsAIityV65Ffcr+nxCExzTQqRHR6qSWOZmbg==", "dev": true, "requires": { - "@textlint/ast-node-types": "^4.4.3", - "@textlint/ast-traverse": "^2.3.5", - "@textlint/feature-flag": "^3.3.5", - "@textlint/fixer-formatter": "^3.3.5", - "@textlint/kernel": "^3.4.5", - "@textlint/linter-formatter": "^3.3.5", - "@textlint/module-interop": "^1.2.5", - "@textlint/textlint-plugin-markdown": "^5.3.5", - "@textlint/textlint-plugin-text": "^4.3.5", - "@textlint/types": "^1.5.5", - "@textlint/utils": "^1.2.5", + "@textlint/ast-node-types": "^12.0.0", + "@textlint/ast-traverse": "^12.0.0", + "@textlint/feature-flag": "^12.0.0", + "@textlint/fixer-formatter": "^12.0.0", + "@textlint/kernel": "^12.0.0", + "@textlint/linter-formatter": "^12.0.0", + "@textlint/module-interop": "^12.0.0", + "@textlint/textlint-plugin-markdown": "^12.0.0", + "@textlint/textlint-plugin-text": "^12.0.0", + "@textlint/types": "^12.0.0", + "@textlint/utils": "^12.0.0", "debug": "^4.3.1", "deep-equal": "^1.1.1", "file-entry-cache": "^5.0.1", @@ -2571,18 +2734,18 @@ }, "dependencies": { "@textlint/ast-node-types": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-4.4.3.tgz", - "integrity": "sha512-qi2jjgO6Tn3KNPGnm6B7p6QTEPvY95NFsIAaJuwbulur8iJUEenp1OnoUfiDaC/g2WPPEFkcfXpmnu8XEMFo2A==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-12.0.0.tgz", + "integrity": "sha512-qUjmlpz1vR3AStBA9RPDCVT0/pGtePvBJ5Vb/0PzTrnr04iFktG6P6B1VOmgTh8J9Kl/FonQFo3A9M1Q3UH+JA==", "dev": true }, "@textlint/types": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@textlint/types/-/types-1.5.5.tgz", - "integrity": "sha512-80P6fcqgsG9bP6JgR6W/E/oIx+71pplaicYCvvB4vMIeGk0OnWls4Q21kCpDYmq/C/ABtZ/Gy/Ov/8ExQPeQ7A==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@textlint/types/-/types-12.0.0.tgz", + "integrity": "sha512-3sB22cGtN9nPViDrW7FJxWkDrpGtyJbvNsvZqzX83HJbAiOmzzeHDkRRLvz9tax76lcdjlNk+2rHY3iSnjhEag==", "dev": true, "requires": { - "@textlint/ast-node-types": "^4.4.3" + "@textlint/ast-node-types": "^12.0.0" } }, "debug": { @@ -2679,18 +2842,6 @@ "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=", "dev": true }, - "trim": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=", - "dev": true - }, - "trim-trailing-lines": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", - "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==", - "dev": true - }, "trough": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.4.tgz", @@ -2718,16 +2869,6 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, - "unherit": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", - "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", - "dev": true, - "requires": { - "inherits": "^2.0.0", - "xtend": "^4.0.0" - } - }, "unified": { "version": "9.2.0", "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz", @@ -2884,15 +3025,6 @@ "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==", "dev": true }, - "unist-util-remove-position": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz", - "integrity": "sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==", - "dev": true, - "requires": { - "unist-util-visit": "^1.1.0" - } - }, "unist-util-stringify-position": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", @@ -2949,12 +3081,6 @@ "vfile-message": "^2.0.0" } }, - "vfile-location": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz", - "integrity": "sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==", - "dev": true - }, "vfile-message": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", @@ -3039,24 +3165,12 @@ "mkdirp": "^0.5.1" } }, - "x-is-string": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz", - "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=", - "dev": true - }, "xml-escape": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/xml-escape/-/xml-escape-1.1.0.tgz", "integrity": "sha1-OQTBQ/qOs6ADDsZG0pAqLxtwbEQ=", "dev": true }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true - }, "zwitch": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", diff --git a/package.json b/package.json index a467c7c5558..7ba7dd8f90b 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "remark-lint-fenced-code-flag": "^2.0.1", "remark-lint-no-shell-dollars": "^2.0.2", "remark-stringify": "^9.0.1", - "textlint": "^11.9.1", + "textlint": "^12.0.0", "textlint-rule-common-misspellings": "^1.0.1", "textlint-rule-terminology": "^2.1.5" }, diff --git a/source/_docs/automation/editor.markdown b/source/_docs/automation/editor.markdown index 35e4075cc3e..0821703ee2a 100644 --- a/source/_docs/automation/editor.markdown +++ b/source/_docs/automation/editor.markdown @@ -29,8 +29,7 @@ As "Service Data" we want a simple text that is shown as part of the notificatio message: Sensor value greater than 10 ``` -Automation created or edited via the user interface, are activated immediately -after save the automation. +Automations created or edited via the user interface are activated immediately after saving the automation. ## Troubleshooting missing automations diff --git a/source/_docs/automation/trigger.markdown b/source/_docs/automation/trigger.markdown index bb29ef57a97..a6f75627763 100644 --- a/source/_docs/automation/trigger.markdown +++ b/source/_docs/automation/trigger.markdown @@ -653,6 +653,12 @@ Webhook endpoints don't require authentication, other than knowing a valid webho Note that a given webhook can only be used in one automation at a time. That is, only one automation trigger can use a specific webhook ID. +In order to reference `trigger.json`, the `Content-Type` header must be specified with a value of `application/json`, e.g.: + +```bash +curl -X POST -H "Content-Type: application/json" https://your-home-assistant:8123/api/webhook/some_hook_id +``` + ## Zone trigger Zone trigger fires when an entity is entering or leaving the zone. The entity can be either a person, or a device_tracker. For zone automation to work, you need to have setup a device tracker platform that supports reporting GPS coordinates. This includes [GPS Logger](/integrations/gpslogger/), the [OwnTracks platform](/integrations/owntracks/) and the [iCloud platform](/integrations/icloud/). diff --git a/source/_docs/configuration/events.markdown b/source/_docs/configuration/events.markdown index 856a7d55d97..d337267f5b6 100644 --- a/source/_docs/configuration/events.markdown +++ b/source/_docs/configuration/events.markdown @@ -45,14 +45,6 @@ Event `call_service` is fired to call a service. | `service_data` | Dictionary with the service call parameters. Example: `{ 'brightness': 120 }`. | | `service_call_id` | String with a unique call id. Example: `23123-4`. | -## Event `service_executed` - -Event `service_executed` is fired by the service handler to indicate the service is done. - -| Field | Description | -| ----------------- | ----------------------------------------------------------------------------------------- | -| `service_call_id` | String with the unique call id of the service call that was executed. Example: `23123-4`. | - ## Event `automation_reloaded` Event `automation_reloaded` is fired when automations have been reloaded and thus might have changed. diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown index d5d03c0b923..8fb24a04519 100644 --- a/source/_docs/configuration/templating.markdown +++ b/source/_docs/configuration/templating.markdown @@ -18,11 +18,11 @@ Templating is a powerful feature that allows you to control information going in Templating in Home Assistant is powered by the [Jinja2](https://palletsprojects.com/p/jinja) templating engine. This means that we are using their syntax and make some custom Home Assistant variables available to templates during rendering. Jinja2 supports a wide variety of operations: -- [Mathematical operation](https://jinja.palletsprojects.com/en/master/templates/#math) -- [Comparisons](https://jinja.palletsprojects.com/en/master/templates/#comparisons) -- [Logic](https://jinja.palletsprojects.com/en/master/templates/#logic) +- [Mathematical operation](https://jinja.palletsprojects.com/en/latest/templates/#math) +- [Comparisons](https://jinja.palletsprojects.com/en/latest/templates/#comparisons) +- [Logic](https://jinja.palletsprojects.com/en/latest/templates/#logic) -We will not go over the basics of the syntax, as Jinja2 does a great job of this in their [templates documentation](https://jinja.palletsprojects.com/en/master/templates/). +We will not go over the basics of the syntax, as Jinja2 does a great job of this in their [templates documentation](https://jinja.palletsprojects.com/en/latest/templates/). The frontend has a {% my developer_templates title="template editor tool" %} to help develop and debug templates. Navigate to {% my developer_templates title="Developer Tools > Template" %}, create your template in the _Template editor_ and check the results on the right. @@ -51,9 +51,9 @@ script: There are a few very important rules to remember when adding templates to YAML: 1. You **must** surround single-line templates with double quotes (`"`) or single quotes (`'`). -1. It is advised that you prepare for undefined variables by using `if ... is not none` or the [`default` filter](http://jinja.pocoo.org/docs/dev/templates/#default), or both. -1. It is advised that when comparing numbers, you convert the number(s) to a [`float`](http://jinja.pocoo.org/docs/dev/templates/#float) or an [`int`](http://jinja.pocoo.org/docs/dev/templates/#int) by using the respective [filter](http://jinja.pocoo.org/docs/dev/templates/#list-of-builtin-filters). -1. While the [`float`](http://jinja.pocoo.org/docs/dev/templates/#float) and [`int`](http://jinja.pocoo.org/docs/dev/templates/#int) filters do allow a default fallback value if the conversion is unsuccessful, they do not provide the ability to catch undefined variables. +1. It is advised that you prepare for undefined variables by using `if ... is not none` or the [`default` filter](https://jinja.palletsprojects.com/en/latest/templates/#default), or both. +1. It is advised that when comparing numbers, you convert the number(s) to a [`float`](https://jinja.palletsprojects.com/en/latest/templates/#float) or an [`int`](https://jinja.palletsprojects.com/en/latest/templates/#int) by using the respective [filter](https://jinja.palletsprojects.com/en/latest/templates/#list-of-builtin-filters). +1. While the [`float`](https://jinja.palletsprojects.com/en/latest/templates/#float) and [`int`](https://jinja.palletsprojects.com/en/latest/templates/#int) filters do allow a default fallback value if the conversion is unsuccessful, they do not provide the ability to catch undefined variables. Remembering these simple rules will help save you from many headaches and endless hours of frustration when using automation templates. @@ -422,7 +422,7 @@ Closest to some entity: ### Numeric functions and filters -Some of these functions can also be used in a [filter](https://jinja.palletsprojects.com/en/master/templates/#id11). This means they can act as a normal function like this `sqrt(2)`, or as part of a filter like this `2|sqrt`. +Some of these functions can also be used in a [filter](https://jinja.palletsprojects.com/en/latest/templates/#id11). This means they can act as a normal function like this `sqrt(2)`, or as part of a filter like this `2|sqrt`. - `log(value, base)` will take the logarithm of the input. When the base is omitted, it defaults to `e` - the natural logarithm. Can also be used as a filter. - `sin(value)` will return the sine of the input. Can be used as a filter. diff --git a/source/_docs/scene/editor.markdown b/source/_docs/scene/editor.markdown index 531aba90f88..20e96d664e8 100644 --- a/source/_docs/scene/editor.markdown +++ b/source/_docs/scene/editor.markdown @@ -13,7 +13,7 @@ Choose a meaningful name for your scene.

-Select all the devices (and/or entities when in advanced mode) you want to include in your scene. +Select all the devices (or entities when advanced mode is enabled on your user profile) you want to include in your scene. The state of your devices will be saved, so it can be restored when you are finished creating your scene. Set the state of the devices to how you want them to be in your scene, this can be done by clicking on it and edit the state from the popup, or any other method that changes the state. On the moment you save the scene, all the states of your devices are stored in the scene. diff --git a/source/_docs/scripts.markdown b/source/_docs/scripts.markdown index 7c5813f1dfb..98dd5df48ee 100644 --- a/source/_docs/scripts.markdown +++ b/source/_docs/scripts.markdown @@ -96,8 +96,8 @@ While executing a script you can add a condition to stop further execution. When ```yaml # If paulus is home, continue to execute the script below these lines - alias: "Check if Paulus is home" -- condition: state +- alias: "Check if Paulus is home" + condition: state entity_id: device_tracker.paulus state: "home" ``` diff --git a/source/_docs/z-wave/controllers.markdown b/source/_docs/z-wave/controllers.markdown index b9fd52a7b4e..c572273803a 100644 --- a/source/_docs/z-wave/controllers.markdown +++ b/source/_docs/z-wave/controllers.markdown @@ -15,7 +15,7 @@ You need to have a compatible Z-Wave stick or module installed. This needs to be
-There are [known compatability issues](https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=245031#p1502030) with older hardware versions of the Aeotec stick not working on the Raspberry Pi 4. Aeotec has released a 2020 hardware revision ZW090-A/B/C Gen5+ with Pi 4 compatibility. Both hardware revisions are still being sold, make informed purchasing decisions if using paired with a Pi 4. +There are [known compatibility issues](https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=245031#p1502030) with older hardware versions of the Aeotec stick not working on the Raspberry Pi 4. Aeotec has released a 2020 hardware revision ZW090-A/B/C Gen5+ with Pi 4 compatibility. Both hardware revisions are still being sold, make informed purchasing decisions if using paired with a Pi 4.
diff --git a/source/_integrations/default_config.markdown b/source/_integrations/default_config.markdown index 38eeb67a6a9..23b7f34fb25 100644 --- a/source/_integrations/default_config.markdown +++ b/source/_integrations/default_config.markdown @@ -32,6 +32,7 @@ This integration is a meta-component and configures a default set of integration - [Scene](/integrations/scene/) (`scene`) - [Scripts](/integrations/script/) (`script`) - [Simple Service Discovery Protocol (SSDP)](/integrations/ssdp/) (`ssdp`) +- [Stream](/integrations/stream/) (`stream`) - [Sun](/integrations/sun/) (`sun`) - [System Health](/integrations/system_health/) (`system_health`) - [Tag](/integrations/tag/) (`tag`) diff --git a/source/_integrations/devolo_home_control.markdown b/source/_integrations/devolo_home_control.markdown index e1f6ddd8ea4..7f6cb103b96 100755 --- a/source/_integrations/devolo_home_control.markdown +++ b/source/_integrations/devolo_home_control.markdown @@ -30,6 +30,8 @@ devolo Home Control is a Z-Wave ecosystem with a Z-Wave to IP gateway in the cen {% include integrations/config_flow.md %} +Please do not change the URL provided in the advanced mode unless you know what you are doing. + ## Switches The integration provides support for the following Z-Wave devices: diff --git a/source/_integrations/dht.markdown b/source/_integrations/dht.markdown index 232bde6b3a3..264aa3e3212 100644 --- a/source/_integrations/dht.markdown +++ b/source/_integrations/dht.markdown @@ -30,7 +30,7 @@ Add the following to your `configuration.yaml` file: sensor: platform: dht sensor: DHT22 - pin: D23 + pin: 23 monitored_conditions: - temperature - humidity @@ -71,7 +71,7 @@ humidity_offset: type: [integer, float] {% endconfiguration %} -The name of the pin to which the sensor is connected has different names on different platforms. 'P8_11' for Beaglebone, 'D23' for Raspberry Pi. +The name of the pin to which the sensor is connected has different names on different platforms. 'P8_11' for Beaglebone, '23' for Raspberry Pi. ### Example @@ -81,7 +81,7 @@ An example for a Raspberry Pi 3 with a DHT22 sensor connected to GPIO4 (pin 7): sensor: - platform: dht sensor: DHT22 - pin: D4 + pin: 4 temperature_offset: 2.1 humidity_offset: -3.2 monitored_conditions: diff --git a/source/_integrations/fritzbox.markdown b/source/_integrations/fritzbox.markdown index f5bd289502b..b8036ee9455 100644 --- a/source/_integrations/fritzbox.markdown +++ b/source/_integrations/fritzbox.markdown @@ -42,6 +42,10 @@ There is currently support for the following device types within Home Assistant: {% include integrations/config_flow.md %} +
+The configuration in the UI asks for a username. Starting from FRITZ!OS 7.24 the FRITZ!Box creates a random username for the admin user if you didn't set one yourself. This can be found after logging into the FRITZ!Box and visiting System -> FRITZ!Box Users -> Users. The username starts with "fritz" followed by four random numbers. Under properties on the right it says "created automatically". Prior to FRITZ!OS 7.24 the default username was "admin". +
+ ## Switches & Thermostats To get AVM FRITZ!DECT switches (e.g. FRITZ!DECT 400/440) or thermostats (e.g. FRITZ!DECT 301) follow the [configuration instructions](#configuration) above. diff --git a/source/_integrations/google_maps.markdown b/source/_integrations/google_maps.markdown index b4a7a5f7010..0eb334ff596 100644 --- a/source/_integrations/google_maps.markdown +++ b/source/_integrations/google_maps.markdown @@ -23,7 +23,22 @@ You need two Google accounts. Account A is the account that has to be set up to ### Note for existing location sharing users -If you already have other people sharing their location to your existing Account A and do not wish to ask them to also share their location with a new Account B. Create the new Google account (account B) and share the location of Account B back to Account A. Follow the steps listed, substituting the instructions stating “Account B” for “Account A” (i.e., a cookie file is from Account A, slugified username of Account A), then ensure both Account A and Account B are logged in on your mobile device. +If you already have other people sharing their location with your existing Account A and do not wish to ask them to also share their location with a new Account B. Simply repeat the steps above to obtain a valid cookie from Google for Account A. Then add both accounts to the device tracker configuration (don’t forget to include the multiple cookie files, one for each account being added to the integration). + +```yaml +# Example configuration.yaml entry +device_tracker: + - platform: google_maps + username: "ACCOUNT_A_EMAIL" + - platform: google_maps + username: "ACCOUNT_B_EMAIL" +``` + +
+If using more than one account, your own device may show twice, however, the parameters returned from Account A will not include a value for battery_level or entity_picture. These parameters will be present in your device tracker entity from Account B. Therefore, disregard the device tracker entity with is missing those parameters. +
+ + ## Configuration diff --git a/source/_integrations/google_translate.markdown b/source/_integrations/google_translate.markdown index f054f740d45..c04252b5278 100644 --- a/source/_integrations/google_translate.markdown +++ b/source/_integrations/google_translate.markdown @@ -10,7 +10,7 @@ ha_platforms: - tts --- -The `google_translate` text-to-speech platform uses the unofficial [Google Translate Text-to-Speech engine](https://translate.google.com/) to read a text with natural sounding voices. +The `google_translate` text-to-speech platform uses the unofficial [Google Translate Text-to-Speech engine](https://translate.google.com/) to read a text with natural sounding voices. Contrary to what the name suggests, the integration only does text-to-speech and does not translate messages sent to it. ## Configuration @@ -24,7 +24,7 @@ tts: {% configuration %} language: - description: "The language to use." + description: "The default speech language to use." required: false type: string default: "`en`" @@ -33,6 +33,8 @@ language: Check the [complete list of supported languages](https://translate.google.com/intl/en_ALL/about/languages/) (languages where "Talk" feature is enabled in Google Translate) for allowed values. Use the 2 digit language code which you can find at the end of URL when you click on Language name. +For more information about using text-to-speech with Home Assistant and more details on all the options it provides, see the [TTS documentation](/integrations/tts/). + ## Full configuration example A full configuration sample including optional variables: diff --git a/source/_integrations/ialarm.markdown b/source/_integrations/ialarm.markdown index e5529d4cb91..54055ac32ce 100644 --- a/source/_integrations/ialarm.markdown +++ b/source/_integrations/ialarm.markdown @@ -15,6 +15,7 @@ ha_platforms: --- The iAlarm integration provides connectivity with the [Antifurto365](https://www.antifurtocasa365.it/) iAlarm alarm systems and has also been confirmed to work with the alarm system brands Meian and Emooluxr. +Please note that the latest iAlarm-XR alarm system is not supported. This platform supports the following services: diff --git a/source/_integrations/icloud.markdown b/source/_integrations/icloud.markdown index 7defeffa5c6..1d571a5ae67 100644 --- a/source/_integrations/icloud.markdown +++ b/source/_integrations/icloud.markdown @@ -27,10 +27,6 @@ It does require that your devices are registered with the [Find My](https://www. {% include integrations/config_flow.md %} -
-Low `max_interval` may cause battery drainage as it wakes up your device to get the current location. -
-
You may receive an email and a notification from Apple saying that someone has logged into your account. @@ -61,7 +57,7 @@ The iCloud integration will add a battery sensor for each iCloud devices availab ### Service `icloud.update` -This service can be used to ask an update of a certain iDevice or all devices linked to an iCloud account. Request will result in new Home Assistant [state_changed](/docs/configuration/events/#event-state_changed) event describing current iPhone location. It can be used in automations when a manual location update is needed, e.g., to check if anyone is home when a door been opened. +This service can be used to ask an update of a certain iDevice or all devices linked to an iCloud account. Request will result in new Home Assistant [state_changed](/docs/configuration/events/#event-state_changed) event describing current iPhone location. It can be used in automations when a manual location update is needed, e.g., to check if anyone is home when a door has been opened. ### Service `icloud.play_sound` diff --git a/source/_integrations/integration.markdown b/source/_integrations/integration.markdown index 29e73ce2b55..f45780e295b 100644 --- a/source/_integrations/integration.markdown +++ b/source/_integrations/integration.markdown @@ -64,7 +64,9 @@ method: default: trapezoidal {% endconfiguration %} -In case you have an appliance which produces spikey consumption (like an on/off electrical boiler) you should opt for the `left` method to get accurate readings. If `unit` is set then `unit_prefix` and `unit_time` are ignored. +In case you have an appliance which produces spikey consumption (like an on/off electrical boiler) you should opt for the `left` method to get accurate readings. + +The unit of `source` together with `unit_prefix` and `unit_time` is used to generate a unit for the integral product (e.g. a source in `W` with prefix `k` and time `h` would result in `kWh`). You can override this behavior by providing a custom value for `unit`. Note that `unit_prefix` and `unit_time` are _also_ relevant to the Riemann sum calculation. Even if you provide a custom value for `unit`, ensure prefix and time accurately reflect the properties of your source data. ## Energy diff --git a/source/_integrations/manual.markdown b/source/_integrations/manual.markdown index 8143552c69c..0eb5ec5aff6 100644 --- a/source/_integrations/manual.markdown +++ b/source/_integrations/manual.markdown @@ -171,12 +171,12 @@ automation: to: "open" condition: - condition: state - entity_id: alarm_control_panel.ha_alarm + entity_id: alarm_control_panel.home_alarm state: armed_away action: service: alarm_control_panel.alarm_trigger target: - entity_id: alarm_control_panel.ha_alarm + entity_id: alarm_control_panel.home_alarm ``` Sending a notification when the alarm is triggered. @@ -186,7 +186,7 @@ automation: - alias: 'Send notification when alarm triggered' trigger: - platform: state - entity_id: alarm_control_panel.ha_alarm + entity_id: alarm_control_panel.home_alarm to: "triggered" action: - service: notify.notify @@ -207,7 +207,7 @@ automation: action: - service: alarm_control_panel.alarm_disarm target: - entity_id: alarm_control_panel.house_alarm + entity_id: alarm_control_panel.home_alarm ``` Sending a Notification when the Alarm is Armed (Away/Home), Disarmed and in Pending Status diff --git a/source/_integrations/motion_blinds.markdown b/source/_integrations/motion_blinds.markdown index 865b71f185f..fefba158ed2 100644 --- a/source/_integrations/motion_blinds.markdown +++ b/source/_integrations/motion_blinds.markdown @@ -16,6 +16,12 @@ ha_platforms: The integration allows you to control [Motion Blinds](https://motion-blinds.com) from [Coulisse B.V.](https://coulisse.com/products/motion). +Additionally the following brands have been reported to also work with this integration: + +- [Motion Blinds](https://motion-blinds.com) +- [Dooya](http://www.dooya.com/) +- [Bloc Blinds](https://www.blocblinds.com/) + {% include integrations/config_flow.md %} ## Retrieving the API Key diff --git a/source/_integrations/plex.markdown b/source/_integrations/plex.markdown index 19301a7b6ac..66dbdfae500 100644 --- a/source/_integrations/plex.markdown +++ b/source/_integrations/plex.markdown @@ -29,6 +29,10 @@ If a Plex server has been claimed by a Plex account via the [claim interface](ht {% include integrations/config_flow.md %} +During setup, the integration will check all possible ways to connect to your Plex server(s) - i.e., local or public addresses, HTTP or HTTPS, by IP or using a subdomain of `plex.direct`, or by using a Plex relay if all other methods fail. The integration will prefer local over public and secure over insecure, in that order. The selected address is shown on the Plex card on the Integrations page. + +If your router enforces DNS rebind protection, connections to the local `plex.direct` hostname may fail (see [Plex documentation](https://support.plex.tv/articles/206225077-how-to-use-secure-server-connections/#dnsrebinding)). To avoid this, configure your router to allow DNS rebinding for `plex.direct` by following the instructions in the documentation link. + ### Integration Options Several options are provided to adjust the behavior of `media_player` entities. These can be changed at **Plex** -> **Options** on the Integrations page. diff --git a/source/_integrations/shelly.markdown b/source/_integrations/shelly.markdown index a6557623683..df956246e49 100644 --- a/source/_integrations/shelly.markdown +++ b/source/_integrations/shelly.markdown @@ -70,9 +70,44 @@ Shelly device relays are added to the Home Assistant by default as `switch` enti ## Events -If the **BUTTON TYPE** of the switch connected to the device is set to `momentary` or `detached switch`, integration fires events when the switch is used. You can use these events in your automations. +If the **BUTTON TYPE** of the switch connected to the device is set to `momentary` or `detached switch`, integration fires events under the type `shelly.click` when the switch is used. You can use these events in your automations. -### Automation examples +Also, some devices do not add an entity for the button/switch. For example, the Shelly Button1 has only one entity for the battery level. It does not have an entity for the button itself. To trigger automations based on button presses, use the `shelly.click` event. + +### Listening for events + +You can subscribe to the `shelly.click` event type in [Developer Tools/Events](/docs/tools/dev-tools/) in order to examine the event data JSON for the correct parameters to use in your automations. For example, `shelly.click` returns event data JSON similar to the following when you press the Shelly Button1. + +```json +Event 0 fired 9:53 AM: +{ + "event_type": "shelly.click", + "data": { + "device_id": "e09c64a22553484d804353ef97f6fcd6", + "device": "shellybutton1-A4C12A45174", + "channel": 1, + "click_type": "single" + }, + "origin": "LOCAL", + "time_fired": "2021-04-28T08:53:12.755729+00:00", + "context": { + "id": "e0f379706563aaa0c2c1fda5174b5a0e", + "parent_id": null, + "user_id": null + } +} +``` + +### Automations + +The simplest way to create automations is to use the Home Assistant automation editor. For example, to set an automation triggered by a double press of a particular Shelly Button1: + +1. In the Triggers section of the automation, set Trigger Type to `Device`. +2. In the Device dropdown menu. find the Shelly Button1. +3. In the Trigger dropdown menu, select `Button double clicked`. +4. Set any conditions and actions to complete your automation. + +You can also create automations using YAML, for example: ```yaml - alias: "Toggle living room light" diff --git a/source/_integrations/statistics.markdown b/source/_integrations/statistics.markdown index f94d313a778..3d006cae8d9 100644 --- a/source/_integrations/statistics.markdown +++ b/source/_integrations/statistics.markdown @@ -32,8 +32,6 @@ sensor: entity_id: sensor.cpu - platform: statistics entity_id: binary_sensor.movement - max_age: - minutes: 30 ``` {% configuration %} diff --git a/source/_integrations/synology_dsm.markdown b/source/_integrations/synology_dsm.markdown index c3d6e83a9be..ee9bcff7a68 100644 --- a/source/_integrations/synology_dsm.markdown +++ b/source/_integrations/synology_dsm.markdown @@ -85,6 +85,12 @@ Entities reporting status, total size (TB), used size (TB), % of volume used, av Entities reporting the update and security status of the NAS. +
+ +The security status corresponds with the analysis of the DSM Security Advisor, e.g., an `outOfDate` state for the `Update` attribute not only reflects the update status of the installed DSM version but also the status of the installed DSM packages. + +
+ ### Disk sensors Similar to the [normal disk sensors](#disk-sensors), there are binary sensors reporting each drive's status. These sensors report if a drive has exceeded the maximum threshold for detected bad sectors and if a drive has dropped below the threshold for its remaining life. diff --git a/source/_integrations/systemmonitor.markdown b/source/_integrations/systemmonitor.markdown index 165332d2eb1..2282562a667 100644 --- a/source/_integrations/systemmonitor.markdown +++ b/source/_integrations/systemmonitor.markdown @@ -40,6 +40,9 @@ resources: required: false {% endconfiguration %} +After restarting Home Assistant, these sensors will show up and update their +information every 15 seconds. + The table contains types and their argument to use in your `configuration.yaml` file. diff --git a/source/_integrations/vultr.markdown b/source/_integrations/vultr.markdown index 5ace94fea8c..ae3aa17a6d9 100644 --- a/source/_integrations/vultr.markdown +++ b/source/_integrations/vultr.markdown @@ -128,13 +128,13 @@ monitored_conditions: detault: All conditions type: list keys: - current_bandwidth_used: + current_bandwidth_gb: description: The current (invoice period) bandwidth usage in Gigabytes (GB). pending_charges: description: The current (invoice period) charges that have built up for this subscription. Value is in US Dollars (US$). {% endconfiguration %} -Full `configuration.yaml` using `{}` to format condition name (produces `sensor.server_current_bandwidth_used` and `sensor.server_pending_charges`): +Full `configuration.yaml` using `{}` to format condition name (produces `sensor.server_current_bandwidth_gb` and `sensor.server_pending_charges`): ```yaml sensor: @@ -142,7 +142,7 @@ sensor: name: Server {} subscription: 123456 monitored_conditions: - - current_bandwidth_used + - current_bandwidth_gb - pending_charges ``` diff --git a/source/_integrations/yeelight.markdown b/source/_integrations/yeelight.markdown index a0634d5462c..dfec10e1104 100644 --- a/source/_integrations/yeelight.markdown +++ b/source/_integrations/yeelight.markdown @@ -191,6 +191,7 @@ This integration is tested to work with the following models. If you have a diff | `mono` | YLTD03YL | Yeelight Serene Eye-Friendly Desk Lamp | | `ceiling10` | YLDL01YL | Yeelight Meteorite Pendant Light | | `ceiling13` | YLXD01YL | Yeelight LED Ceiling Light | +| `ceil26` | YLXD76YL | Yeelight Ceiling Light - Updated HomeKit 23w | | `lamp` | MJTD02YL | Xiaomi Mijia Desk Lamp Pro | ## Services diff --git a/source/_posts/2021-05-21-community-highlights.markdown b/source/_posts/2021-05-21-community-highlights.markdown new file mode 100644 index 00000000000..011e4122cc1 --- /dev/null +++ b/source/_posts/2021-05-21-community-highlights.markdown @@ -0,0 +1,102 @@ +--- +title: "Community Highlights: 22nd edition" +description: "A new highlight with 2 new cards that you can use, blueprint for those who always leave the door open and give your TV an upgrade with Hyperion project." +date: 2021-05-21 00:00:00 +date_formatted: "May 21, 2021" +author: Klaas Schoute +author_twitter: klaasnicolaas +categories: Community +og_image: /images/blog/2021-05-21-community-highlights/social.png +--- + +The 22nd edition of the Home Assistant Community Highlights! Some interesting +things popped up around our community, we thought was worth sharing. + +Do you want to share something for the next edition? +Information on [how to share](#got-a-tip-for-the-next-edition). + +./Klaas
+*Intern on Home Assistant Energy* + +## Blueprint of the week +------ + +Are you one of those who always leave the doors open? + +Then this week we have a nice blueprint for you! [BasTijs](https://community.home-assistant.io/u/bastijs ) +has made a blueprint that announces through text to speech in the house, +that a door is open and only stops when the door is closed again. + +{% my blueprint_import badge blueprint_url="https://community.home-assistant.io/t/door-open-tts-announcer/266252" %} + +Try it out! Read more about it on the [community forum][week_blueprint] or +install this automation in your instance with a click on the My button! + +## Sun card +------ + +
+ + preview of the sun card + +
+ +On our [Home Assistant reddit][reddit] page we also encountered another nice +project, namely that of [AitorDB](https://github.com/AitorDB). Who made a +[Lovelace card](https://github.com/AitorDB/home-assistant-sun-card) that shows +the position of the sun when it rises, is at its highest point and sets again. + + + +## Collapsed card +------ + +Is your Lovelace dashboard overflowing with cards and do you want to +make some free space? Then try the card made by [RossMcMillan92](https://github.com/RossMcMillan92), +which makes it possible to collapse entire cards and reappear as a dropdown. + + + +## Hyperion - HA bridge +------ + + + +You have those TVs where LEDs are mounted on the back so that the colors of +the TV continue over the wall behind it, this is also called ambilight. If +your TV is not equipped with this, you can also make this yourself through +the [Hyperion project](https://hyperion-project.org). [pimw](https://community.home-assistant.io/u/pimw) +has also written an [instruction post](https://community.home-assistant.io/t/instruction-hyperion-ha-bridge-home-assistant/307708) +about this on our [community forum][community] on how to connect the bridge +to Home Assistant. + +## Got a tip for the next edition? +------ + +Have you seen (or made) something awesome, interesting, unique, amazing, +inspirational, unusual or funny, using Home Assistant? + +[Click here to send us your Community Highlight suggestion](/suggest-community-highlight). + +Also, don't forget to share your creations with us via Social Media: + +- Tweet it! Be sure to mention [@home_assistant][twitter] +- Share it on our [Facebook group][facebook-group] +- Post it to our [subreddit][reddit] +- Tag [@homeasssistant][instagram] on Instagram +- Or via chat, drop us a line in the [#lounge at Discord][chat] + +See you next edition! + +[chat]: https://www.home-assistant.io/join-chat +[facebook-group]: https://www.facebook.com/groups/HomeAssistant +[instagram]: https://www.instagram.com/homeassistant +[reddit]: https://www.reddit.com/r/homeassistant +[twitter]: https://www.twitter.com/home_assistant +[blueprints]: https://community.home-assistant.io/c/blueprints-exchange +[community]: https://community.home-assistant.io +[week_blueprint]: https://community.home-assistant.io/t/door-open-tts-announcer/266252 \ No newline at end of file diff --git a/source/images/blog/2021-05-21-community-highlights/social.png b/source/images/blog/2021-05-21-community-highlights/social.png new file mode 100644 index 00000000000..f941ce24dfb Binary files /dev/null and b/source/images/blog/2021-05-21-community-highlights/social.png differ diff --git a/source/images/blog/2021-05-21-community-highlights/sun-card.png b/source/images/blog/2021-05-21-community-highlights/sun-card.png new file mode 100644 index 00000000000..7d5d2ad2600 Binary files /dev/null and b/source/images/blog/2021-05-21-community-highlights/sun-card.png differ