From 35fa3877bfd32ca6015824f1be0226ec1de74155 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Fri, 31 Aug 2018 22:47:13 +0000 Subject: [PATCH 1/6] chore(deps): update babel monorepo to v7.0.0 --- docs/package.json | 10 +- docs/yarn.lock | 1156 ++++++++++++++++++++++----------------------- 2 files changed, 571 insertions(+), 595 deletions(-) diff --git a/docs/package.json b/docs/package.json index 54601f6d..74151f1f 100644 --- a/docs/package.json +++ b/docs/package.json @@ -13,11 +13,11 @@ "serve": "babel-node ./scripts/serve.js" }, "devDependencies": { - "@babel/cli": "7.0.0-rc.3", - "@babel/core": "7.0.0-rc.3", - "@babel/node": "7.0.0-rc.3", - "@babel/plugin-proposal-object-rest-spread": "7.0.0-rc.3", - "@babel/preset-env": "7.0.0-rc.3", + "@babel/cli": "7.0.0", + "@babel/core": "7.0.0", + "@babel/node": "7.0.0", + "@babel/plugin-proposal-object-rest-spread": "7.0.0", + "@babel/preset-env": "7.0.0", "@fullhuman/postcss-purgecss": "1.0.1", "autoprefixer": "8.6.5", "babel-core": "7.0.0-bridge.0", diff --git a/docs/yarn.lock b/docs/yarn.lock index 8d1fa69f..51c8d892 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -12,18 +12,18 @@ dependencies: "@azu/format-text" "^1.0.1" -"@babel/cli@^7.0.0-beta.51": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.0.0-beta.56.tgz#fba46b162ca2b7d36469e27cbb8da6e9a85f24c9" +"@babel/cli@7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.0.0.tgz#108b395fd43fff6681d36fb41274df4d8ffeb12e" dependencies: commander "^2.8.1" convert-source-map "^1.1.0" - fs-readdir-recursive "^1.0.0" + fs-readdir-recursive "^1.1.0" glob "^7.0.0" lodash "^4.17.10" mkdirp "^0.5.1" output-file-sync "^2.0.0" - slash "^1.0.0" + slash "^2.0.0" source-map "^0.5.0" optionalDependencies: chokidar "^2.0.3" @@ -34,23 +34,23 @@ dependencies: "@babel/highlight" "7.0.0-beta.44" -"@babel/code-frame@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.56.tgz#09f76300673ac085d3b90e02aafa0ffc2c96846a" +"@babel/code-frame@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" dependencies: - "@babel/highlight" "7.0.0-beta.56" + "@babel/highlight" "^7.0.0" -"@babel/core@^7.0.0-beta.51": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.0.0-beta.56.tgz#cc03ffbb62564fef58fd1cefcbb3e32011c21df9" +"@babel/core@7.0.0", "@babel/core@^7.0.0-rc.1": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.0.0.tgz#0cb0c0fd2e78a0a2bec97698f549ae9ce0b99515" dependencies: - "@babel/code-frame" "7.0.0-beta.56" - "@babel/generator" "7.0.0-beta.56" - "@babel/helpers" "7.0.0-beta.56" - "@babel/parser" "7.0.0-beta.56" - "@babel/template" "7.0.0-beta.56" - "@babel/traverse" "7.0.0-beta.56" - "@babel/types" "7.0.0-beta.56" + "@babel/code-frame" "^7.0.0" + "@babel/generator" "^7.0.0" + "@babel/helpers" "^7.0.0" + "@babel/parser" "^7.0.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" convert-source-map "^1.1.0" debug "^3.1.0" json5 "^0.5.0" @@ -69,51 +69,51 @@ source-map "^0.5.0" trim-right "^1.0.1" -"@babel/generator@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.56.tgz#07d9c2f45990c453130e080eddcd252a9cbd8d66" +"@babel/generator@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0.tgz#1efd58bffa951dc846449e58ce3a1d7f02d393aa" dependencies: - "@babel/types" "7.0.0-beta.56" + "@babel/types" "^7.0.0" jsesc "^2.5.1" lodash "^4.17.10" source-map "^0.5.0" trim-right "^1.0.1" -"@babel/helper-annotate-as-pure@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.56.tgz#3814bfda01ec19f7daac810cc2375932a79acbbc" +"@babel/helper-annotate-as-pure@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" dependencies: - "@babel/types" "7.0.0-beta.56" + "@babel/types" "^7.0.0" -"@babel/helper-builder-binary-assignment-operator-visitor@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.56.tgz#c80d0edb162eb91d44dd5b25c5083cf6d72d7088" +"@babel/helper-builder-binary-assignment-operator-visitor@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0.tgz#ba26336beb2abb547d58b6eba5b84d77975a39eb" dependencies: - "@babel/helper-explode-assignable-expression" "7.0.0-beta.56" - "@babel/types" "7.0.0-beta.56" + "@babel/helper-explode-assignable-expression" "^7.0.0" + "@babel/types" "^7.0.0" -"@babel/helper-call-delegate@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.56.tgz#eacdf2f2943be79dfe259011ee8362cd61012acd" +"@babel/helper-call-delegate@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0.tgz#e036956bb33d76e59c07a04a1fff144e9f62ab78" dependencies: - "@babel/helper-hoist-variables" "7.0.0-beta.56" - "@babel/traverse" "7.0.0-beta.56" - "@babel/types" "7.0.0-beta.56" + "@babel/helper-hoist-variables" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" -"@babel/helper-define-map@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.56.tgz#2c3d0a584843c2d6fc555f8f80e335eddc34ec38" +"@babel/helper-define-map@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.0.0.tgz#a5684dd2adf30f0137cf9b0bde436f8c2db17225" dependencies: - "@babel/helper-function-name" "7.0.0-beta.56" - "@babel/types" "7.0.0-beta.56" + "@babel/helper-function-name" "^7.0.0" + "@babel/types" "^7.0.0" lodash "^4.17.10" -"@babel/helper-explode-assignable-expression@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.56.tgz#3e21d74e8d46e591dc305c70824561a80d0a53d2" +"@babel/helper-explode-assignable-expression@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0.tgz#fdfa4c88603ae3e954d0fc3244d5ca82fb468497" dependencies: - "@babel/traverse" "7.0.0-beta.56" - "@babel/types" "7.0.0-beta.56" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" "@babel/helper-function-name@7.0.0-beta.44": version "7.0.0-beta.44" @@ -123,13 +123,13 @@ "@babel/template" "7.0.0-beta.44" "@babel/types" "7.0.0-beta.44" -"@babel/helper-function-name@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.56.tgz#4e9c8a84ce4368b4a779409d0c4fe3f714be60ab" +"@babel/helper-function-name@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0.tgz#a68cc8d04420ccc663dd258f9cc41b8261efa2d4" dependencies: - "@babel/helper-get-function-arity" "7.0.0-beta.56" - "@babel/template" "7.0.0-beta.56" - "@babel/types" "7.0.0-beta.56" + "@babel/helper-get-function-arity" "^7.0.0" + "@babel/template" "^7.0.0" + "@babel/types" "^7.0.0" "@babel/helper-get-function-arity@7.0.0-beta.44": version "7.0.0-beta.44" @@ -137,84 +137,86 @@ dependencies: "@babel/types" "7.0.0-beta.44" -"@babel/helper-get-function-arity@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.56.tgz#872864d67e25705b94d1c71afc72344aafc8dc9c" +"@babel/helper-get-function-arity@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" dependencies: - "@babel/types" "7.0.0-beta.56" + "@babel/types" "^7.0.0" -"@babel/helper-hoist-variables@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.56.tgz#6d32ac403a51b0a19e2144820d53a793a04df263" +"@babel/helper-hoist-variables@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz#46adc4c5e758645ae7a45deb92bab0918c23bb88" dependencies: - "@babel/types" "7.0.0-beta.56" + "@babel/types" "^7.0.0" -"@babel/helper-member-expression-to-functions@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.56.tgz#f7d8d673e140c1bf051abf9661652788ae37b1b4" +"@babel/helper-member-expression-to-functions@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f" dependencies: - "@babel/types" "7.0.0-beta.56" + "@babel/types" "^7.0.0" -"@babel/helper-module-imports@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.56.tgz#edf9494ef1f36674bb19cec9ea142b70f186406d" +"@babel/helper-module-imports@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" dependencies: - "@babel/types" "7.0.0-beta.56" + "@babel/types" "^7.0.0" + +"@babel/helper-module-transforms@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0.tgz#b01ee7d543e81e8c3fc404b19c9f26acb6e4cf4c" + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-simple-access" "^7.0.0" + "@babel/helper-split-export-declaration" "^7.0.0" + "@babel/template" "^7.0.0" + "@babel/types" "^7.0.0" lodash "^4.17.10" -"@babel/helper-module-transforms@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.56.tgz#327ba3bd62bcfa597b008f48c0826cdc690ba944" +"@babel/helper-optimise-call-expression@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" dependencies: - "@babel/helper-module-imports" "7.0.0-beta.56" - "@babel/helper-simple-access" "7.0.0-beta.56" - "@babel/helper-split-export-declaration" "7.0.0-beta.56" - "@babel/template" "7.0.0-beta.56" - "@babel/types" "7.0.0-beta.56" - lodash "^4.17.10" - -"@babel/helper-optimise-call-expression@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.56.tgz#e9814da0d175ca39901f2d895d6dfef658fe8953" - dependencies: - "@babel/types" "7.0.0-beta.56" + "@babel/types" "^7.0.0" "@babel/helper-plugin-utils@7.0.0-beta.56": version "7.0.0-beta.56" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.56.tgz#e5f63cae8b3b716825d64e69ad8b59d71cd2080c" -"@babel/helper-regex@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0-beta.56.tgz#88d8a15c853892f603193e5adf10c428cd588fc0" +"@babel/helper-plugin-utils@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" + +"@babel/helper-regex@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0.tgz#2c1718923b57f9bbe64705ffe5640ac64d9bdb27" dependencies: lodash "^4.17.10" -"@babel/helper-remap-async-to-generator@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.56.tgz#e5c8958f324395c16606b85ecdf4de1335eaa541" +"@babel/helper-remap-async-to-generator@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0.tgz#6512273c2feb91587822335cf913fdf680c26901" dependencies: - "@babel/helper-annotate-as-pure" "7.0.0-beta.56" - "@babel/helper-wrap-function" "7.0.0-beta.56" - "@babel/template" "7.0.0-beta.56" - "@babel/traverse" "7.0.0-beta.56" - "@babel/types" "7.0.0-beta.56" + "@babel/helper-annotate-as-pure" "^7.0.0" + "@babel/helper-wrap-function" "^7.0.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" -"@babel/helper-replace-supers@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.56.tgz#52f25c16b3dee1f4e8cd96eb4d1d7f9af9db18d8" +"@babel/helper-replace-supers@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0.tgz#b6f21237280e0be54f591f63a464b66627ced707" dependencies: - "@babel/helper-member-expression-to-functions" "7.0.0-beta.56" - "@babel/helper-optimise-call-expression" "7.0.0-beta.56" - "@babel/traverse" "7.0.0-beta.56" - "@babel/types" "7.0.0-beta.56" + "@babel/helper-member-expression-to-functions" "^7.0.0" + "@babel/helper-optimise-call-expression" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" -"@babel/helper-simple-access@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.56.tgz#bb6569e0ada73f408ca6e00514f9ca2c02970c0d" +"@babel/helper-simple-access@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.0.0.tgz#ff36a27983ae4c27122da2f7f294dced80ecbd08" dependencies: - "@babel/template" "7.0.0-beta.56" - "@babel/types" "7.0.0-beta.56" - lodash "^4.17.10" + "@babel/template" "^7.0.0" + "@babel/types" "^7.0.0" "@babel/helper-split-export-declaration@7.0.0-beta.44": version "7.0.0-beta.44" @@ -222,28 +224,28 @@ dependencies: "@babel/types" "7.0.0-beta.44" -"@babel/helper-split-export-declaration@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.56.tgz#82d53382836134ba3ed0ea2394ca21fe579ec241" +"@babel/helper-split-export-declaration@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813" dependencies: - "@babel/types" "7.0.0-beta.56" + "@babel/types" "^7.0.0" -"@babel/helper-wrap-function@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.56.tgz#e493eff444f161569c2c0091a7bd60670fc03d8d" +"@babel/helper-wrap-function@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0.tgz#1c8e42a2cfb0808e3140189dfe9490782a6fa740" dependencies: - "@babel/helper-function-name" "7.0.0-beta.56" - "@babel/template" "7.0.0-beta.56" - "@babel/traverse" "7.0.0-beta.56" - "@babel/types" "7.0.0-beta.56" + "@babel/helper-function-name" "^7.0.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" -"@babel/helpers@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.0.0-beta.56.tgz#a01cac1481c6fa38197ae410137539045b160443" +"@babel/helpers@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.0.0.tgz#7213388341eeb07417f44710fd7e1d00acfa6ac0" dependencies: - "@babel/template" "7.0.0-beta.56" - "@babel/traverse" "7.0.0-beta.56" - "@babel/types" "7.0.0-beta.56" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" "@babel/highlight@7.0.0-beta.44": version "7.0.0-beta.44" @@ -253,65 +255,72 @@ esutils "^2.0.2" js-tokens "^3.0.0" -"@babel/highlight@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.56.tgz#f8b0fc8c5c2de53bb2c12f9001ad3d99e573696d" +"@babel/highlight@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" dependencies: chalk "^2.0.0" esutils "^2.0.2" - js-tokens "^3.0.0" + js-tokens "^4.0.0" -"@babel/node@^7.0.0-beta.51": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/node/-/node-7.0.0-beta.56.tgz#ec6d2599c543fd46b07efb81678d84f8be7eaffa" +"@babel/node@7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/node/-/node-7.0.0.tgz#20e55bb0e015700a0f6ff281c712de7619ad56f4" dependencies: - "@babel/polyfill" "7.0.0-beta.56" - "@babel/register" "7.0.0-beta.56" + "@babel/polyfill" "^7.0.0" + "@babel/register" "^7.0.0" commander "^2.8.1" fs-readdir-recursive "^1.0.0" lodash "^4.17.10" output-file-sync "^2.0.0" v8flags "^3.1.1" -"@babel/parser@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.0.0-beta.56.tgz#8638aa02e0130cd10b2ba4128e2b804112073ed3" +"@babel/parser@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.0.0.tgz#697655183394facffb063437ddf52c0277698775" -"@babel/plugin-proposal-async-generator-functions@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.56.tgz#078b8763a7423c99dfb7af8906966fc6b667dfb1" +"@babel/plugin-proposal-async-generator-functions@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0.tgz#5d1eb6b44fd388b97f964350007ab9da090b1d70" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" - "@babel/helper-remap-async-to-generator" "7.0.0-beta.56" - "@babel/plugin-syntax-async-generators" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-remap-async-to-generator" "^7.0.0" + "@babel/plugin-syntax-async-generators" "^7.0.0" -"@babel/plugin-proposal-object-rest-spread@7.0.0-beta.56", "@babel/plugin-proposal-object-rest-spread@^7.0.0-beta.51": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.56.tgz#5a8b8c89e94155d766baacdf8e50ea7dead96741" +"@babel/plugin-proposal-json-strings@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.0.0.tgz#3b4d7b5cf51e1f2e70f52351d28d44fc2970d01e" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" - "@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-json-strings" "^7.0.0" -"@babel/plugin-proposal-optional-catch-binding@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0-beta.56.tgz#0b0afe131ba4b42f0961435cfec0f4d5525fe06c" +"@babel/plugin-proposal-object-rest-spread@7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0.tgz#9a17b547f64d0676b6c9cecd4edf74a82ab85e7e" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" - "@babel/plugin-syntax-optional-catch-binding" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" -"@babel/plugin-proposal-unicode-property-regex@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0-beta.56.tgz#df00a82966ebaf2ddd3a7fee8f746dbbf0013956" +"@babel/plugin-proposal-optional-catch-binding@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0.tgz#b610d928fe551ff7117d42c8bb410eec312a6425" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" - "@babel/helper-regex" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.0.0" + +"@babel/plugin-proposal-unicode-property-regex@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0.tgz#498b39cd72536cd7c4b26177d030226eba08cd33" + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-regex" "^7.0.0" regexpu-core "^4.2.0" -"@babel/plugin-syntax-async-generators@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.56.tgz#e784a9f104fa9df3a6273079a8be7ef5085259ea" +"@babel/plugin-syntax-async-generators@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0.tgz#bf0891dcdbf59558359d0c626fdc9490e20bc13c" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-dynamic-import@^7.0.0-beta.39": version "7.0.0-beta.56" @@ -319,261 +328,268 @@ dependencies: "@babel/helper-plugin-utils" "7.0.0-beta.56" -"@babel/plugin-syntax-object-rest-spread@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.56.tgz#ebcb1406eaadb1307df02b2ebbc91fd069729f73" +"@babel/plugin-syntax-json-strings@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.0.0.tgz#0d259a68090e15b383ce3710e01d5b23f3770cbd" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-syntax-optional-catch-binding@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0-beta.56.tgz#3606e382384507b71adaf2f2f239395c5695ec2c" +"@babel/plugin-syntax-object-rest-spread@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0.tgz#37d8fbcaf216bd658ea1aebbeb8b75e88ebc549b" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-arrow-functions@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.56.tgz#b547c40003f6795a824c3af501dc963acc6b2492" +"@babel/plugin-syntax-optional-catch-binding@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0.tgz#886f72008b3a8b185977f7cb70713b45e51ee475" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-async-to-generator@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.56.tgz#1ce419953fc3c4364ab95442653e4bd460815ed3" +"@babel/plugin-transform-arrow-functions@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0.tgz#a6c14875848c68a3b4b3163a486535ef25c7e749" dependencies: - "@babel/helper-module-imports" "7.0.0-beta.56" - "@babel/helper-plugin-utils" "7.0.0-beta.56" - "@babel/helper-remap-async-to-generator" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-block-scoped-functions@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.56.tgz#ad6fe88ef1b1d5c6f301a13e5185942e963202c3" +"@babel/plugin-transform-async-to-generator@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0.tgz#feaf18f4bfeaf2236eea4b2d4879da83006cc8f5" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-remap-async-to-generator" "^7.0.0" -"@babel/plugin-transform-block-scoping@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.56.tgz#b4a3ec153d19b92680db95f4c3823b88e6f93197" +"@babel/plugin-transform-block-scoped-functions@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0.tgz#482b3f75103927e37288b3b67b65f848e2aa0d07" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-block-scoping@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0.tgz#1745075edffd7cdaf69fab2fb6f9694424b7e9bc" + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" lodash "^4.17.10" -"@babel/plugin-transform-classes@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.56.tgz#99b405dee3fb466c09c1e0874e795f4682ee690d" +"@babel/plugin-transform-classes@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0.tgz#9e65ca401747dde99e344baea90ab50dccb4c468" dependencies: - "@babel/helper-annotate-as-pure" "7.0.0-beta.56" - "@babel/helper-define-map" "7.0.0-beta.56" - "@babel/helper-function-name" "7.0.0-beta.56" - "@babel/helper-optimise-call-expression" "7.0.0-beta.56" - "@babel/helper-plugin-utils" "7.0.0-beta.56" - "@babel/helper-replace-supers" "7.0.0-beta.56" - "@babel/helper-split-export-declaration" "7.0.0-beta.56" + "@babel/helper-annotate-as-pure" "^7.0.0" + "@babel/helper-define-map" "^7.0.0" + "@babel/helper-function-name" "^7.0.0" + "@babel/helper-optimise-call-expression" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.0.0" + "@babel/helper-split-export-declaration" "^7.0.0" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.56.tgz#774e705279d5ca3bdb132d93b6a7fc046a660608" +"@babel/plugin-transform-computed-properties@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0.tgz#2fbb8900cd3e8258f2a2ede909b90e7556185e31" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-destructuring@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.56.tgz#41ab43ad5a885b73cc44192948109076a95c2bf0" +"@babel/plugin-transform-destructuring@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0.tgz#68e911e1935dda2f06b6ccbbf184ffb024e9d43a" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-dotall-regex@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0-beta.56.tgz#f8586e81e4d5f6609f1b7be0dcbce77a2bd3bd24" +"@babel/plugin-transform-dotall-regex@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0.tgz#73a24da69bc3c370251f43a3d048198546115e58" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" - "@babel/helper-regex" "7.0.0-beta.56" + "@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-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0-beta.56.tgz#8217b5a3c3ef078009e64989b0c6bdb3a5ad9960" +"@babel/plugin-transform-duplicate-keys@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0.tgz#a0601e580991e7cace080e4cf919cfd58da74e86" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-exponentiation-operator@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.56.tgz#da1c786c70af6249d142771d408dc1abb2fb8871" +"@babel/plugin-transform-exponentiation-operator@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0.tgz#c51b45e090a01876f64d32b5b46c0799c85ea56c" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "7.0.0-beta.56" - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-for-of@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.56.tgz#a95335820f8dedf30b96ec03e4cac09a5bb4edf2" +"@babel/plugin-transform-for-of@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0.tgz#f2ba4eadb83bd17dc3c7e9b30f4707365e1c3e39" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-function-name@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-beta.56.tgz#7382a1cc8df0d8b04be36d83773dd6b451ddd045" +"@babel/plugin-transform-function-name@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0.tgz#eeda18dc22584e13c3581a68f6be4822bb1d1d81" dependencies: - "@babel/helper-function-name" "7.0.0-beta.56" - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-function-name" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-literals@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.56.tgz#5f6d3d0dad64c52df64fe8654a8e6d6fd884d60f" +"@babel/plugin-transform-literals@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0.tgz#2aec1d29cdd24c407359c930cdd89e914ee8ff86" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-modules-amd@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.0.0-beta.56.tgz#000ae2a3f41a9dd43d55211df3fcc74ac8e17418" +"@babel/plugin-transform-modules-amd@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.0.0.tgz#2430ab73db9960c4ca89966f425b803f5d0d0468" dependencies: - "@babel/helper-module-transforms" "7.0.0-beta.56" - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-module-transforms" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-modules-commonjs@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.56.tgz#d0c96de58d11c032d9098b891b25874a387f496c" +"@babel/plugin-transform-modules-commonjs@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0.tgz#20b906e5ab130dd8e456b694a94d9575da0fd41f" dependencies: - "@babel/helper-module-transforms" "7.0.0-beta.56" - "@babel/helper-plugin-utils" "7.0.0-beta.56" - "@babel/helper-simple-access" "7.0.0-beta.56" + "@babel/helper-module-transforms" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-simple-access" "^7.0.0" -"@babel/plugin-transform-modules-systemjs@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0-beta.56.tgz#7aecc2a886a151aabfe86e5c01811f5cf9c27d04" +"@babel/plugin-transform-modules-systemjs@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0.tgz#8873d876d4fee23209decc4d1feab8f198cf2df4" dependencies: - "@babel/helper-hoist-variables" "7.0.0-beta.56" - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-hoist-variables" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-modules-umd@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.0.0-beta.56.tgz#1dd72699fd8fbafda4c259318771d97f91cd8410" +"@babel/plugin-transform-modules-umd@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.0.0.tgz#e7bb4f2a6cd199668964241951a25013450349be" dependencies: - "@babel/helper-module-transforms" "7.0.0-beta.56" - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-module-transforms" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-new-target@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0-beta.56.tgz#a8b219cece600e57cdc372b8a41c21e01f8165d8" +"@babel/plugin-transform-new-target@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz#ae8fbd89517fa7892d20e6564e641e8770c3aa4a" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-object-super@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.56.tgz#b02d5d99aeffd9770e2a5de95260bf720f90ebab" +"@babel/plugin-transform-object-super@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0.tgz#b8587d511309b3a0e96e9e38169908b3e392041e" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" - "@babel/helper-replace-supers" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.0.0" -"@babel/plugin-transform-parameters@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.56.tgz#9010f8743e8bb213e14c1fe9f801588e509f46b1" +"@babel/plugin-transform-parameters@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0.tgz#da864efa111816a6df161d492f33de10e74b1949" dependencies: - "@babel/helper-call-delegate" "7.0.0-beta.56" - "@babel/helper-get-function-arity" "7.0.0-beta.56" - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-call-delegate" "^7.0.0" + "@babel/helper-get-function-arity" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-regenerator@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.56.tgz#03999df0a27e5cc38686d90e83be0190660f3960" +"@babel/plugin-transform-regenerator@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz#5b41686b4ed40bef874d7ed6a84bdd849c13e0c1" dependencies: regenerator-transform "^0.13.3" -"@babel/plugin-transform-shorthand-properties@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.56.tgz#bf78900f016774a28d56ec8e83d0cec4d662b7ff" +"@babel/plugin-transform-shorthand-properties@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0.tgz#85f8af592dcc07647541a0350e8c95c7bf419d15" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-spread@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.56.tgz#a8681e7d78b648b7170a211068bea31aaedf0ea2" +"@babel/plugin-transform-spread@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0.tgz#93583ce48dd8c85e53f3a46056c856e4af30b49b" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-sticky-regex@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.56.tgz#89b37d31fac03f0c87b99dd7b190159d098f7398" +"@babel/plugin-transform-sticky-regex@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0.tgz#30a9d64ac2ab46eec087b8530535becd90e73366" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" - "@babel/helper-regex" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-regex" "^7.0.0" -"@babel/plugin-transform-template-literals@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.56.tgz#2ddc47b1b26f60bf8d755d71d4b8e1440ebad2c7" +"@babel/plugin-transform-template-literals@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0.tgz#084f1952efe5b153ddae69eb8945f882c7a97c65" dependencies: - "@babel/helper-annotate-as-pure" "7.0.0-beta.56" - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-annotate-as-pure" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-typeof-symbol@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.56.tgz#76160d2bfee43b7d4ea07cf3c51dd7fa6578f8ec" +"@babel/plugin-transform-typeof-symbol@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0.tgz#4dcf1e52e943e5267b7313bff347fdbe0f81cec9" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-unicode-regex@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.56.tgz#b3fad34e9c5a6d4181af443713d9e38a292c8bb0" +"@babel/plugin-transform-unicode-regex@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0.tgz#c6780e5b1863a76fe792d90eded9fcd5b51d68fc" dependencies: - "@babel/helper-plugin-utils" "7.0.0-beta.56" - "@babel/helper-regex" "7.0.0-beta.56" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-regex" "^7.0.0" regexpu-core "^4.1.3" -"@babel/polyfill@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.0.0-beta.56.tgz#6942d474d0e9cee7124477df11e97ba192764919" +"@babel/polyfill@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.0.0.tgz#c8ff65c9ec3be6a1ba10113ebd40e8750fb90bff" dependencies: core-js "^2.5.7" regenerator-runtime "^0.11.1" -"@babel/preset-env@^7.0.0-beta.51": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.0.0-beta.56.tgz#1d00bb1768c422b363be214c12f3b99dc5e4cc0c" +"@babel/preset-env@7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.0.0.tgz#f450f200c14e713f98cb14d113bf0c2cfbb89ca9" dependencies: - "@babel/helper-module-imports" "7.0.0-beta.56" - "@babel/helper-plugin-utils" "7.0.0-beta.56" - "@babel/plugin-proposal-async-generator-functions" "7.0.0-beta.56" - "@babel/plugin-proposal-object-rest-spread" "7.0.0-beta.56" - "@babel/plugin-proposal-optional-catch-binding" "7.0.0-beta.56" - "@babel/plugin-proposal-unicode-property-regex" "7.0.0-beta.56" - "@babel/plugin-syntax-async-generators" "7.0.0-beta.56" - "@babel/plugin-syntax-object-rest-spread" "7.0.0-beta.56" - "@babel/plugin-syntax-optional-catch-binding" "7.0.0-beta.56" - "@babel/plugin-transform-arrow-functions" "7.0.0-beta.56" - "@babel/plugin-transform-async-to-generator" "7.0.0-beta.56" - "@babel/plugin-transform-block-scoped-functions" "7.0.0-beta.56" - "@babel/plugin-transform-block-scoping" "7.0.0-beta.56" - "@babel/plugin-transform-classes" "7.0.0-beta.56" - "@babel/plugin-transform-computed-properties" "7.0.0-beta.56" - "@babel/plugin-transform-destructuring" "7.0.0-beta.56" - "@babel/plugin-transform-dotall-regex" "7.0.0-beta.56" - "@babel/plugin-transform-duplicate-keys" "7.0.0-beta.56" - "@babel/plugin-transform-exponentiation-operator" "7.0.0-beta.56" - "@babel/plugin-transform-for-of" "7.0.0-beta.56" - "@babel/plugin-transform-function-name" "7.0.0-beta.56" - "@babel/plugin-transform-literals" "7.0.0-beta.56" - "@babel/plugin-transform-modules-amd" "7.0.0-beta.56" - "@babel/plugin-transform-modules-commonjs" "7.0.0-beta.56" - "@babel/plugin-transform-modules-systemjs" "7.0.0-beta.56" - "@babel/plugin-transform-modules-umd" "7.0.0-beta.56" - "@babel/plugin-transform-new-target" "7.0.0-beta.56" - "@babel/plugin-transform-object-super" "7.0.0-beta.56" - "@babel/plugin-transform-parameters" "7.0.0-beta.56" - "@babel/plugin-transform-regenerator" "7.0.0-beta.56" - "@babel/plugin-transform-shorthand-properties" "7.0.0-beta.56" - "@babel/plugin-transform-spread" "7.0.0-beta.56" - "@babel/plugin-transform-sticky-regex" "7.0.0-beta.56" - "@babel/plugin-transform-template-literals" "7.0.0-beta.56" - "@babel/plugin-transform-typeof-symbol" "7.0.0-beta.56" - "@babel/plugin-transform-unicode-regex" "7.0.0-beta.56" - browserslist "^3.0.0" + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-async-generator-functions" "^7.0.0" + "@babel/plugin-proposal-json-strings" "^7.0.0" + "@babel/plugin-proposal-object-rest-spread" "^7.0.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.0.0" + "@babel/plugin-syntax-async-generators" "^7.0.0" + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.0.0" + "@babel/plugin-transform-arrow-functions" "^7.0.0" + "@babel/plugin-transform-async-to-generator" "^7.0.0" + "@babel/plugin-transform-block-scoped-functions" "^7.0.0" + "@babel/plugin-transform-block-scoping" "^7.0.0" + "@babel/plugin-transform-classes" "^7.0.0" + "@babel/plugin-transform-computed-properties" "^7.0.0" + "@babel/plugin-transform-destructuring" "^7.0.0" + "@babel/plugin-transform-dotall-regex" "^7.0.0" + "@babel/plugin-transform-duplicate-keys" "^7.0.0" + "@babel/plugin-transform-exponentiation-operator" "^7.0.0" + "@babel/plugin-transform-for-of" "^7.0.0" + "@babel/plugin-transform-function-name" "^7.0.0" + "@babel/plugin-transform-literals" "^7.0.0" + "@babel/plugin-transform-modules-amd" "^7.0.0" + "@babel/plugin-transform-modules-commonjs" "^7.0.0" + "@babel/plugin-transform-modules-systemjs" "^7.0.0" + "@babel/plugin-transform-modules-umd" "^7.0.0" + "@babel/plugin-transform-new-target" "^7.0.0" + "@babel/plugin-transform-object-super" "^7.0.0" + "@babel/plugin-transform-parameters" "^7.0.0" + "@babel/plugin-transform-regenerator" "^7.0.0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0" + "@babel/plugin-transform-spread" "^7.0.0" + "@babel/plugin-transform-sticky-regex" "^7.0.0" + "@babel/plugin-transform-template-literals" "^7.0.0" + "@babel/plugin-transform-typeof-symbol" "^7.0.0" + "@babel/plugin-transform-unicode-regex" "^7.0.0" + browserslist "^4.1.0" invariant "^2.2.2" js-levenshtein "^1.1.3" semver "^5.3.0" -"@babel/register@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.0.0-beta.56.tgz#bc228ccb87308bbf9dc0d2b4e1dca0490ac178cb" +"@babel/register@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.0.0.tgz#fa634bae1bfa429f60615b754fc1f1d745edd827" dependencies: core-js "^2.5.7" find-cache-dir "^1.0.0" @@ -581,7 +597,7 @@ lodash "^4.17.10" mkdirp "^0.5.1" pirates "^4.0.0" - source-map-support "^0.4.2" + source-map-support "^0.5.9" "@babel/template@7.0.0-beta.44": version "7.0.0-beta.44" @@ -592,14 +608,13 @@ babylon "7.0.0-beta.44" lodash "^4.2.0" -"@babel/template@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.56.tgz#a428197e0c9db142f8581cbfdcfa9289b0dd7fd7" +"@babel/template@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0.tgz#c2bc9870405959c89a9c814376a2ecb247838c80" dependencies: - "@babel/code-frame" "7.0.0-beta.56" - "@babel/parser" "7.0.0-beta.56" - "@babel/types" "7.0.0-beta.56" - lodash "^4.17.10" + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.0.0" + "@babel/types" "^7.0.0" "@babel/traverse@7.0.0-beta.44": version "7.0.0-beta.44" @@ -616,16 +631,16 @@ invariant "^2.2.0" lodash "^4.2.0" -"@babel/traverse@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.56.tgz#62fdfe69328cfaad414ef01844f5ab40e32f4ad0" +"@babel/traverse@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0.tgz#b1fe9b6567fdf3ab542cfad6f3b31f854d799a61" dependencies: - "@babel/code-frame" "7.0.0-beta.56" - "@babel/generator" "7.0.0-beta.56" - "@babel/helper-function-name" "7.0.0-beta.56" - "@babel/helper-split-export-declaration" "7.0.0-beta.56" - "@babel/parser" "7.0.0-beta.56" - "@babel/types" "7.0.0-beta.56" + "@babel/code-frame" "^7.0.0" + "@babel/generator" "^7.0.0" + "@babel/helper-function-name" "^7.0.0" + "@babel/helper-split-export-declaration" "^7.0.0" + "@babel/parser" "^7.0.0" + "@babel/types" "^7.0.0" debug "^3.1.0" globals "^11.1.0" lodash "^4.17.10" @@ -638,15 +653,15 @@ lodash "^4.2.0" to-fast-properties "^2.0.0" -"@babel/types@7.0.0-beta.56": - version "7.0.0-beta.56" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.56.tgz#df456947a82510ec30361971e566110d89489056" +"@babel/types@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0.tgz#6e191793d3c854d19c6749989e3bc55f0e962118" dependencies: esutils "^2.0.2" lodash "^4.17.10" to-fast-properties "^2.0.0" -"@fullhuman/postcss-purgecss@^1.0.1": +"@fullhuman/postcss-purgecss@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@fullhuman/postcss-purgecss/-/postcss-purgecss-1.0.1.tgz#e3269e9e2824d815f83a35ab0b5312ceb18b419b" dependencies: @@ -819,12 +834,6 @@ adverb-where@0.0.9: version "0.0.9" resolved "https://registry.yarnpkg.com/adverb-where/-/adverb-where-0.0.9.tgz#09c5cddd8d503b9fe5f76e0b8dc5c70a8f193e34" -agent-base@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" - dependencies: - es6-promisify "^5.0.0" - ajv-keywords@^1.0.0: version "1.5.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" @@ -1031,10 +1040,6 @@ async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" -async-limiter@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" - async@2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" @@ -1045,7 +1050,7 @@ atob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a" -autoprefixer@^8.6.4: +autoprefixer@8.6.5: version "8.6.5" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-8.6.5.tgz#343f3d193ed568b3208e00117a1b96eb691d4ee9" dependencies: @@ -1075,11 +1080,11 @@ babel-code-frame@^6.22.0: esutils "^2.0.2" js-tokens "^3.0.2" -babel-core@^7.0.0-bridge.0: +babel-core@7.0.0-bridge.0: version "7.0.0-bridge.0" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" -babel-eslint@^8.2.3: +babel-eslint@8.2.6, babel-eslint@^8.2.3: version "8.2.6" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.2.6.tgz#6270d0c73205628067c0f7ae1693a9e797acefd9" dependencies: @@ -1090,7 +1095,7 @@ babel-eslint@^8.2.3: eslint-scope "3.7.1" eslint-visitor-keys "^1.0.0" -babel-plugin-dynamic-import-node-sync@^2.0.1: +babel-plugin-dynamic-import-node-sync@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node-sync/-/babel-plugin-dynamic-import-node-sync-2.0.1.tgz#698be7a91ffcdab2986027ed6575b162560d4384" dependencies: @@ -1212,7 +1217,7 @@ braces@^2.3.0, braces@^2.3.1: split-string "^3.0.2" to-regex "^3.0.1" -browserslist@^3.0.0, browserslist@^3.2.8: +browserslist@^3.2.8: version "3.2.8" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6" dependencies: @@ -1227,6 +1232,14 @@ browserslist@^4.0.1: electron-to-chromium "^1.3.52" node-releases "^1.0.0-alpha.10" +browserslist@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.1.0.tgz#81cbb8e52dfa09918f93c6e051d779cb7360785d" + dependencies: + caniuse-lite "^1.0.30000878" + electron-to-chromium "^1.3.61" + node-releases "^1.0.0-alpha.11" + bubble-stream-error@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/bubble-stream-error/-/bubble-stream-error-1.0.0.tgz#7dad97f17128da396169bf37ada4acb195361e30" @@ -1309,6 +1322,10 @@ caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000864, caniuse-lite@^1.0.300008 version "1.0.30000874" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000874.tgz#a641b1f1c420d58d9b132920ef6ba87bbdcd2223" +caniuse-lite@^1.0.30000878: + version "1.0.30000883" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000883.tgz#597c1eabfb379bd9fbeaa778632762eb574706ac" + capture-stack-trace@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" @@ -1324,6 +1341,14 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" +chalk@2.4.1, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -1334,14 +1359,6 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - character-entities-html4@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.2.tgz#c44fdde3ce66b52e8d321d6c1bf46101f0150610" @@ -1376,7 +1393,7 @@ charenc@~0.0.1: version "0.0.2" resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" -cheerio@^1.0.0-rc.2: +cheerio@1.0.0-rc.2: version "1.0.0-rc.2" resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.2.tgz#4b9f53a81b27e4d5dac31c0ffd0cfa03cc6830db" dependencies: @@ -1387,22 +1404,7 @@ cheerio@^1.0.0-rc.2: lodash "^4.15.0" parse5 "^3.0.1" -chokidar@^1.5.1, chokidar@^1.6.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" - dependencies: - anymatch "^1.3.0" - async-each "^1.0.0" - glob-parent "^2.0.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^2.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - optionalDependencies: - fsevents "^1.0.0" - -chokidar@^2.0.3, chokidar@^2.0.4: +chokidar@2.0.4, chokidar@^2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26" dependencies: @@ -1421,6 +1423,21 @@ chokidar@^2.0.3, chokidar@^2.0.4: optionalDependencies: fsevents "^1.2.2" +chokidar@^1.5.1, chokidar@^1.6.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + chownr@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" @@ -1550,7 +1567,7 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@1.6.2, concat-stream@^1.5.1, concat-stream@^1.5.2, concat-stream@^1.6.0: +concat-stream@^1.5.1, 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" dependencies: @@ -1627,7 +1644,7 @@ cosmiconfig@^5.0.0: js-yaml "^3.9.0" parse-json "^4.0.0" -cpx@^1.5.0: +cpx@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/cpx/-/cpx-1.5.0.tgz#185be018511d87270dedccc293171e37655ab88f" dependencies: @@ -1898,6 +1915,10 @@ electron-to-chromium@^1.3.47, electron-to-chromium@^1.3.52: version "1.3.55" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.55.tgz#f150e10b20b77d9d41afcca312efe0c3b1a7fdce" +electron-to-chromium@^1.3.61: + version "1.3.62" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.62.tgz#2e8e2dc070c800ec8ce23ff9dfcceb585d6f9ed8" + en-inflectors@^1.0.7: version "1.0.12" resolved "https://registry.yarnpkg.com/en-inflectors/-/en-inflectors-1.0.12.tgz#fd334776608a021cb4202157f20d52ab934af78a" @@ -1961,16 +1982,6 @@ es-to-primitive@^1.1.1: is-date-object "^1.0.1" is-symbol "^1.0.1" -es6-promise@^4.0.3: - version "4.2.4" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.4.tgz#dc4221c2b16518760bd8c39a52d8f356fc00ed29" - -es6-promisify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" - dependencies: - es6-promise "^4.0.3" - escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -1979,13 +1990,13 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" -eslint-config-algolia@^13.1.0: +eslint-config-algolia@13.1.0: version "13.1.0" resolved "https://registry.yarnpkg.com/eslint-config-algolia/-/eslint-config-algolia-13.1.0.tgz#88fc2aeab9149dddaee34b4cb00a0acb8cd777b5" -eslint-config-prettier@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.9.0.tgz#5ecd65174d486c22dff389fe036febf502d468a3" +eslint-config-prettier@2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.10.0.tgz#ec07bc1d01f87d09f61d3840d112dc8a9791e30b" dependencies: get-stdin "^5.0.1" @@ -2003,9 +2014,9 @@ eslint-module-utils@^2.2.0: debug "^2.6.8" pkg-dir "^1.0.0" -eslint-plugin-import@^2.11.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.13.0.tgz#df24f241175e312d91662dc91ca84064caec14ed" +eslint-plugin-import@2.14.0: + version "2.14.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz#6b17626d2e3e6ad52cfce8807a845d15e22111a8" dependencies: contains-path "^0.1.0" debug "^2.6.8" @@ -2018,7 +2029,7 @@ eslint-plugin-import@^2.11.0: read-pkg-up "^2.0.0" resolve "^1.6.0" -eslint-plugin-prettier@^2.6.0: +eslint-plugin-prettier@2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-2.6.2.tgz#71998c60aedfa2141f7bfcbf9d1c459bf98b4fad" dependencies: @@ -2239,15 +2250,6 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" -extract-zip@^1.6.6: - version "1.6.7" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz#a840b4b8af6403264c8db57f4f1a74333ef81fe9" - dependencies: - concat-stream "1.6.2" - debug "2.6.9" - mkdirp "0.5.1" - yauzl "2.4.1" - fast-deep-equal@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" @@ -2291,12 +2293,6 @@ faye-websocket@0.11.x: dependencies: websocket-driver ">=0.5.1" -fd-slicer@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" - dependencies: - pend "~1.2.0" - figures@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" @@ -2428,12 +2424,20 @@ from@~0: version "0.1.7" resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" -front-matter@^2.3.0: +front-matter@2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/front-matter/-/front-matter-2.3.0.tgz#7203af896ce357ee04e2aa45169ea91ed7f67504" dependencies: js-yaml "^3.10.0" +fs-extra@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.0.tgz#8cc3f47ce07ef7b3593a11b9fb245f7e34c041d6" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs-extra@^4.0.2: version "4.0.3" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" @@ -2450,21 +2454,13 @@ fs-extra@^5.0.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.0.tgz#8cc3f47ce07ef7b3593a11b9fb245f7e34c041d6" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs-minipass@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" dependencies: minipass "^2.2.1" -fs-readdir-recursive@^1.0.0: +fs-readdir-recursive@^1.0.0, fs-readdir-recursive@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" @@ -2528,7 +2524,7 @@ get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" -gh-pages@^1.2.0: +gh-pages@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/gh-pages/-/gh-pages-1.2.0.tgz#1acb92801078f7c038a167f447221d1496ccfbee" dependencies: @@ -2586,7 +2582,7 @@ glob2base@^0.0.12: dependencies: find-index "^0.1.1" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: +glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: @@ -2784,13 +2780,6 @@ http-parser-js@>=0.4.0: version "0.4.13" resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.13.tgz#3bd6d6fde6e3172c9334c3b33b6c193d80fe1137" -https-proxy-agent@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz#51552970fa04d723e04c56d04178c3f92592bbc0" - dependencies: - agent-base "^4.1.0" - debug "^3.1.0" - humanize-url@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/humanize-url/-/humanize-url-1.0.1.tgz#f4ab99e0d288174ca4e1e50407c55fbae464efff" @@ -2802,7 +2791,7 @@ humannames@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/humannames/-/humannames-1.0.5.tgz#a4d60d4168df8737f4b262efd23f2ee32974f1c5" -husky@^0.14.3: +husky@0.14.3: version "0.14.3" resolved "https://registry.yarnpkg.com/husky/-/husky-0.14.3.tgz#c69ed74e2d2779769a17ba8399b54ce0b63c12c3" dependencies: @@ -2871,6 +2860,24 @@ ini@^1.3.4, ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" +inquirer@6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.0.tgz#51adcd776f661369dc1e894859c2560a224abdd8" + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.0" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^3.0.0" + figures "^2.0.0" + lodash "^4.17.10" + mute-stream "0.0.7" + run-async "^2.2.0" + rxjs "^6.1.0" + string-width "^2.1.0" + strip-ansi "^4.0.0" + through "^2.3.6" + inquirer@^3.0.6: version "3.3.0" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" @@ -2890,24 +2897,6 @@ inquirer@^3.0.6: strip-ansi "^4.0.0" through "^2.3.6" -inquirer@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.1.0.tgz#8f65c7b31c498285f4ddf3b742ad8c487892040b" - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^3.0.0" - figures "^2.0.0" - lodash "^4.3.0" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.1.0" - string-width "^2.1.0" - strip-ansi "^4.0.0" - through "^2.3.6" - interop-require@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/interop-require/-/interop-require-1.0.0.tgz#e53103679944c88d7e6105b62a9f4475c783971e" @@ -3277,7 +3266,7 @@ js-tokens@^3.0.0, js-tokens@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" -"js-tokens@^3.0.0 || ^4.0.0": +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -3402,7 +3391,7 @@ linkify-it@^2.0.0: dependencies: uc.micro "^1.0.1" -live-server@^1.2.0: +live-server@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/live-server/-/live-server-1.2.0.tgz#4498644bbf81a66f18dd8dffdef61c4c1c374ca3" dependencies: @@ -3478,7 +3467,7 @@ lodash.intersection@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.intersection/-/lodash.intersection-4.4.0.tgz#0a11ba631d0e95c23c7f2f4cbb9a692ed178e705" -lodash@^4.0.0, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.3.0: +lodash@4.17.10, lodash@^4.0.0, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.3.0: version "4.17.10" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" @@ -3566,18 +3555,18 @@ markdown-extensions@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-1.1.1.tgz#fea03b539faeaee9b4ef02a3769b455b189f7fc3" -markdown-it-anchor@^5.0.2: +markdown-it-anchor@5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-5.0.2.tgz#cdd917a05b7bf92fb736a6dae3385c6d0d0fa552" -markdown-it-highlightjs@^3.0.0: +markdown-it-highlightjs@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/markdown-it-highlightjs/-/markdown-it-highlightjs-3.0.0.tgz#ed3dd619ca2b98e6bf2112d163bf444043340210" dependencies: highlight.js "^9.9.0" lodash.flow "^3.1.0" -markdown-it@^8.4.1: +markdown-it@8.4.2: version "8.4.2" resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-8.4.2.tgz#386f98998dc15a37722aa7722084f4020bdd9b54" dependencies: @@ -3732,10 +3721,6 @@ mime@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" -mime@^2.0.3: - version "2.3.1" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.3.1.tgz#b1621c54d63b97c47d3cfe7f7215f7d64517c369" - mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" @@ -3789,7 +3774,7 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1: +mkdirp@^0.5.0, mkdirp@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: @@ -3906,6 +3891,12 @@ node-releases@^1.0.0-alpha.10: dependencies: semver "^5.3.0" +node-releases@^1.0.0-alpha.11: + version "1.0.0-alpha.11" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.0.0-alpha.11.tgz#73c810acc2e5b741a17ddfbb39dfca9ab9359d8a" + dependencies: + semver "^5.3.0" + nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" @@ -3949,7 +3940,7 @@ normalize-url@^1.0.0: query-string "^4.1.0" sort-keys "^1.0.0" -normalize.css@^8.0.0: +normalize.css@8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/normalize.css/-/normalize.css-8.0.0.tgz#14ac5e461612538a4ce9be90a7da23f86e718493" @@ -4128,13 +4119,13 @@ output-file-sync@^2.0.0: is-plain-obj "^1.1.0" mkdirp "^0.5.1" -p-all@^1.0.0: +p-all@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-all/-/p-all-1.0.0.tgz#93bdf53a55a23821fdfa98b4174a99bf7f31df8d" dependencies: p-map "^1.0.0" -p-each-series@^1.0.0: +p-each-series@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" dependencies: @@ -4156,7 +4147,7 @@ p-locate@^2.0.0: dependencies: p-limit "^1.1.0" -p-map@^1.0.0, p-map@^1.2.0: +p-map@1.2.0, p-map@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" @@ -4309,10 +4300,6 @@ pause-stream@0.0.11: dependencies: through "~2.3" -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - perfectionist@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/perfectionist/-/perfectionist-2.4.0.tgz#c147ad3714e126467f1764129ee72df861d47ea0" @@ -4328,13 +4315,17 @@ perfectionist@^2.4.0: vendors "^1.0.0" write-file-stdout "0.0.2" +pify@3.0.0, pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" +pify@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.0.tgz#db04c982b632fd0df9090d14aaf1c8413cadb695" pinkie-promise@^2.0.0: version "2.0.1" @@ -4386,7 +4377,7 @@ posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" -postcss-clean@^1.1.0: +postcss-clean@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/postcss-clean/-/postcss-clean-1.1.0.tgz#c2d61d5d8caf19a585adba16897726c2674c4207" dependencies: @@ -4402,13 +4393,13 @@ postcss-functions@^3.0.0: postcss "^6.0.9" postcss-value-parser "^3.3.0" -postcss-html@^0.31.0: - version "0.31.0" - resolved "https://registry.yarnpkg.com/postcss-html/-/postcss-html-0.31.0.tgz#ea6ae2e95df60a03032e9ab5aba72143d8ca0325" +postcss-html@^0.33.0: + version "0.33.0" + resolved "https://registry.yarnpkg.com/postcss-html/-/postcss-html-0.33.0.tgz#8ab6067d7a8a234e1937920b38760e3be1dca070" dependencies: htmlparser2 "^3.9.2" -postcss-import@^11.1.0: +postcss-import@11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-11.1.0.tgz#55c9362c9192994ec68865d224419df1db2981f0" dependencies: @@ -4424,15 +4415,23 @@ postcss-js@^1.0.1: camelcase-css "^1.0.1" postcss "^6.0.11" +postcss-jsx@^0.33.0: + version "0.33.0" + resolved "https://registry.yarnpkg.com/postcss-jsx/-/postcss-jsx-0.33.0.tgz#433f8aadd6f3b0ee403a62b441bca8db9c87471c" + dependencies: + "@babel/core" "^7.0.0-rc.1" + optionalDependencies: + postcss-styled ">=0.33.0" + postcss-less@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/postcss-less/-/postcss-less-2.0.0.tgz#5d190b8e057ca446d60fe2e2587ad791c9029fb8" dependencies: postcss "^5.2.16" -postcss-markdown@^0.31.0: - version "0.31.0" - resolved "https://registry.yarnpkg.com/postcss-markdown/-/postcss-markdown-0.31.0.tgz#e4c699ad34b14a29ad5d47132bb1b3100b60ef75" +postcss-markdown@^0.33.0: + version "0.33.0" + resolved "https://registry.yarnpkg.com/postcss-markdown/-/postcss-markdown-0.33.0.tgz#2d0462742ee108c9d6020780184b499630b8b33a" dependencies: remark "^9.0.0" unist-util-find-all-after "^1.0.2" @@ -4441,7 +4440,7 @@ postcss-media-query-parser@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" -postcss-nested@^3.0.0: +postcss-nested@3.0.0, postcss-nested@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-3.0.0.tgz#cde40bd07a078565f3df72e2dc2665871c724852" dependencies: @@ -4503,13 +4502,13 @@ postcss-selector-parser@^5.0.0-rc.3: indexes-of "^1.0.1" uniq "^1.0.1" -postcss-styled@^0.31.0: - version "0.31.0" - resolved "https://registry.yarnpkg.com/postcss-styled/-/postcss-styled-0.31.0.tgz#ab532a2b3c469dfcca306a7623c4d4a98bb077d5" +postcss-styled@>=0.33.0, postcss-styled@^0.33.0: + version "0.33.0" + resolved "https://registry.yarnpkg.com/postcss-styled/-/postcss-styled-0.33.0.tgz#69be377584105a582fda7e4f76888e5b97eed737" -postcss-syntax@^0.31.0: - version "0.31.0" - resolved "https://registry.yarnpkg.com/postcss-syntax/-/postcss-syntax-0.31.0.tgz#13d955c705d339595d10a19efa4a1bee82dfb78f" +postcss-syntax@^0.33.0: + version "0.33.0" + resolved "https://registry.yarnpkg.com/postcss-syntax/-/postcss-syntax-0.33.0.tgz#59c0c678d2f9ecefa84c6ce9ef46fc805c54ab3a" postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: version "3.3.0" @@ -4523,6 +4522,14 @@ postcss@6.0.22: source-map "^0.6.1" supports-color "^5.4.0" +postcss@6.0.23, postcss@^6.0.1, postcss@^6.0.11, postcss@^6.0.14, postcss@^6.0.22, postcss@^6.0.23, postcss@^6.0.8, postcss@^6.0.9, postcss@^6.x: + version "6.0.23" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.4.0" + postcss@^5.0.8, postcss@^5.2.16, postcss@^5.2.4: version "5.2.18" resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5" @@ -4532,14 +4539,6 @@ postcss@^5.0.8, postcss@^5.2.16, postcss@^5.2.4: source-map "^0.5.6" supports-color "^3.2.3" -postcss@^6.0.1, postcss@^6.0.11, postcss@^6.0.14, postcss@^6.0.22, postcss@^6.0.23, postcss@^6.0.8, postcss@^6.0.9, postcss@^6.x: - version "6.0.23" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" - dependencies: - chalk "^2.4.1" - source-map "^0.6.1" - supports-color "^5.4.0" - postcss@^7.0.0, postcss@^7.0.2: version "7.0.2" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.2.tgz#7b5a109de356804e27f95a960bef0e4d5bc9bb18" @@ -4560,7 +4559,7 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -prettier@^1.14.2: +prettier@1.14.2: version "1.14.2" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.14.2.tgz#0ac1c6e1a90baa22a62925f41963c841983282f9" @@ -4582,10 +4581,6 @@ promise@^7.0.1: dependencies: asap "~2.0.3" -proxy-from-env@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" - proxy-middleware@latest: version "0.15.0" resolved "https://registry.yarnpkg.com/proxy-middleware/-/proxy-middleware-0.15.0.tgz#a3fdf1befb730f951965872ac2f6074c61477a56" @@ -4674,7 +4669,7 @@ pug-walk@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/pug-walk/-/pug-walk-1.1.7.tgz#c00d5c5128bac5806bec15d2b7e7cdabe42531f3" -pug@^2.0.3: +pug@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/pug/-/pug-2.0.3.tgz#71cba82537c95a5eab7ed04696e4221f53aa878e" dependencies: @@ -4706,19 +4701,6 @@ punycode@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" -puppeteer@^1.6.1: - version "1.6.2" - resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.6.2.tgz#e3c31f8184e8fb8b36e4263921bcaaab7a99b3bf" - dependencies: - debug "^3.1.0" - extract-zip "^1.6.6" - https-proxy-agent "^2.2.1" - mime "^2.0.3" - progress "^2.0.0" - proxy-from-env "^1.0.0" - rimraf "^2.6.1" - ws "^5.1.1" - purgecss@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/purgecss/-/purgecss-1.0.1.tgz#652e6b0958b6fd362591f401c406ed33d0cdb958" @@ -4948,7 +4930,7 @@ regjsparser@^0.3.0: dependencies: jsesc "~0.5.0" -remark-cli@^5.0.0: +remark-cli@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/remark-cli/-/remark-cli-5.0.0.tgz#9feefd06474f3d0ff132df21b5334c546df12ab6" dependencies: @@ -4956,7 +4938,7 @@ remark-cli@^5.0.0: remark "^9.0.0" unified-args "^5.0.0" -remark-frontmatter@^1.1.0, remark-frontmatter@^1.2.0, remark-frontmatter@^1.2.1: +remark-frontmatter@1.2.1, remark-frontmatter@^1.1.0, remark-frontmatter@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/remark-frontmatter/-/remark-frontmatter-1.2.1.tgz#6427e8da41d8e78b1b955a0af46ca71350085f50" dependencies: @@ -5323,7 +5305,7 @@ remark-lint-no-table-indentation@^1.0.0: unist-util-position "^3.0.0" unist-util-visit "^1.1.1" -remark-lint-no-trailing-spaces@^2.0.0: +remark-lint-no-trailing-spaces@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/remark-lint-no-trailing-spaces/-/remark-lint-no-trailing-spaces-2.0.0.tgz#0bd8904f7377e64e0228573124dfef32776ae565" dependencies: @@ -5471,7 +5453,7 @@ remark-parse@^5.0.0: vfile-location "^2.0.0" xtend "^4.0.1" -remark-preset-lint-consistent@^2.0.2: +remark-preset-lint-consistent@2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/remark-preset-lint-consistent/-/remark-preset-lint-consistent-2.0.2.tgz#2538db9ce9f9d89f018d9c2359e953eca7b1886e" dependencies: @@ -5489,7 +5471,7 @@ remark-preset-lint-consistent@^2.0.2: remark-lint-strong-marker "^1.0.0" remark-lint-table-cell-padding "^1.0.0" -remark-preset-lint-markdown-style-guide@^2.1.2: +remark-preset-lint-markdown-style-guide@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/remark-preset-lint-markdown-style-guide/-/remark-preset-lint-markdown-style-guide-2.1.2.tgz#a945814f4b014d3e6c0888fc034418bdfd77f44c" dependencies: @@ -5539,7 +5521,7 @@ remark-preset-lint-markdown-style-guide@^2.1.2: remark-lint-table-pipes "^1.0.0" remark-lint-unordered-list-marker-style "^1.0.0" -remark-preset-lint-recommended@^3.0.2: +remark-preset-lint-recommended@3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/remark-preset-lint-recommended/-/remark-preset-lint-recommended-3.0.2.tgz#5ce675678895ce7131326c12b6df9105a5d0632c" dependencies: @@ -5560,7 +5542,7 @@ remark-preset-lint-recommended@^3.0.2: remark-lint-no-unused-definitions "^1.0.0" remark-lint-ordered-list-marker-style "^1.0.0" -remark-reference-links@^4.0.2: +remark-reference-links@4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/remark-reference-links/-/remark-reference-links-4.0.2.tgz#817c63486901bd4f5f8a0cf48a695f5ecd2c966d" dependencies: @@ -5872,6 +5854,10 @@ slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + slice-ansi@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" @@ -5929,11 +5915,12 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.4.2: - version "0.4.18" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" +source-map-support@^0.5.9: + version "0.5.9" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz#41bc953b2534267ea2d605bccfa7bfa3111ced5f" dependencies: - source-map "^0.5.6" + buffer-from "^1.0.0" + source-map "^0.6.0" source-map-url@^0.4.0: version "0.4.0" @@ -5943,7 +5930,7 @@ source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" -source-map@^0.6.1, source-map@~0.6.0: +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" @@ -6153,15 +6140,15 @@ style-search@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" -stylelint-csstree-validator@^1.3.0: +stylelint-csstree-validator@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/stylelint-csstree-validator/-/stylelint-csstree-validator-1.3.0.tgz#58293c688a50a02c122897202d60bcb37fae6ff1" dependencies: css-tree "1.0.0-alpha.29" -stylelint@^9.3.0: - version "9.4.0" - resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-9.4.0.tgz#2f2b82ae9db53a06735ae0724f41b134fdb84a10" +stylelint@9.5.0: + version "9.5.0" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-9.5.0.tgz#f7afb45342abc4acf28a8da8a48373e9f79c1fb4" dependencies: autoprefixer "^9.0.0" balanced-match "^1.0.0" @@ -6184,11 +6171,12 @@ stylelint@^9.3.0: meow "^5.0.0" micromatch "^2.3.11" normalize-selector "^0.2.0" - pify "^3.0.0" + pify "^4.0.0" postcss "^7.0.0" - postcss-html "^0.31.0" + postcss-html "^0.33.0" + postcss-jsx "^0.33.0" postcss-less "^2.0.0" - postcss-markdown "^0.31.0" + postcss-markdown "^0.33.0" postcss-media-query-parser "^0.2.3" postcss-reporter "^5.0.0" postcss-resolve-nested-selector "^0.1.1" @@ -6196,15 +6184,15 @@ stylelint@^9.3.0: postcss-sass "^0.3.0" postcss-scss "^2.0.0" postcss-selector-parser "^3.1.0" - postcss-styled "^0.31.0" - postcss-syntax "^0.31.0" + postcss-styled "^0.33.0" + postcss-syntax "^0.33.0" postcss-value-parser "^3.3.0" resolve-from "^4.0.0" signal-exit "^3.0.2" specificity "^0.4.0" string-width "^2.1.0" style-search "^0.1.0" - sugarss "^1.0.0" + sugarss "^2.0.0" svg-tags "^1.0.0" table "^4.0.1" @@ -6214,11 +6202,11 @@ subarg@^1.0.0: dependencies: minimist "^1.1.0" -sugarss@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sugarss/-/sugarss-1.0.1.tgz#be826d9003e0f247735f92365dc3fd7f1bae9e44" +sugarss@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/sugarss/-/sugarss-2.0.0.tgz#ddd76e0124b297d40bf3cca31c8b22ecb43bc61d" dependencies: - postcss "^6.0.14" + postcss "^7.0.2" supports-color@^2.0.0: version "2.0.0" @@ -6279,7 +6267,7 @@ table@^4.0.1: slice-ansi "1.0.0" string-width "^2.1.1" -tailwindcss@^0.6.4: +tailwindcss@0.6.5: version "0.6.5" resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-0.6.5.tgz#f692f875c373721d65ccecba5eb16fa949bcbb97" dependencies: @@ -6316,21 +6304,21 @@ text-table@^0.2.0, text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" -textlint-rule-alex@^1.3.1: +textlint-rule-alex@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/textlint-rule-alex/-/textlint-rule-alex-1.3.1.tgz#eb38609eba445f2431bb1927db7227993da943fe" dependencies: alex "^5.1.0" textlint-rule-helper "^2.0.0" -textlint-rule-common-misspellings@^1.0.1: +textlint-rule-common-misspellings@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/textlint-rule-common-misspellings/-/textlint-rule-common-misspellings-1.0.1.tgz#8c4133cf3bb59aa159199d2c9bced12413365774" dependencies: misspellings "^1.0.1" textlint-rule-helper "^1.1.5" -textlint-rule-en-capitalization@^2.0.1: +textlint-rule-en-capitalization@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/textlint-rule-en-capitalization/-/textlint-rule-en-capitalization-2.0.1.tgz#8857d255b555c61dd7718724eecff12b9a930c88" dependencies: @@ -6350,7 +6338,7 @@ textlint-rule-helper@^2.0.0: dependencies: unist-util-visit "^1.1.0" -textlint-rule-stop-words@^1.0.4: +textlint-rule-stop-words@1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/textlint-rule-stop-words/-/textlint-rule-stop-words-1.0.5.tgz#df7d8e24dc9cabc483761c78c5b20004170f6372" dependencies: @@ -6358,7 +6346,7 @@ textlint-rule-stop-words@^1.0.4: split-lines "^2.0.0" textlint-rule-helper "^2.0.0" -textlint-rule-terminology@^1.1.29: +textlint-rule-terminology@1.1.29: version "1.1.29" resolved "https://registry.yarnpkg.com/textlint-rule-terminology/-/textlint-rule-terminology-1.1.29.tgz#74884bfa4f59dc006eca4715cba614bb731a9905" dependencies: @@ -6366,14 +6354,14 @@ textlint-rule-terminology@^1.1.29: strip-json-comments "^2.0.1" textlint-rule-helper "^2.0.0" -textlint-rule-write-good@^1.6.2: +textlint-rule-write-good@1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/textlint-rule-write-good/-/textlint-rule-write-good-1.6.2.tgz#3c79b04091319d4e8be5fb442c596bf500e8493e" dependencies: textlint-rule-helper "^2.0.0" write-good "^0.11.0" -textlint@^11.0.0: +textlint@11.0.0: version "11.0.0" resolved "https://registry.yarnpkg.com/textlint/-/textlint-11.0.0.tgz#48de7e19a53aae9d18edbe029487e038d7643ff8" dependencies: @@ -7001,12 +6989,6 @@ write@^0.2.1: dependencies: mkdirp "^0.5.1" -ws@^5.1.1: - version "5.2.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" - dependencies: - async-limiter "~1.0.0" - x-is-function@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/x-is-function/-/x-is-function-1.0.4.tgz#5d294dc3d268cbdd062580e0c5df77a391d1fa1e" @@ -7082,9 +7064,3 @@ yargs@~3.10.0: cliui "^2.1.0" decamelize "^1.0.0" window-size "0.1.0" - -yauzl@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005" - dependencies: - fd-slicer "~1.0.1" From 31254271316f77e149ba28a6ea73849e06032701 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 2 Sep 2018 01:21:24 +0000 Subject: [PATCH 2/6] chore(deps): update dependency eslint-config-algolia to v13.2.3 --- docs/package.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/package.json b/docs/package.json index 74151f1f..905104a0 100644 --- a/docs/package.json +++ b/docs/package.json @@ -28,7 +28,7 @@ "chokidar": "2.0.4", "cpx": "1.5.0", "eslint": "4.19.1", - "eslint-config-algolia": "13.1.0", + "eslint-config-algolia": "13.2.3", "eslint-config-prettier": "2.10.0", "eslint-plugin-import": "2.14.0", "eslint-plugin-prettier": "2.6.2", diff --git a/package.json b/package.json index f6488156..32c3c61c 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "conventional-changelog-cli": "2.0.5", "cssnano": "4.1.0", "eslint": "5.4.0", - "eslint-config-algolia": "13.1.0", + "eslint-config-algolia": "13.2.3", "eslint-config-prettier": "2.10.0", "eslint-plugin-import": "2.14.0", "eslint-plugin-jest": "21.22.0", From 13aba17d07166748c1812429115db83e04660a33 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 2 Sep 2018 03:01:44 +0000 Subject: [PATCH 3/6] chore(deps): update dependency glob to v7.1.3 --- docs/package.json | 2 +- docs/yarn.lock | 19 +++++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/docs/package.json b/docs/package.json index 905104a0..ea8cfe6f 100644 --- a/docs/package.json +++ b/docs/package.json @@ -35,7 +35,7 @@ "front-matter": "2.3.0", "fs-extra": "7.0.0", "gh-pages": "1.2.0", - "glob": "7.1.2", + "glob": "7.1.3", "husky": "0.14.3", "inquirer": "6.2.0", "live-server": "1.2.0", diff --git a/docs/yarn.lock b/docs/yarn.lock index 51c8d892..5f413ab8 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -1990,9 +1990,9 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" -eslint-config-algolia@13.1.0: - version "13.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-algolia/-/eslint-config-algolia-13.1.0.tgz#88fc2aeab9149dddaee34b4cb00a0acb8cd777b5" +eslint-config-algolia@13.2.3: + version "13.2.3" + resolved "https://registry.yarnpkg.com/eslint-config-algolia/-/eslint-config-algolia-13.2.3.tgz#e157431033e4d47c3fe1fc4486eb24198dde33a4" eslint-config-prettier@2.10.0: version "2.10.0" @@ -2582,7 +2582,18 @@ glob2base@^0.0.12: dependencies: find-index "^0.1.1" -glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: +glob@7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: From 1f885d176d2e10e20a133f39b4c499255c3d68ab Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Sun, 2 Sep 2018 03:40:17 +0000 Subject: [PATCH 4/6] chore(deps): update dependency uglify-js to v3.4.9 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 32c3c61c..1712fdc3 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,7 @@ "pretty-bytes-cli": "2.0.0", "semver": "5.5.1", "sinon": "6.1.5", - "uglify-js": "3.4.8", + "uglify-js": "3.4.9", "webpack": "3.12.0", "webpack-cli": "3.1.0" }, From a94f4c57dca4a8e09afe1a6859ce04105cc03880 Mon Sep 17 00:00:00 2001 From: Sylvain Pace Date: Tue, 4 Sep 2018 08:47:38 +0200 Subject: [PATCH 5/6] Doc/update content (#434) * # This is a combination of 2 commits. # This is the 1st commit message: # This is a combination of 3 commits. # This is the 1st commit message: # This is a combination of 3 commits. # This is the 1st commit message: chore(deps): update dependency onchange to v4.1.0 integrate previous work enhance tyle/content reformat part 1 wait for review adance start_urls enhance attributes description fix typo proofread documentation/docsearch add apiKey mention intefrate review and small fixes finished proofreading update sclient-rendering use unseen review # This is the commit message #2: update README #269 # This is the commit message #3: fix json # This is the commit message #2: enhance as algolia/docsearch-configs#387 # This is the commit message #3: updating flavicon # This is the commit message #2: Update 1-customize-configuration-file.html.md.erb * # This is a combination of 2 commits. # This is the 1st commit message: # This is a combination of 3 commits. # This is the 1st commit message: # This is a combination of 3 commits. # This is the 1st commit message: chore(deps): update dependency onchange to v4.1.0 integrate previous work enhance tyle/content reformat part 1 wait for review adance start_urls enhance attributes description fix typo proofread documentation/docsearch add apiKey mention intefrate review and small fixes finished proofreading update sclient-rendering use unseen review # This is the commit message #2: update README #269 # This is the commit message #3: fix json # This is the commit message #2: enhance as algolia/docsearch-configs#387 # This is the commit message #3: updating flavicon # This is the commit message #2: Update 1-customize-configuration-file.html.md.erb * documenting algolia/docsearch-scraper#387 * documenting algolia/docsearch-scraper#387 * fixing changelog * fixing typo * # This is a combination of 2 commits. # This is the 1st commit message: # This is a combination of 3 commits. # This is the 1st commit message: # This is a combination of 3 commits. # This is the 1st commit message: chore(deps): update dependency onchange to v4.1.0 integrate previous work enhance tyle/content reformat part 1 wait for review adance start_urls enhance attributes description fix typo proofread documentation/docsearch add apiKey mention intefrate review and small fixes finished proofreading update sclient-rendering use unseen review # This is the commit message #2: update README #269 # This is the commit message #3: fix json # This is the commit message #2: enhance as algolia/docsearch-configs#387 # This is the commit message #3: updating flavicon # This is the commit message #2: Update 1-customize-configuration-file.html.md.erb * # This is a combination of 2 commits. # This is the 1st commit message: # This is a combination of 3 commits. # This is the 1st commit message: # This is a combination of 3 commits. # This is the 1st commit message: chore(deps): update dependency onchange to v4.1.0 integrate previous work enhance tyle/content reformat part 1 wait for review adance start_urls enhance attributes description fix typo proofread documentation/docsearch add apiKey mention intefrate review and small fixes finished proofreading update sclient-rendering use unseen review # This is the commit message #2: update README #269 # This is the commit message #3: fix json # This is the commit message #2: enhance as algolia/docsearch-configs#387 # This is the commit message #3: updating flavicon # This is the commit message #2: Update 1-customize-configuration-file.html.md.erb * documenting algolia/docsearch-scraper#387 * documenting algolia/docsearch-scraper#387 * fixing typo * fixing style issue * fixing recurrnet issue * general github handle * fixing missed conflict * fix and closes algolia/docsearch-configs-private#82 * remove builded content * adding hitsperpage * fix * enhance * doc proof reading part 1 * adding how to build an index and updating content * reformat * textlint * typos * Update behavior.md * Update config-file.md * Update crawler-overview.md * Update dropdown.md * Update faq.md * Update how-do-we-build-an-index.md * Update how-does-it-work.md * Update inside-the-engine.md * Update integrations.md * Update styling.md * Update tips.md * Update who-can-apply.md * Update integrations.md * Usefull but sometime we do want to ignore it on purpose * https://github.com/algolia/docsearch/commit/4fca279b9a66370c3268cd69af9b541e61e480dc * auto fix & formating --- docs/.textlintrc.js | 7 +- docs/config.json | 3 + docs/src/assets/default-colorscheme.png | Bin 21891 -> 83136 bytes docs/src/behavior.md | 22 +++---- docs/src/config-file.md | 40 ++++++------ docs/src/crawler-overview.md | 10 ++- docs/src/dropdown.md | 14 ++-- docs/src/faq.md | 36 +++++----- docs/src/how-do-we-build-an-index.md | 60 +++++++++++++++++ docs/src/how-does-it-work.md | 32 ++++----- docs/src/inside-the-engine.md | 75 +++++++++++---------- docs/src/integrations.md | 13 ++-- docs/src/style.css | 5 +- docs/src/styling.md | 26 ++++---- docs/src/tips.md | 83 ++++++++++++++++++++---- docs/src/what-is-docsearch.md | 6 ++ docs/src/who-can-apply.md | 48 +++++++------- 17 files changed, 316 insertions(+), 164 deletions(-) create mode 100644 docs/src/how-do-we-build-an-index.md diff --git a/docs/.textlintrc.js b/docs/.textlintrc.js index 4d8b2f59..95f41a58 100644 --- a/docs/.textlintrc.js +++ b/docs/.textlintrc.js @@ -8,7 +8,9 @@ module.exports = { 'en-capitalization': true, 'stop-words': { exclude: [ - 'relative to', // We need to talk about links "relative to the root" + 'relative to', // We need to talk about links "relative to the root", + 'pick out', // Needed word, not to clumsy + 'encounter', // Needed word, not to clumsy ], }, terminology: { @@ -16,7 +18,8 @@ module.exports = { terms: `${__dirname}/.textlint.terms.json`, }, 'write-good': { - passive: false, + passive: true, + severity: 'warning', }, }, }; diff --git a/docs/config.json b/docs/config.json index c25d191e..ac56e671 100644 --- a/docs/config.json +++ b/docs/config.json @@ -74,6 +74,9 @@ { "title": "Config files", "url": "config-file.html" + },{ + "title": "Build an index", + "url": "how-do-we-build-an-index.html" }, { "title": "Run your own", diff --git a/docs/src/assets/default-colorscheme.png b/docs/src/assets/default-colorscheme.png index 97cb603e0e2148089853cb04441182290b04918d..b51d540b1f7bb9f3a3380547bd8e1875809152a0 100644 GIT binary patch literal 83136 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 http://www.example.com/docs/ @@ -481,9 +480,10 @@ crawled. ## JavaScript rendering -By default DocSearch expect websites to have server-side rendering, meaning that -HTML source is returned directly by the server. If your content is generated by -the front-end, you have to tell DocSearch to emulate a browser through Selenium. +By default DocSearch expects websites to have server-side rendering, meaning +that HTML source is returned directly by the server. If your content is +generated by the front-end, you have to tell DocSearch to emulate a browser +through Selenium. _As client-side crawling is way slower than server-side crawling, we highly encourage you to update your website to enable server-side rendering._ diff --git a/docs/src/crawler-overview.md b/docs/src/crawler-overview.md index 866dd238..2767f9aa 100644 --- a/docs/src/crawler-overview.md +++ b/docs/src/crawler-overview.md @@ -3,19 +3,23 @@ layout: two-columns title: Crawler Overview --- +### How? + The DocSearch crawler is written in python and heavily based on the [Scrapy][1] framework. It will crawl all pages of your website and extract content from the HTML structure to populate an Algolia index. It will automatically follow every internal link to make sure we are not missing any content, and will use the semantics of your HTML structure to construct its -records. This means that `h1`...`h6` titles will be used for the hierarchy, and -each `p` of text will be used as a potential result. +records. This means that `h1`...`h6` (`selectors`) titles will be used for the +hierarchy, and each `p` of text will be used as a potential result. Those CSS selectors can be overwritten, and each website actually has its own -JSON configuration file that describe in more details how the crawling should +JSON configuration file that describes in more detail how the crawling should behave. You can find the complete list of options in [our documentation][2]. +### When? + We automatically run each config every 24h. This is done from our own infrastructure, meaning that you don't need to install anything on your side. We run this service entirely free of charge, but we're asking that you keep the diff --git a/docs/src/dropdown.md b/docs/src/dropdown.md index e847adab..e97127e7 100644 --- a/docs/src/dropdown.md +++ b/docs/src/dropdown.md @@ -3,10 +3,12 @@ layout: two-columns title: Dropdown --- -To add the dropdown of results next to your search input, you'll have to include -the `docsearch.js` library into your website as per the following example. Your -`apiKey` and `indexName` credentials will be given to you as soon as we've -created your config. +Once your Algolia DocSearch index is ready, correctly set up, and filled with +the right data, you will need to integrate our dedicated Search-UI. To add the +dropdown of results below your search input, you'll have to include our +DocSearch library into your website as per the following example. Your `apiKey` +and `indexName` credentials will be given to you as soon as we've created your +config. ```html @@ -26,6 +28,8 @@ created your config. // Replace inputSelector with a CSS selector // matching your search input inputSelector: '', + // Set debug to true if you want to inspect the dropdown + debug: false }); ``` @@ -33,7 +37,7 @@ created your config. ## Testing If you're eager to test DocSearch but don't have credentials of your own yet, -you can use the one we use on this own website: +you can use the one we use on this website: ```javascript docsearch({ diff --git a/docs/src/faq.md b/docs/src/faq.md index 663e1ae4..56e5d5a1 100644 --- a/docs/src/faq.md +++ b/docs/src/faq.md @@ -3,8 +3,8 @@ layout: two-columns title: FAQ --- -If you're not finding the answer to your question in the website, this page will -help you. If you're still unsure, don't hesitate to send [your question to +If you're not finding the answer to your question on this website, this page +will help you. If you're still unsure, don't hesitate to send [your question to us][1] directly. ### How often will you crawl my website? @@ -19,9 +19,10 @@ updated. Nothing. -The DocSearch crawler is running on our own infra. It will read HTML content +The DocSearch crawler is running on our own infra. It will read the HTML content from your website and populate an Algolia index with it every day. All you need -to do is keep your website online, and we take care of the rest. +to do is keep your website online, and we take care of the rest. If you want to +edit your configuration, please submit a pull request. ### How much does it cost? @@ -33,28 +34,29 @@ All we ask in exchange is that you keep the _powered by [Algolia][2]_ logo displayed next to the search results. If this is not possible for you, you're free to [open your own Algolia -account][3] and run DocSearch on your own without this limitation. In that case +account][3] and run DocSearch on your own without this limitation. In that case, though, depending on the size of your documentation, you might need a paid account ([free accounts][4] can hold as much as 10k records). ### What data are you collecting? -The data we save in the index is the data we extract from your website markup, -in a custom JSON format instead of HTML. Which part of the page is defined in -your custom config. +We only save the data we extract from your website markup, which we put in a +custom JSON format instead of HTML. This is the only data we put in the Algolia +DocSearch index. This data is based on the selectors defined in your config +file, As the website owner, we also give you access to the Algolia Analytics -dashboard, that will let you have more data about the anonymized searches that +dashboard. This will let you have more data about the anonymized searches that were done on your website. You'll see the most searched terms, or those with no results. -You will understand what people do not. +With such Analytiucs, you will understand better what your users are doing. -_If you don't have Analytics access, send us an email and we'll enable it._ +_If you don't have Analytics access, [send us an email][1] and we'll enable it._ ### Where is my data hosted? -All DocSearch data is hosted on Algolia's servers, with replication around the +All DocSearch data is hosted on Algolia's servers, with replications around the globe. You can find more details about the actual [server specs here][5], and more complete information in our [privacy policy][6]. @@ -95,14 +97,14 @@ as those starting with `http://`. } ``` -### A documentation I like does not use DocSearch. What can I do? +### A documentation website I like does not use DocSearch. What can I do? We'd love to help! -If one of your favorite tool documentation is missing DocSearch, we encourage -you to file an issue in their repository explaining how DocSearch could help. -Feel free to ping `@docsearch` on GitHub in the issue as well, and we'll provide -all the help we can. +If one of your favorite tool documentation websites is missing DocSearch, we +encourage you to file an issue in their repository explaining how DocSearch +could help. Feel free to ping `@docsearch` on GitHub in the issue as well, and +we'll provide all the help we can. [1]: mailto:docsearch@algolia.com [2]: https://www.algolia.com/ diff --git a/docs/src/how-do-we-build-an-index.md b/docs/src/how-do-we-build-an-index.md new file mode 100644 index 00000000..3a81814f --- /dev/null +++ b/docs/src/how-do-we-build-an-index.md @@ -0,0 +1,60 @@ +--- +layout: two-columns +title: How do we build a DocSearch index? +--- + +In this section you will learn how we build a DocSearch index from your page. + +### Everything starts from your page + +1st step + +_Note: We would rather avoid useless js rendering. All useful information should +be available without any client-side rendering. You can use `curl` in order to +have a better idea of how it would look without any client-side rendering._ + +### We extract the payload thanks to your set of `selectors` + +2nd step + +We will focus on the highlighted information depending on your selectors. + +### We iterate though the HTML flow and build the payload + +3rd step + +This payload will be the only data extracted from your page. + +### We iterate though the payload and start pushing records + +4th step + +We index the temporary record when we add an element to it (if +`min_indexed_level` is set to `0`) + +### We pile up the elements based on the current temporary record + +5th step + +Base on the position within the flow, we nest elements as much as possble to +keep the contextual relevancy. + +### We iterate until we match a `text` element + +6th step + +### We override the text element when we find a newer one + +7th step + +### We remove the stashed, deeper elements when we add a higher level + +7th step + +Contextual information and hierarchy must be updated once we encounter a new +level since it highlights a new sub-section not related to the previous one. + +If you need any further information, please [do not hesitate, send us your +feedback][1]. + +[1]: mailto:docsearch@algolia.com diff --git a/docs/src/how-does-it-work.md b/docs/src/how-does-it-work.md index 33cbd7f2..04f7279d 100644 --- a/docs/src/how-does-it-work.md +++ b/docs/src/how-does-it-work.md @@ -3,31 +3,31 @@ layout: two-columns title: How does it work? --- -Getting up and ready with DocSearch is a straightforward process that requires a -three steps: you apply, we configure the crawler for you, and you update your -frontend. +Getting up and ready with DocSearch is a straightforward process that requires +three steps: you apply, we configure the crawler for you, and you integrate our +Search-UI in your frontend. It is as simple as copying and pasting a snippet. How it works ### You apply -The first thing you'll need to do is to apply for DocSearch by filling the form -on this page (make sure to double check that you qualify first). We are +The first thing you'll need to do is apply for DocSearch by filling out the form +on this page (double check first that you qualify). We are receiving a lot of requests, so this form makes sure we won't be forgetting anyone. -We guarantee that we will answer to every request, but we receive a lot of -applications, so please give us a couple of days to get back to you :) +We guarantee that we will answer every request, but as we receive a lot of +applications, please give us a couple of days to get back to you :) ### We create a configuration -Once we receive your application, we'll have a look at your website and create a -custom configuration file for it. This file defines which URLs we should crawl -or ignore, as well as the specific CSS selectors to be used for selecting -headers, subheaders, etc. All configs are publicly available in our [config -repository][1]. +Once we receive [your application][2], we'll have a look at your website and +create a custom configuration file for it. This file defines which URLs we +should crawl or ignore, as well as the specific CSS selectors to be used for +selecting headers, subheaders, etc. All configs are publicly available in our +[config repository][1]. -This step still requires some manual work, but thanks to the 900+ configs we +This step still requires some manual work, but thanks to the 1 000+ configs we already created, we're able to automate most of it. Once done, we'll run a first indexing of your website and have it run automatically every 24h. @@ -39,8 +39,8 @@ your Algolia index on each keystroke in a dropdown menu. The default styling of the dropdown uses a grey theme to fit in most designs. The dropdown itself is made of HTML with custom CSS classes and we recommend -that you overwrite those classes to provide a theming more inline with the rest -of your website. +that [you overwrite those classes][3] to provide a theming more inline with the +rest of your website. Now that DocSearch is set, you don't have anything else to do. We'll keep crawling your website every day and update your search results automatically. @@ -48,3 +48,5 @@ All we ask is that you keep the "search by Algolia" logo next to your search results. [1]: https://github.com/algolia/docsearch-configs/tree/master/configs +[2]: apply.html +[3]: styling.html diff --git a/docs/src/inside-the-engine.md b/docs/src/inside-the-engine.md index fab46a84..79609ca8 100644 --- a/docs/src/inside-the-engine.md +++ b/docs/src/inside-the-engine.md @@ -3,59 +3,66 @@ layout: two-columns title: Inside the engine --- -This page will explain in more details how the crawler extracts content from -your page, and how it ranks it in the results. +This page will explain in more detail how the crawler extracts content from your +page every 24h, and how it ranks the results. ## Crawling Each crawl will begin its journey by the value of the `start_urls` you have in -your config. It will read those pages and recursively follow every link in those -pages until it has crawled all your website. +your config. It will read those pages and recursively extract and follow every +link in those pages until it has browsed every compliant page. -If it detects a `sitemap.xml`, it will use this link list instead of crawling -all pages. +If you have explicitly defined a `sitemap.xml`, our crawler will scrap every +provided and compliant page. We do recommend using [a sitemap][1] since it +clearly exposes URLs to crawl and avoid missing pages that aren't linked from +another one. ## Extracting content -Then, for each page, it will read the HTML markup from top to bottom. It will -look for HTML elements matching your CSS `selectors`. It will look for elements -matching your `text` selector (`

` by default). Each of those matches will be -later transformed into an Algolia record. +Building records using the scraper is pretty intuitive. According to your +settings, we extract the payload of your web page and index it, preserving your +data's structure. This is achieved in a simple way: -For each matching `text` element, the crawler will also keep in memory the -current hierarchy of headers (identified by the `lvl0` to `lvl5` selectors) that -it had to traverse to get to this text. This hierarchical information, as well -as some generic page metadata (such has the page url) are then pushed to -Algolia. +- We **read top down** your web page following your HTML flow and pick out your + matching elements according to their **levels** based on the `selectors_level` + defined. +- We create a record for each paragraph along with its hierarchical path. This + construction is based on their **time of appearance** along the flow. +- We **index** these records with the appropriate global settings (e.g. + metadata, tags, etc.) -Note that the crawler performs sanity checks before pushing data to Algolia. For -example if you changed the markup of your website, the selectors might not match -anything. If we detect that something is wrong with your current crawl, we don't -overwrite your previous index. +_**Note:** The above process performs sanity tests as it scrapes, in order to +detect errors. If indeed there are any serious warnings, it will abort and hence +not overwrite your current index. These checks ensure that your dedicated index +isn't flushed._ ## Ranking records Algolia always returns the most relevant results first, using a [tie-breaking -approach][1]. DocSearch will first search for exact matches in your keywords +approach][2]. DocSearch will first search for exact matches in your keywords then fallback to partial matches. Those results will then be ordered based, once again, on the page hierarchy, as extracted from the `selectors`. -The default strategy is to first look at the closest header of the matching -text. For example, a paragraph under `Settings / API / verySpecificMethod()`, -will be ranked higher than one under `Settings / API`. The idea here is that if -you have a match under a deep hierarchy, chances are that this match is specific -and might be more interesting that something found in a broad topic. +The default strategy is to promote records having matching words in the highest +level fist. Thus if two results have the same matching words, the one having +them in the highest level (lvl0) will be reanked higher. We also use the +position of the matching words. The sooner they appear within the HTML flow, the +higher the record will be ranked. -But this does not work in all cases as some documentations don't have deep -hierarchy. In that case, we use the paragraph position. The first paragraph of -the page will be ranked higher than the last one. +The relevancy is based on several factors and can be customized according to the +Algolia tie-breaking method. -You also have a way to boost some pages directly in your config by using the -`page_rank` option. This accepts a numeric value, and all pages with a -`page_rank` of 5 will be returned before pages with a `page_rank` of 1. +You can boost pages depending ont their URLs. This is done from the `start_urls` +and its `page_rank` attributes. It is a numeric value, default to 0. The higher +it is, the higher results from the matching pages will be ranked. For example +all pages with a `page_rank` of 5 will be returned before pages with a +`page_rank` of 1. -You could even overwrite the default `customRanking` used by the index by using -the `custom_settings` option of your config. +You could even change the relevancy strategy by [overwriting the default +`customRanking`][3] used by the index by using the `custom_settings` option of +your config. -[1]: +[1]: https://www.sitemaps.org/ +[2]: https://www.algolia.com/doc/guides/ranking/ranking-formula/#tie-breaking-approach +[3]: https://www.algolia.com/doc/guides/ranking/custom-ranking/ diff --git a/docs/src/integrations.md b/docs/src/integrations.md index 403e49e5..2de66458 100644 --- a/docs/src/integrations.md +++ b/docs/src/integrations.md @@ -3,18 +3,19 @@ layout: two-columns title: Supported Integrations --- -We worked with documentation website generators to have DocSearch directly -embedded as a first class citizen in website they produce. If you're using one -of the following tools, checkout their documentation to see how to enable -DocSearch on your website: +We worked with **documentation website generators** to have DocSearch directly +embedded as a first class citizen in the websites they produce. + +So, if you're using one of the following tools, checkout their documentation to +see how to enable DocSearch on your website: - [Docusaurus][1] - [How to enable search][2] - [VuePress][3] - [Algolia Search][4] - [GitBook][5] - [pkgdown][6] - [DocSearch indexing][7] -If you're a maintaining such a tool and would like to get added to the list, get -[in touch with us][8] +Additionally, if you're a maintaining a similar tool and would like to be added +to the list, get [in touch with us][8]. We'd be happy to help. [1]: https://docusaurus.io/ [2]: https://docusaurus.io/docs/en/search#docsNav diff --git a/docs/src/style.css b/docs/src/style.css index 2aef4c02..f2472fbe 100644 --- a/docs/src/style.css +++ b/docs/src/style.css @@ -20,21 +20,22 @@ input { padding: 0.3rem 0 0 0; } - /* Global styles */ a, a:active { @apply .cursor-pointer; @apply .text-nebula .no-underline; } + a:hover, a:focus { @apply .underline; } + code { @apply .code .text-mars-2; @apply .p-0x; @apply .bg-moon; @apply .rounded-1; font-size: .9em; -} +} \ No newline at end of file diff --git a/docs/src/styling.md b/docs/src/styling.md index c9660d29..66567f60 100644 --- a/docs/src/styling.md +++ b/docs/src/styling.md @@ -55,10 +55,10 @@ and you're encouraged to style it to fit your own theming. All we ask is that you keep the `search by Algolia` logo and link next to your search results. The logo is automatically added in the dropdown with the default styling. It's -OK to hide it through CSS, as long as you re-add it somewhere else on your page -close to the search input or search results. It's our way to let more people -know about what do, and how they could also have from fast and relevant search -on their website. +fine if you hide it through CSS, as long as you re-add it somewhere else on your +page close to the search input or search results. It's our way to let more +people know about what we do, and how they could also have a fast and relevant +search on their website. If you're using your own [paid Algolia account][2] and [run the crawler yourself][3], you don't have to keep the logo. @@ -77,20 +77,20 @@ docsearch({ ## Other considerations -Selected suggestion are wrapped in a `.ds-cursor` class. This means that you can -use `.ds-cursor .algolia-docsearch-suggestion--content` to style the selected -suggestion for example. +Selected suggestions are wrapped in a `.ds-cursor` class. This means that you +can use `.ds-cursor .algolia-docsearch-suggestion--content` to style the +selected suggestion for example. On small screens, DocSearch reverts to a single column layout, while the -two-column layout shown in the screenshot is used on larger screens. You can -media queries (for example `@media (min-width: 768px) {}`) to target one or the -other display. +two-column layout shown in the screenshot is used on larger screens. You can add +media queries (for example `@media (min-width: 768px) {}`) to target different +displays. ## Advanced styling -To more heavily style the results, feel free to have a look at the [SCSS source -code][4]. `_variables.scss` contains all the default theming, sizing and -breakpoints. +Whether you would like to do more heavy styling, feel free to have a look at the +[SCSS source code][4]. `_variables.scss` contains all the default theming, +sizing and breakpoints. You can generate your own CSS file by cloning the repository and running `yarn run build:css`. The resulting file will be generated in `./dist/cdn`, and diff --git a/docs/src/tips.md b/docs/src/tips.md index 50a9e682..e7a3a91b 100644 --- a/docs/src/tips.md +++ b/docs/src/tips.md @@ -4,13 +4,14 @@ title: Tips for a good search --- DocSearch can work with almost any website, but we found that some site -structure yield more relevant result or faster indexing time. In this page we'll -share some tips on how you can make the most out of DocSearch. +structures yield more relevant result or faster indexing time. In this page +we'll share some tips on how you can make the most out of DocSearch. ### Use a `sitemap.xml` -If your website has a sitemap, DocSearch will use it to get the list of pages to -index. If it can't find one, it will follow every link of every page instead. +If you provide a sitemap in your configuration, DocSearch will use it to diretly +browse the pages to index. Pages are still crawled which means we extract every +compliant link. We highly recommend you add a `sitemap.xml` to your website if you don't have one already. This will make the indexing faster, but will also give you more @@ -24,20 +25,26 @@ Sitemaps are also considered good practice for other aspects, including SEO DocSearch works better on structured documentation. Relevance of results is based on the structural hierarchy of content. In simpler terms it means that we read the `

`, ..., `

` headings of your page to guess the hierarchy of -information. +information. This hierarchy brings contextual information to your records. -Documentation starts by explains generic concepts first and then goes deeper +Documentation starts by explaining generic concepts first and then goes deeper into specifics. This is represented in your HTML markup by the hierarchy of headings you're using. For example, concepts discussed under a `

` are more -specific than concepts discussed under a `

` in the same page. +specific than concepts discussed under a `

` in the same page. The sooner the +information comes up within the page, the higher is it ranked. DocSearch uses this structure to fine-tune the relevance of results as well as -to provide potential filtering. Documentation that follow this pattern often -have better relevance of search results. +to provide potential filtering. Documentation that follows this pattern often +has better relevance in its search results. -_Note that you don't have to use `` tags and can use -`` for example instead. Your crawling configuration file -will need to mirror those changes, though._ +Finding the right depth of your documentation tree and how to split-up your +content are two of the most complex tasks. For large documents, we recommend +having 4 levels (from lvl0 until lvl3). Three different levels should be a +minimum. + +\_Note that you don't have to use `` tags and can use +`` for example instead. Your will need to update your set +of `selectors` ### Set a unique class to the element holding the content @@ -47,8 +54,8 @@ This will help narrow selectors to the relevant content. Having such a unique identifier will make your configuration more robust as it will make sure all indexed content is relevant content. We found that this is -the most reliable way to exclude headers, sidebars and footers content that are -not relevant to the search. +the most reliable way to exclude content in headers, sidebars, and footers that +are not relevant to the search. ### Add anchors to headings @@ -73,4 +80,52 @@ class to the `Installation` and `Troubleshooting` links in your sidebar. The name of the CSS class does not matter, as long as it's something that can be used as part of a CSS selector. +## Consistency of your content + +Consistency is a pillar of meaningful documentation. To increase the +**intelligibility** of a document it also shortens the time required for a user +to find the coveted information. The document's **topic** should be +**identifiable** and its **outline** demarcated. + +The hierarchy should always have the same size. Try to **avoid orphan records** +such as the implicit introduction/conclusion, or asides. The selectors must be +efficient for **every document** and highlight the proper hierarchy. They need +to match the coveted elements depending on their level. Be careful to avoid the +**edge effect** by matching unexpected **superfluous elements**. + +Selectors should match information from **real document web pages** and stay +ineffective for others ones (e.g., landing page, table of content, etc.). We +urge the maintainer to define a **dedicated class** for the **main DOM +container** that includes the actual document content such as +`.docSearch-content` + +Since documentation should be **interactive**, it is a key point to **verbalize +concepts with standardized words**. This **redundancy**, empowered with the +**search experience** (dropdown), will even enable the **learn-as-you-type +experience**. The **way to find the information** plays a key role in +**leading** the user to the **retrieved knowledge itself**. You can also use the +**synonym feature**. + +## Avoid duplicates by promoting unicity + +The more time-consuming reading documentation is, the more painful and reluctant +its use will be. You must avoid hazy points or catch-all. With being unhelpful, +the catch-all document may be **confusing** and **counterproductive**. + +Duplicates introduce noise and mislead users. This is why you should always +focus on the relevant content and avoid duplicating content within your site +(for example landing page which contains all information, summing up, etc.). In +cases where the duplicates's existence is expected since it belongs to another +dataset (for example a different version), you should use +[facets](https://www.algolia.com/doc/guides/searching/faceting/). + +## Conciseness + +What is clearly thought out is clearly and concisely expressed. + +We really recommend that you read this blog post about [how to build a helpful +search for technical documentation][2]. + [1]: https://www.sitemaps.org/index.html +[2]: + https://blog.algolia.com/how-to-build-a-helpful-search-for-technical-documentation-the-laravel-example/ diff --git a/docs/src/what-is-docsearch.md b/docs/src/what-is-docsearch.md index b0ca2120..c6294458 100644 --- a/docs/src/what-is-docsearch.md +++ b/docs/src/what-is-docsearch.md @@ -3,6 +3,8 @@ layout: two-columns title: What is DocSearch? --- +### Why? + DocSearch is born out of the need to scratch our own itch. As developers, we spent a lot of time reading documentation, and it can be hard to find relevant information in large documentations. We're not blaming anyone here; building a @@ -13,11 +15,15 @@ building search interfaces. We wanted to use those skills to help others. That's why we created a way to automatically extract content from tech documentation and make it available to everyone from the first keystroke. +### Quick description + DocSearch itself is made of a crawler and a frontend library. We run the crawler on our end every 24h to extract content from your website and push it to an Algolia index. You'll then have to add the frontend library to your website to redirect all the search requests to this index. +### How to feature DocSearch? + DocSearch is entirely free and automated. The one thing we'll need from you is to read [our checklist][2] and apply! After that, we'll share with you the JavaScript snippet needed to add DocSearch to your website. We ask that you keep diff --git a/docs/src/who-can-apply.md b/docs/src/who-can-apply.md index 61f931b2..1df88bf5 100644 --- a/docs/src/who-can-apply.md +++ b/docs/src/who-can-apply.md @@ -4,53 +4,57 @@ title: Who can apply? --- DocSearch was built from the ground up with the idea of improving search on -large technical documentation. For that reason, we offering our free hosting -version to all technical documentations. +large technical documentation. For that reason, we are offering a free hosting +version to all online technical documentation. We're always sad to have to turn down applications, but with the number of -requests we received everyday, we had to focus on technical documentations. We -hope you understand. +requests we receive everyday, we've had to focus on several criteria. We hope +you understand. ### The checklist -To have your request validated, we'll ask that you valide all the following +To have your request validated, we'll ask that you validate all the following points. - You must be the **owner** of the website, or at least have the power to update its content. You'll have to include a JavaScript snippet to enable DocSearch. -- Your website must be **publicly available**. We cannot index websites that are - sitting behind an authentication or available on your machine. +- Your website must be **publicly available**. We do not host index for websites + that are available behind an authentication or a private network. -- Your website must be a **documentation website**. We do not index blogs and - commercial one-pagers. +- Your website must be a **documentation website**. We do not index blogs or + commercial content. -- Your website must **have some content**. We won't index empty websites nor - those filled with lorem ipsum placeholder content. Please, wait until you have - written some documentation before applying. +- Your website must **have some final content**. We won't index empty websites + nor those filled with lorem ipsum placeholder content. Please, wait until you + have written some documentation before applying. We would be happy to help you + as soon as you have a steady design. If in doubt, don't hesitate to [apply][1] and we'll figure it out together. Even if we cannot accept your request, this does not mean that you cannot enjoy -great search on your website. DocSearch is entirely open source and you can run -it yourself, or use any of our other API clients to take advantage of the -features of Algolia. +great search on your website. DocSearch is entirely open source and [you can run +it yourself][2], or use any of [our other API clients][3] to take advantage of +Algolia's features. ### Priority We're receiving dozens of requests every day, and while we strive to answer them -all as fast as we can, we sometimes give priority to some of them based on the -following criteria: +all as fast as we can, we sometimes give priority to some based on the following +criteria: -- πŸ™‚ If your project is open source, We'll handle it before any other - close-source product. We love open source and want to help as much as we can. +- πŸ™‚ If your project is open source, we'll handle it before any other + closed-source product. We love open source and want to help as much as we can. -- πŸ™‚ If you're using one of our [official integrations][2], creating your config +- πŸ™‚ If you're using one of our [official integrations][4], creating your config will be much faster for us. - ☹️ If your website is rendered in the browser through JavaScript, it means that we'll have to crawl it through a much slower browser emulation. We highly - recommend that you put in place server-side rendering if you can. + recommend that you put in place server-side rendering for the useful textual + content. [1]: ./apply.html -[2]: ./integrations.html +[2]: ./run-your-own.html +[3]: https://www.algolia.com/doc/api-reference/ +[4]: ./integrations.html From 186571a475ae5a87b41483fcecbba5485ae4a0f4 Mon Sep 17 00:00:00 2001 From: Peter Villani Date: Tue, 4 Sep 2018 08:49:39 +0200 Subject: [PATCH 6/6] Suggestions on the Sidebar (#442) * Update config.json * fixing wrong " and formating --- docs/config.json | 79 +++++++++++++++++++++++------------------------- 1 file changed, 38 insertions(+), 41 deletions(-) diff --git a/docs/config.json b/docs/config.json index ac56e671..da52a484 100644 --- a/docs/config.json +++ b/docs/config.json @@ -9,45 +9,30 @@ "placeholders": { "docSearchJSVersion": "2" }, - "sidebar": [ - { - "title": "Essentials", - "pages": [ - { + "sidebar": [{ + "title": "Getting Started", + "pages": [{ "title": "What is DocSearch?", "url": "what-is-docsearch.html" }, { - "title": "How does it work?", + "title": "How Does It Work?", "url": "how-does-it-work.html" }, { - "title": "Who can apply?", + "title": "Who Can Apply?", "url": "who-can-apply.html" }, { - "title": "Apply now", + "title": "Apply Now!", "url": "apply.html" - }, - { - "title": "Integrations", - "url": "integrations.html" - }, - { - "title": "Tips", - "url": "tips.html" - }, - { - "title": "FAQ", - "url": "faq.html" } ] }, { - "title": "Dropdown UI", - "pages": [ - { - "title": "Overview", + "title": "Adding DocSearch To Your UI", + "pages": [{ + "title": "Dropdown UI Overview", "url": "dropdown.html" }, { @@ -61,32 +46,47 @@ ] }, { - "title": "Crawler", - "pages": [ + "title": "Tips, FAQ, Misc", + "pages": [{ + "title": "Tips", + "url": "tips.html" + }, { - "title": "Overview", + "title": "FAQ", + "url": "faq.html" + }, + { + "title": "Website Generators", + "url": "integrations.html" + } + ] + }, + { + "title": "Let’s Get Technical", + "pages": [{ + "title": "DocSearch Technical Overview (the Crawler)", "url": "crawler-overview.html" }, { - "title": "Inside the engine", + "title": "Inside The Engine", "url": "inside-the-engine.html" }, { - "title": "Config files", + "title": "Config Files", "url": "config-file.html" - },{ - "title": "Build an index", + }, + { + "title": "Build An Index", "url": "how-do-we-build-an-index.html" }, { - "title": "Run your own", + "title": "Run Your Own", "url": "run-your-own.html" } ] } ], - "redirects": [ - { + "redirects": [{ "from": "documentation/index.html", "to": "what-is-docsearch.html" }, @@ -127,18 +127,15 @@ "to": "config-file.html" }, { - "from": - "documentation/docsearch-autocomplete/customize-autocomplete-styles/index.html", + "from": "documentation/docsearch-autocomplete/customize-autocomplete-styles/index.html", "to": "styling.html" }, { - "from": - "documentation/docsearch-autocomplete/configuring-the-search/index.html", + "from": "documentation/docsearch-autocomplete/configuring-the-search/index.html", "to": "behavior.html" }, { - "from": - "documentation/docsearch-FAQ/customize-configuration-file/index.html", + "from": "documentation/docsearch-FAQ/customize-configuration-file/index.html", "to": "config-file.html" }, { @@ -150,4 +147,4 @@ "to": "faq.html" } ] -} +} \ No newline at end of file