diff --git a/.babelrc b/.babelrc new file mode 100644 index 000000000..2c0d79879 --- /dev/null +++ b/.babelrc @@ -0,0 +1,19 @@ +{ + "presets": [ + [ + "@babel/preset-env", + { + "loose": true, + "targets": " > 1%, last 2 versions" + } + ] + ], + "plugins": [ + [ + "@babel/plugin-transform-react-jsx", + { + "pragma": "JSX.createElement" + } + ] + ] +} diff --git a/.ci/comment.html b/.ci/comment.html deleted file mode 100755 index a2795dad9..000000000 --- a/.ci/comment.html +++ /dev/null @@ -1,128 +0,0 @@ -

Snippets tests reports

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SDKVersionTests overview
- - v6 - {{if (eq .jsv6 "1") }} - :x: - {{end}} - {{if (eq .jsv6 "0")}} - :heavy_check_mark: - {{end}} - {{if (eq .jsv6 "3")}} - :heavy_minus_sign: - {{end}} -
- - v5 - {{if (eq .jsv5 "1") }} - :x: - {{end}} - {{if (eq .jsv5 "0")}} - :heavy_check_mark: - {{end}} - {{if (eq .jsv5 "3")}} - :heavy_minus_sign: - {{end}} -
- - v1 - {{if (eq .gov1 "1") }} - :x: - {{end}} - {{if (eq .gov1 "0")}} - :heavy_check_mark: - {{end}} - {{if (eq .gov1 "3")}} - :heavy_minus_sign: - {{end}} -
- - v1 - {{if (eq .javav1 "1") }} - :x: - {{end}} - {{if (eq .javav1 "0")}} - :heavy_check_mark: - {{end}} - {{if (eq .javav1 "3")}} - :heavy_minus_sign: - {{end}} -
- - v1 - {{if (eq .cppv1 "1") }} - :x: - {{end}} - {{if (eq .cppv1 "0")}} - :heavy_check_mark: - {{end}} - {{if (eq .cppv1 "3")}} - :heavy_minus_sign: - {{end}} -
- - v1 - {{if (eq .csharpv1 "1") }} - :x: - {{end}} - {{if (eq .csharpv1 "0")}} - :heavy_check_mark: - {{end}} - {{if (eq .csharpv1 "3")}} - :heavy_minus_sign: - {{end}} -
diff --git a/.ci/comment_pr.sh b/.ci/comment_pr.sh deleted file mode 100755 index 98b03f753..000000000 --- a/.ci/comment_pr.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash -set -e - -cppv1=$(if [ -e .ci/failed/cpp-1 ]; then echo 1; elif [ -e .ci/success/cpp-1 ]; then echo 0; elif [ -e .ci/not_implemented/cpp-1 ]; then echo 3; fi;) -javav1=$(if [ -e .ci/failed/java-1 ]; then echo 1; elif [ -e .ci/success/java-1 ]; then echo 0; elif [ -e .ci/not_implemented/java-1 ]; then echo 3; fi;) -gov1=$(if [ -e .ci/failed/go-1 ]; then echo 1; elif [ -e .ci/success/go-1 ]; then echo 0; elif [ -e .ci/not_implemented/go-1 ]; then echo 3; fi;) -jsv6=$(if [ -e .ci/failed/js-6 ]; then echo 1; elif [ -e .ci/success/js-6 ]; then echo 0; elif [ -e .ci/not_implemented/js-6 ]; then echo 3; fi;) -jsv5=$(if [ -e .ci/failed/js-5 ]; then echo 1; elif [ -e .ci/success/js-5 ]; then echo 0; elif [ -e .ci/not_implemented/js-5 ]; then echo 3; fi;) -csharpv1=$(if [ -e .ci/failed/csharp-1 ]; then echo 1; elif [ -e .ci/success/csharp-1 ]; then echo 0; elif [ -e .ci/not_implemented/csharp-1 ]; then echo 3; fi;) - -echo '{"prId": "'"$TRAVIS_PULL_REQUEST"'", "cppv1": "'"$cppv1"'", "javav1": "'"$javav1"'", "gov1": "'"$gov1"'", "jsv6": "'"$jsv6"'", "jsv5": "'"$jsv5"'", "csharpv1": "'"$csharpv1"'"}' > .ci/data.json -docker run --rm -it -v "$(pwd)":/mnt alexandrebouthinon/kuttlefish kuttlefish \ - -template /mnt/.ci/comment.html \ - -data /mnt/.ci/data.json \ - -repo documentation \ - -owner kuzzleio \ - -token $GH_TOKEN\ - -id $TRAVIS_PULL_REQUEST diff --git a/.gitignore b/.gitignore index 32b66ea10..3438e8600 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,13 @@ /.idea -/.vscode -build/* -/node_modules +node_modules +dist +algolia-records.json +frontmatter-errors.json +frontmatter-fixes.json test/bin/* /reports/*.json /reports/failed/*.* -libs/ dead_links.json links_failed.json .links_checked.json +.vscode diff --git a/.travis.yml b/.travis.yml index 15c06c110..497d8752b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,68 +1,46 @@ -sudo: required +language: node_js +node_js: + - "10" services: - docker env: global: - - AWS_S3_BUCKET=docs.kuzzle.io - - TRAVIS_S3_BUCKET=travis-cache.kuzzle.io - - REPORT_S3=dl.kuzzle.io - - AWS_CLOUDFRONT_DISTRIBUTION_ID=E3D6RP0POLCJMM - - secure: e2j8CdD86voR0FKnDzo0BYIysfDjAdUW6FfO42VSaLPV97DjKdJd5dlhtDq+0U2/ae1iL3YpLlbVKr+wveS21hl15+jG+8miShnScGn3bhwe6P11uLCs9JL/WfoJ0vHueLy3XWHE8R51Mu2lD5aFJxQBRExQ06zS4rjev/ZFiipRlLFsYFeKgZ7I0WKo6Aqqt9wP7SFfuvr5jNLwgDIMvi9rWP+ZlbZIzm7of7QAzJfBK17VwszCatBlREWzXTGgxnVK09fJJdCZ9gTWwrayXxif+DVFCkCuKgG12glh1R3k5EBu7IkJsqCdTWYJ5AC2OBaMOvwpE3d340j0xvnDtmVUArDPJohQiBN6GTOo8R54AKbOE25U1YKSPqZ7pJplsvRjkpdlCnGVXmR+W/2HdWK6uSXyg/iYncb4DVVPnqk/WfQzKtha5ClZRXUUNUTaY+4wm8+2rqFnIa9IMKNgHnvPmLyf/J6K1ooPJHYB4HfvS/4cP0DXQTe3q9U06HeWGOiS32Jq86QRo2Zm7yUVmYu0fEU/jQIJtv3BGuzz8aeF5JGFcKOe11sETHjs7CKrK89hEtKkpmuw3V7FteWfxla8YNkhQBLqeY+z3Cq7k77DVXdupzQZwGeYBNjHECnS38PBQ35biZhZTEM0/uY9NITiQpbdga+njAK2SqHRtiw= - - secure: CEIMGeEcS+zpdiRXAripOJxwUg5rbmO8pe4u+zm5eteoLA6idQNUEi4o2F2pyWFNZy95B3BiM3ZSMStwdJwu3tZ4cjmX3XnU5GN26tw4wYsM2bW3iNH5xi1pxjtyFTwT9h6JL+mMxOBbPK8DmOPSWEWVMkAs+bw1GLOOMHQ3q29qXUwEDrb4+SS8mAXlWmQSFT+lQVGtRbvu38F6m24qSFQVL2mB/VKty3meByvkddaKShTrhsk867eR1pAvBBjtQHiyVCGaKHHspeOsWjfnnIr2I5CEWFlHSCOQgtY7obS5G0LmNcoApc/aAEYUWcSZ1TIoY0KtK+LyTkKNzB1oaqbVt0ZlrPJUt7fXSlBKyM/UbZ8NFCsIJ+Yi/dXUrD99cPONJK4sVBO9YLmZEpVWfGd1NJs6isULZJoqqbNb9XQ59uZpR9jo9ZyR7IUsHcshQAN8mH0EJLbRtiAN9m3bA89DkdEMWph9UmwBtKYC52JHne6ENClMAk7K/IgzB20iYd4B8M5a6k43DpDUaNf6gjkhL6RrR0ssiNJsI3QmdcYodf2mDlJuYnVmaHpb8dcUBC8ImcVjYKuDst32RXvkAYKvpCy67A2FDuZ1F2CE+hbA7fIaYsN5UkkcF6nYcNJMZ6PF76WQ+2j2UgLVGOvAl91lpoo1P07fzM4P5j9bnc0= - - secure: B3i1AZaCMPRTSqpv65WOpoe5syd/Tx1lXfnTsx2LPRj68FcmklHYVAsm5EmF9T3B94hWdudwHgeV/qN74DrCxo8zvV1EiU1WyPkiXmJ282ekuk9BQLCZQu8yokevU+0R7uE1SwrSRz/in5lAlKtiO8z7uJbzPOVHz9O86tHWVnwfzbPHaMPiYuFFy0bfeikai7cxlPCpKMEzUkQtdc9YOsUCa4kI72M1EHVjrkayzLYFtD1j+68ukr6wqAqdbsvGW1t866G5FbMw9+9jXvbomThZK+qBh2qNKrm4k9i6bSmCR/1Nm9yKf3QSke/RSIO79r2U2NBhn4mlDD9zVoUNC47s5idao8pQRaCmfozBOkcRiD4fohTNygV1Od8kgPR/X72eIedySLnVLWib0cQacpjFjdfjkjBoG132PhTgN5JiNCMcXPOywNN6y7k/uCTlM/tTyfJCKnBqFJq6Kz8UR+5N0PlVRY678MyEv1E27lgbmah708uVf7R1tPpO99gCM+jKfxr20pr3OcNDLYkETAoZts79+2wWz4KunGIKDom85ydLZOFvFYjTBLg9kKbTpdk92HF+NvPaXEJA4zfDjr97Xg+UJyYRh/IE/ivovLqefX46BEh01QkY1asyRYAXr6w3hTsVra+j4KzB6v9m771KxpR1m4unpnCH967R7Ik= - - secure: MZBvysi+t004I4ttd5Ke+9BTB/KKRiAEWc3ziIvUsEveJBSLIZtdbKlzgChDBvBs5PZmhAMd1rwjqnyrwFrhEzQAGBo7xHROk+hzIV5EivGkKleO/Zcmzfty2LcsoBqrE27cGg5xtZ+U4m5yBUNjBYcEOLh799QD0XQFQv62+nxQq3HJU+tEru6pPSVolF4qh0k2GtocakNLao50f4GhrgKEmoBRZktIwtOZ3AcJw+4RfYR5mXWsFbqGvW4aAPKKTa9rrw0+7y8un8lWzPxqjQzIsZ43/VcgzQRmJg4p/3GuRLCl8Xf3FsCg1Jp8xYlYqhCOplh4qXzVoddXpoAfI60rqSt7JKkusAsQOFxq+5NS/1P/udxTkqSyT7nDHE27lT0Qu3ckQkPx1OQkTo2SiizmLLCCdwA7ocfN7UNjpvib4izjNvkYMpLLglA0VfTWXld66L9BlzQyV1/N24NGmiV5rzlyN/OE1lnxu+n+01HweRmUrz42tbutVe2VcecJES9fxW85Pol5CaOHNhAwSO2Wh0NzKIhuWWSdpoEPGCawPT+qJ62BsIqNKDp3sNXE9TtozVVQIkb7PNSqzux0JFDbB4A4AT1iZzGoYOn4SnpOGNv98aLvmNHfu7kWkpreYxGQxl87Oof2AnzXjc5sb4fhkYeVS56XjafkAuZOrZQ= - # ALGOLIA PRIVATE KEY - - secure: 'GBlzbEAylEiZhWfyiSZalTd03PWhjuEGPISdyKTwzI5FDyLj4lOjscftICecOmkYm9v6Q8rFEeMXfd9LP35AGQCFYPkMyJlIPdywcSVPpG+WF0iS18fD0TQeuRKdhR9XQ0fAhIFmnXjusWjk04I61UVuXBIJefUcA75aqjeo6Op+uLYNTJ9OVWkdLcOgsyvnNn1qSnXCU76vC4GUFEYnlzM7E1SZbtrfzSMWnBTjOPsebZQXph365D8E3/wcyy0QxxW+VUAQBYqoh7Zvgl+cFKt7DS4dNZ+BKbr6+wl6A1z2KMHvssvu7pC+ruo/6LWwkhdCnOs+5VHgvc9Uq191OERAsaxIvPaMipP/kNyImPWnBypTVfFJJAkK72V4jVNn00RNsRnJHIJBl3RhfxLsebJwXvLfZ8qmKRjY+yIYiAp6W42DikQFtNA/ad80wAj9j5Pv5vZ/PO3YvgXrLVm2Ap+0DKFVkRh+VECSF6IsAGNsDgevPEsOhzv5Yu9Ewwnu4dwAmT/0Ibc8zAEKMUwrUV1LAKrepMmiBNngk4MjX8MUiH5fUQCTP1VyTlbheX12jfIg0MwsSyc0WYpHvVlN7uhyDqVpdzuU+dzA8eyNb6FTDiVDQCaaeZqIn3KBsTQw1SK3lG4r0z/Ft+nFck2X2rPbOAJoWTl1vZ5dZ+JADyE=' - -addons: - apt: - packages: - - python - - python-pip - -install: - - pip install awscli --upgrade --user + - NODE_ENV=production + - AWS_S3_BUCKET_PROD=docs.kuzzle.io + - AWS_S3_BUCKET_NEXT=docs-next.kuzzle.io + - AWS_CLOUDFRONT_DISTRIBUTION_ID_PROD=E3D6RP0POLCJMM + - AWS_CLOUDFRONT_DISTRIBUTION_ID_NEXT=E2ZCCEK9GRB49U + - AWS_DEFAULT_REGION=us-west-2 + # ALGOLIA_WRITE_KEY + - secure: mwbfknkwzXmtGObr9pclB9z930GSuLydJiac1/o/m53oNkL1YqUOFmCsfZ8XFmQCIpqWVWMnKmoXgTXvSOx551IBYakGDkil/O988pmX7/Z2r4n6ONvWbj1oCciCsH6zsZ4u28R0cZ6ELiZXdiSjz+bjRtbS70lOxVHZAp9HFPBXymIa6ala683l1uMejDfDFtCc0zi7Qi69TLxj+x7ggroUhWbzg5P2J0RfnpYy+KifMcbz1hmhqNTJpvGRmYBHf6GFgcOCc78z14Aay8IVQjdVMBA3AgnqhquS97PQis+gsHRpKn5rCSj4jncTz+Xa3xfz52tZ5ElsyZSi9Qio4k3GOK/SCocjS+gbr3qdVc1BOPBkhYmwkgYVFnzKx+T+87zqnZ809SdhQa1K3pXblMenjYVPGLxt242yPwNlQfdLAbmTaahmzWTfEgSzCoqjy6EcdwFHwUC/pqCBBfSlNKKfqLIfwgR/4b5j4o2F+GjKk64qnii3uVkGShuT15tB6vAvqbLrUr2/dWQC4ORXgyZqYxuGvQVmgJ8zVqQFcC16U+eVQQYqshfInwLVcU9RFrLj37ekiEgFkklV2dggVr3gVTEEPZPlkpMHn1kP/69VkMcEyP48DBHJ8Qi26EFaH7bviuXehnK9f9HzhqC3t/q8NLr/w07izHu9yzlS9V8= + # AWS_ACCESS_KEY_ID + - secure: "SjFK79g6LMKIllQ+mV/Rs8H/sO5yrnVxurxUJZgol+o5xuWWgCbFScvvQ2gz4yjRpg2Esl6LtbQNaXsdhReIyfl5PNkcxQ7Ij8PDGYvvWVo0vUNgRFulp725feeZqwE03edUP9OEDe70UWSD9UZyXdeCIaXOUgNLEl0tg3iOk/AOn76J5n57cnx8VOuHyIftCA2L0qQUb7smBC3eVEL3upHz8y4eePWO3wgIZLnYSAqI5XZaL4ZHeXQmkQsjL4KcC4X2zHnphe2Y/u9JLalGB1R7WKqGY9LbN6KiF6Lx1Lo+jJ844IIH1LQ4geGrqEhQvz93eNI6mE0DacmToGKwL8l0Wbz4GZsTtgVQ1SJ9g0/38u9QPBmqbd9bwSGE35G+wfJ1CUFpkxWbzwX/5QmWLEMl6ActlfjebqJ7UqRNGGyIi8I+vOMAsb2VHnWXnlmP4WBkUmbOO4UH01VTDRNz49k7iaeRlkW/oY+qtD/w4osb5+FCqUAvxifoOPc82FLOYb/0EOCFICt02c5wWJxRRIS4i2pPT2ABsdO1oRe1uS/zMI2n4ZMtpMUMnMNFpALBDwle16g7sLhzVgqWDS3HWodMlDUjtup9CXeeFuAS783qjtu53TGj4/tWXLZdp6Jv+5AE0cs0G0qzpuGiFh5Hh+bZf1VYRoix4wa05jek95Y=" + # AWS_SECRET_ACCESS_KEY + - secure: "K1Hf0b0hgRRkIbudmJZCz96ZeObzRJsC4hUZ7N1aolAKkqRcb1HeKkWwD6Ql/kp2shnQ+QQhPVDlvJSDORJ1D+vZlDiYn8fYSjgcXLC1yfkzXkbezLQGZdyTGjpRyyv2vRt1JHtvLIXLrAg4INWyR2mQR/vW8lMdJkVcXnGu+CIdvncnQfYD6axVqWmqCgElEtCOZ3RUxxm2CHSqy7Caf9hF217lxAHORW6QEtfu86WvRoiIX08W9BQpNKvbdafiu0myVTnZUkn+w0ZhTGaS+nTd7AmIbPw8wQsRbm7ex9BTR4PpZMQOE/Aqtm5T7kEbpMK+oXRKIv2Y40YKTDaC27NQl12fZ0ORR6Gttm9DqXXACW8G5F87FkYJUSC8vo8UJFJSJhAKtzsqJRY5rIAr/tSFGwtxhhE4XV2eFC25zaNJsRXhzTyDB+OF9O0EUS2YgEZVfr3cxmUIDimKOsKP918zbjvBtLrZ1KJEs/1yR05J423CZ64T0RzLJ7HATzLt7Wo/nlzij73UglntxZlXWkhmZUGkT/UeNvTE+aPbfam+BWI2Y5v3qrxvtZ9IyOhSIVAsxi+/siRjv256pJnFLgpoGX8hH6rRP0TC3ri+8Sv/xV9ZxiUgUHhOhkUB57Uv1zHEOLR23vMRU1o8y4oA16bckc2SJ3SWrFXKT4qujgI=" stages: - name: Build + - name: Lint - name: Tests - name: Deployment - if: type != pull_request AND branch = master + if: type != pull_request AND branch =~ ^master|3-dev$ jobs: include: - # ----------------------------------------------------------------------------- - # Build - # ----------------------------------------------------------------------------- - - stage: Build - name: 'Build documentation site' - - language: node_js - node_js: - - '8' - + - stage: Lint + name: Lint and check for dead links + language: ruby script: - - npm install - - npm run lint - - npm run build - - after_script: - - | - if [ -f "src/links_failed.json" ]; then - cat src/links_failed.json | jq - fi; + - gem install typhoeus + - ruby check_link.rb -p src/ - # ----------------------------------------------------------------------------- + # ------------------------------------------------------------------------- # Snippets tests - # ----------------------------------------------------------------------------- + # ------------------------------------------------------------------------- - stage: Tests - name: 'Kuzzle SDK JS - v5' - - language: node_js - node_js: - - '8' + name: Kuzzle SDK JS - v5 before_install: - docker pull kuzzleio/documentation:js @@ -72,21 +50,9 @@ jobs: - npm install - bash ./run-snippet-tests.sh -p src -s js -v 5 - after_script: - - | - if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then - mv reports/index.html reports/report.html && aws s3 cp reports/ s3://$REPORT_S3/reports/$TRAVIS_PULL_REQUEST/js/5/ --recursive --exclude "*.gitkeep" - cd .ci && aws s3 cp . s3://$TRAVIS_S3_BUCKET/documentation/$TRAVIS_BUILD_NUMBER --recursive --exclude "*.sh" --exclude "*.html" --exclude "*.yml" --exclude ".gitignore" && cd - - cd .ci && aws s3 sync s3://$TRAVIS_S3_BUCKET/documentation/$TRAVIS_BUILD_NUMBER . && cd - - bash ./.ci/comment_pr.sh - fi; - stage: Tests - name: 'Kuzzle SDK JS - v6' - - language: node_js - node_js: - - '8' + name: Kuzzle SDK JS - v6 before_install: - docker pull kuzzleio/documentation:js @@ -96,21 +62,9 @@ jobs: - npm install - bash ./run-snippet-tests.sh -p src -s js -v 6 - after_script: - - | - if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then - mv reports/index.html reports/report.html && aws s3 cp reports/ s3://$REPORT_S3/reports/$TRAVIS_PULL_REQUEST/js/6/ --recursive --exclude "*.gitkeep" - cd .ci && aws s3 cp . s3://$TRAVIS_S3_BUCKET/documentation/$TRAVIS_BUILD_NUMBER --recursive --exclude "*.sh" --exclude "*.html" --exclude "*.yml" --exclude ".gitignore" && cd - - cd .ci && aws s3 sync s3://$TRAVIS_S3_BUCKET/documentation/$TRAVIS_BUILD_NUMBER . && cd - - bash ./.ci/comment_pr.sh - fi; - stage: Tests - name: 'Kuzzle SDK Go - v1' - - language: node_js - node_js: - - '8' + name: Kuzzle SDK Go - v1 before_install: - docker pull kuzzleio/documentation:go @@ -120,107 +74,98 @@ jobs: - npm install - bash ./run-snippet-tests.sh -p src -s go -v 1 - after_script: - - | - if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then - mv reports/index.html reports/report.html && aws s3 cp reports/ s3://$REPORT_S3/reports/$TRAVIS_PULL_REQUEST/go/1/ --recursive --exclude "*.gitkeep" - cd .ci && aws s3 cp . s3://$TRAVIS_S3_BUCKET/documentation/$TRAVIS_BUILD_NUMBER --recursive --exclude "*.sh" --exclude "*.html" --exclude "*.yml" --exclude ".gitignore" && cd - - cd .ci && aws s3 sync s3://$TRAVIS_S3_BUCKET/documentation/$TRAVIS_BUILD_NUMBER . && cd - - bash ./.ci/comment_pr.sh - fi; - - stage: Tests - name: 'Kuzzle SDK Java - v1' + # - stage: Tests + # name: Kuzzle SDK Java - v1 - language: node_js - node_js: - - '8' + # before_install: + # - docker pull kuzzleio/documentation:java + # - sysctl -w vm.max_map_count=262144 - before_install: - - docker pull kuzzleio/documentation:java - - sysctl -w vm.max_map_count=262144 + # script: + # - npm install + # - bash ./run-snippet-tests.sh -p src -s java -v 1 - script: - - npm install - - bash ./run-snippet-tests.sh -p src -s java -v 1 - after_script: - - | - if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then - mv reports/index.html reports/report.html && aws s3 cp reports/ s3://$REPORT_S3/reports/$TRAVIS_PULL_REQUEST/java/1/ --recursive --exclude "*.gitkeep" - cd .ci && aws s3 cp . s3://$TRAVIS_S3_BUCKET/documentation/$TRAVIS_BUILD_NUMBER --recursive --exclude "*.sh" --exclude "*.html" --exclude "*.yml" --exclude ".gitignore" && cd - - cd .ci && aws s3 sync s3://$TRAVIS_S3_BUCKET/documentation/$TRAVIS_BUILD_NUMBER . && cd - - bash ./.ci/comment_pr.sh - fi; + # - stage: Tests + # name: Kuzzle SDK C++ - v1 - - stage: Tests - name: 'Kuzzle SDK C++ - v1' + # before_install: + # - docker pull kuzzleio/documentation:cpp + # - sysctl -w vm.max_map_count=262144 - language: node_js - node_js: - - '8' + # script: + # - npm install + # - bash ./run-snippet-tests.sh -p src -s cpp -v 1 + + + - stage: Tests + name: Kuzzle SDK C# - v1 before_install: - - docker pull kuzzleio/documentation:cpp + - docker pull kuzzleio/documentation:csharp - sysctl -w vm.max_map_count=262144 script: - npm install - - bash ./run-snippet-tests.sh -p src -s cpp -v 1 + - bash ./run-snippet-tests.sh -p src -s csharp -v 1 - after_script: - - | - if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then - mv reports/index.html reports/report.html && aws s3 cp reports/ s3://$REPORT_S3/reports/$TRAVIS_PULL_REQUEST/cpp/1/ --recursive --exclude "*.gitkeep" - cd .ci && aws s3 cp . s3://$TRAVIS_S3_BUCKET/documentation/$TRAVIS_BUILD_NUMBER --recursive --exclude "*.sh" --exclude "*.html" --exclude "*.yml" --exclude ".gitignore" && cd - - cd .ci && aws s3 sync s3://$TRAVIS_S3_BUCKET/documentation/$TRAVIS_BUILD_NUMBER . && cd - - bash ./.ci/comment_pr.sh - fi; + # ------------------------------------------------------------------------- + # Deployment - next + # ------------------------------------------------------------------------- + - stage: Deployment + name: Deploy to next-docs.kuzzle.io + if: branch = 3-dev - - stage: Tests - name: 'Kuzzle SDK C# - v1' + addons: + apt: + packages: + - python + - python-pip - language: node_js - node_js: - - '8' - - before_install: - - docker pull kuzzleio/documentation:csharp - - sysctl -w vm.max_map_count=262144 + install: + - pip install awscli --upgrade --user script: - npm install - - bash ./run-snippet-tests.sh -p src -s csharp -v 1 + - npm run build - after_script: - - | - if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then - mv reports/index.html reports/report.html && aws s3 cp reports/ s3://$REPORT_S3/reports/$TRAVIS_PULL_REQUEST/csharp/1/ --recursive --exclude "*.gitkeep" - cd .ci && aws s3 cp . s3://$TRAVIS_S3_BUCKET/documentation/$TRAVIS_BUILD_NUMBER --recursive --exclude "*.sh" --exclude "*.html" --exclude "*.yml" --exclude ".gitignore" && cd - - cd .ci && aws s3 sync s3://$TRAVIS_S3_BUCKET/documentation/$TRAVIS_BUILD_NUMBER . && cd - - bash ./.ci/comment_pr.sh - fi; - - # ----------------------------------------------------------------------------- - # Deployment - # ----------------------------------------------------------------------------- + deploy: + provider: script + script: aws s3 sync src/.vuepress/dist s3://$AWS_S3_BUCKET_NEXT --delete + skip_cleanup: true + on: + branch: 3-dev + + after_deploy: + - aws cloudfront create-invalidation --distribution-id $AWS_CLOUDFRONT_DISTRIBUTION_ID_NEXT --paths '/*' + + # ------------------------------------------------------------------------- + # Deployment - production + # ------------------------------------------------------------------------- - stage: Deployment - name: 'Deploy to docs.kuzzle.io' + name: Deploy to docs.kuzzle.io + if: branch = master - language: node_js - node_js: - - '8' + addons: + apt: + packages: + - python + - python-pip + + install: + - pip install awscli --upgrade --user script: - npm install - - node index.js --algolia-private-key $ALGOLIA_KEY + - npm run build deploy: provider: script - script: ~/.local/bin/aws s3 sync build s3://$AWS_S3_BUCKET --delete + script: aws s3 sync src/.vuepress/dist s3://$AWS_S3_BUCKET_PROD --delete skip_cleanup: true on: branch: master after_deploy: - - aws cloudfront create-invalidation --distribution-id $AWS_CLOUDFRONT_DISTRIBUTION_ID --paths "/*" + - aws cloudfront create-invalidation --distribution-id $AWS_CLOUDFRONT_DISTRIBUTION_ID_PROD --paths '/*' diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 000000000..b6653dcd4 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,29 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "launch", + "name": "Debug Frontmatter Fix Tool", + "program": "${workspaceFolder}/src/.vuepress/validate-frontmatter/fix.js", + "args": ["-e", "frontmatter-errors.json", "-d", "src", "-y"], + "cwd": "${workspaceFolder}" + }, + { + "type": "node", + "request": "launch", + "name": "Debug VuePress", + "runtimeExecutable": "npm", + "runtimeArgs": ["run-script", "debug"], + // "localRoot": "${workspaceFolder}/src/.vuepress/", + "env": { + "ALGOLIA_WRITE_KEY": "1" + }, + // "remoteRoot": "/", + "port": 9229 + } + ] +} diff --git a/README.md b/README.md index ba4a1890f..62396ae18 100644 --- a/README.md +++ b/README.md @@ -1,116 +1,171 @@ -# Documentation +# Kuzzle Documentation -## Usage +Our documentation is a statically generated website. The content is stored in a bunch of Markdown files built by [VuePress](https://vuepress.vuejs.org/). -> install dependencies +## Start a development server -`npm install` +```sh +npm run dev +``` + +## Generate a production build + +```sh +npm run build +``` -> index documentation content to algolia +## Index documentation content to Algolia -`node index.js --algolia-private-key ` +```sh +ALGOLIA_WRITE_KEY= npm run build +``` -> index documentation content to algolia matching version configured in config/versions.json +Algolia can be configured via the following environment variables -`node index.js --build-path /v/edge --algolia-private-key ` +* `ALGOLIA_APP_ID` - The Algolia application ID. +* `ALGOLIA_SEARCH_KEY` - The search key associated to the Algolia index. +* `ALGOLIA_INDEX` - The Algolia index associated to the documentation. +* `ALGOLIA_WRITE_KEY` - The write key associated to the Algolia index. -> build the documentation in production mode matching version configured in config/versions.json +--- -`node index.js --build-host http://docs.kuzzle.io --build-path /v/edge --build-compress` +## Content organization -> bind a webserver on 3000 with livereload and watch enabled +VuePress generates the documentation based on how the files are organized in the filesystem. For example, the URL of each page is direclty infered by its filesystem path relative to `src/`. Also, the left sidebar generation is based on the filesystem location of the files and their [frontmatter](https://v1.vuepress.vuejs.org/guide/frontmatter.html#front-matter) contents. -`npm run dev` +A page is defined by a directory (e.g. `src/core/1/api/controllers/admin/dump/`) containing an `index.md` file. This file must have a frontmatter with the following form: +``` --- +type: [root|branch|page] +code: [true|false] +title: +order: (optional) +description: <(optional) Text appearing under the section name in the section list> +nosidebar: (optional) +--- +``` -## File organization +:warning: **No other fields are allowed in the frontmatter** -Here is an overview of the files structure: +### `type` (required) -- `src/`: documentation entry point -- `src/
/` (for instance: `src/guide/`, entry point of the Guide documentation section) -- `src/
//` (for instance: `src/guide/1/essentials/`) -- `src/
//
.md` (for instance: `src/guide/1/essentials/installing-kuzzle.md`) +Defines how this page behaves in the generation of the sidebar. It is also used by other components (like Algolia indexation). Can be the following values: -For the SDKs: +* `root` - The page is the root of the generation of an entire sidebar (e.g. `src/code/1/api/`); +* `branch` - The page is a branch of the sidebar and generally has no content but has children (e.g. `src/code/1/api/api-reference`, `src/code/1/api/controllers/admin/`); +* `page` - The page is a "leaf" in the sidebar tree: it has no children and has content. It is indexed to Algolia. -- `src/sdk-reference////` +#### `code` (required) -Though there is no real limit to the directories depth, to keep the documentation homogeneous and readable, no additional subdirectories should be added. +A Boolean field defining whether the name of the page must be displayed in monospace typeface in the menu because it indicates the name of a function, a controller or a piece of code in general (e.g. `src/code/1/api/controllers/admin/`). -## Documentation pages +#### `title` (required) -Pages are listed as subdirectories in `src/`. -For instance: `src/guide/`. +A String field holding the text to display in the sidebar. -Each page directory must contain an `index.md` file, with the following headers: +#### `description` (optional) -``` ---- -layout: category-childrens.html -title: -order: <(optional, integer)> -description: <(optional) Text appearing under the section name in the section list> ---- -``` +A String field holding a detailed description of the page. Currently used nowhere (I guess). + +#### `order` (optional) + +An Integer field indicating how to sort this page in the sidebar. If absent, the page is sorted alphabetically based on the `title` field. -To add alert box just put in your markdown : +#### `nosidebar` (optional, default: true) -```html -
- lorem ipsum -
+A Boolean field indicating whether the left sidebar should be displayed for the page or not. + +### Frontmatter Linter + +The build toolchain runs a linter on the frontmatters. If some frontmatters are invalid, the linter makes the build fail and shows the errors to standard output and dumps them to `frontmatter-errors.js`. Some errors can be automatically fixed: at the end of its report, the linter shows the command to execute to launch the auto-fixer: + +```sh +$(npm bin)/frontmatter-fix -e frontmatter-errors.js ``` -supported classes are : `alert-infos`, `alert-success`, `alert-warning` +You can learn more about the linter by looking at its [official repository](https://github.com/xbill82/vuepress-frontmatter-lint). -## Adding code example +## Custom containers -It's possible to add code example (for each languages supported for SDKs) in markdown, before doing that, you have to create a directory `snippets` at the same level of the page you are editing. In this directory put all your code example files. +You can create alert/info boxes in your markdown with the following syntax: -EX: `createDocument.js` / `createDocument.go` / `...` +```markdown +::: info + lorem ipsum +::: +``` -Now in markdown just add `[snippet=createDocument]` where you want. When metalsmith will build, the snippet tag will be remplaced by the code in each code example files. +Supported containers are : `info`, `success`, `warning` -## Override markdown +## Code snippets -Because each languages supported for SDKs can have specifications, It's possible to override markdown. -Like snippet, create a subfolder `sections` and put markdown files in it. +You can [import code snippets from file](https://v1.vuepress.vuejs.org/guide/markdown.html#import-code-snippets), as supported by VuePress, with the following syntax in your Markdown: -EX: `createDocument_js.md` / `createDocument_go.md` / `createDocument_default.md` / `...` +```markdown +<<< @/filepath +``` -Please note that `_language` is important for build process in metalsmith. +We extended this feature by making it support relative paths. For example, if you have the following files: -Now you can add this tag in your markdown to allow metalsmith to override parts of markdown : `[section=createDocument]` +``` +- /core/1/guides/getting-started/first/steps/ + | + +- snippets/ + | | + | +- create.js + | + +- index.md +``` -## Configuration files +In your `index.md` file, you can import the `create.js` snippet by writing -### Metalsmith general configuration +``` +<<< ./snippets/create.js +``` +## Testing code snippets -Metalsmith itself is configured using the `config/metalsmith.json` file. +Because we want our documentation to be bullet-proof, we created a snippet testing tool. -By default all directories under `src/` are consumed by metalsmith. The `exclude` configuration allows to skip some directories. This is especially useful when preparing future major versions. +To locally test your snippets, first run a Kuzzle stack: -Example: preventing the JS SDK version 6 to be included in the documentation +```sh +bash .ci/start_kuzzle.sh +``` -```json -{ - "exclude": [ - "**/sdk-reference/js/6" - ] -} +Then you can run snippets for any language: + +```bash +# Execute all snippets under the repertory 'src/sdk/js/6' +bash run-snippet-tests.sh -n -s js -v 6 -p src/sdk/js/6 +# Execute all snippets for the controller index in SDK CPP 1 +bash run-snippet-tests.sh -n -s cpp -v 1 -p src/sdk/cpp/1/controllers/index ``` -### API versions description +If you want to avoid downloading the SDK each time you run a snippet, you can use the following variable: -See `config/versions.json` +```bash +export DEV_MODE=true +# The following command will download the cpp SDK only if it does not already exist +bash run-snippet-tests.sh -n -p src/sdk/cpp/1/controllers/index +``` -## Writing tests +### Writing tests -To test snippets, you have to create a YAML configuration file, named after the snippet file to be tested. +To make a snippet testable, simply create a YML file called `.test.yml` along with the snippet file, like the following: -Example: a YAML file named `create.test.yml` used to test the `create.js` snippet file: +``` +- /core/1/guides/getting-started/first/steps/ + | + +- snippets/ + | | + | +- create.js + | +- create.test.yml + | + +- index.md +``` + +The `create.test.yml` file of this example would look as follows: ```yaml name: Create document @@ -122,11 +177,17 @@ template: default expect: document created successfully ``` -Templates are located in `test/templates` and you have to put the `[snippet-code]` tag to automatically inject snippet in the template when tests are launched. +### Snippet templates + +Since code snippets often lack of support and cannot be executed as-is, we use templates to recreate the context of a snippet. + +Templates are located in `test/templates`. + +A template is a code file containing a special `[snippet-code]` tag that is parsed by the test runner: the runner replaces this tag with the actual code of the snippet. This way, the snipped is injected in its context and can be effectively tested. Example of a default template for the Javascript SDK: -```javascript +```js // load the Kuzzle SDK module const { Kuzzle } = require('kuzzle-sdk'); @@ -148,30 +209,6 @@ kuzzle You can add your own template, just respect the naming rule : `template_name.tpl.ext` -## Testing the snippets locally - -You can test the snippets locally by using the script `run-snippet-tests.sh`. -This script looks recursively for snippets to test, using the path provided as an argument. -You must at least have a sdk language and version in the provided path: `src/sdk-reference//[/path/to/snippets]` - -First, you have to run a Kuzzle stack with the following script: `bash .ci/start_kuzzle.sh` - -Then you can run snippets for any language: - -```bash -# Execute all snippets under the repertory 'src/sdk-reference/js/6' -bash run-snippet-tests.sh -n -s js -v 6 -p src/sdk-reference/js/6 -# Execute all snippets for the controller index in SDK CPP 1 -bash run-snippet-tests.sh -n -s cpp -v 1 -p src/sdk-reference/cpp/1/index -``` - -If you want to avoid downloading the SDK each time you run a snippet, you can use the following variable: - -```bash -export DEV_MODE=true -# The following command will download the cpp SDK only if it does not already exist -bash run-snippet-tests.sh -n -p src/sdk-reference/cpp/1/index -``` ## Scaffolding tool @@ -189,7 +226,7 @@ Example: ```bash # Create the files documenting the action 'list' of the controller 'document' for the SDK JS 6 -./scaffolding/scaffold generate src/sdk-reference/js/6/collection/list +./scaffolding/scaffold generate src/sdk/js/6/controllers/collection/list ``` ### Copy an existing action from another SDK @@ -200,5 +237,5 @@ This command extracts information from an existing action in another SDK and gen Example: ```bash # Copy information from SDK JS 6 to SDK CPP 1 -./scaffolding/scaffold copy src/sdk-reference/js/6/collection/list src/sdk-reference/cpp/1/collection/list +./scaffolding/scaffold copy src/sdk/js/6/controllers/collection/list src/sdk/cpp/1/controllers/collection/list ``` diff --git a/check_link.rb b/check_link.rb index 5fc2a8ff3..820aa6be3 100644 --- a/check_link.rb +++ b/check_link.rb @@ -2,9 +2,28 @@ require 'uri' require 'typhoeus' require 'optparse' +require 'set' class LinkChecker - INTERNAL_LINK_REGEXP = /\(\{\{\s*site_base_path\s*\}\}([^)>]+)/ + INTERNAL_LINK_REGEXPS = [ + /\[[:\.\w\s\-]+\]\((\/[\w\/\-\#]*)\)/, + // + ] + + IGNORED_EXTERNAL_LINKS = [ + 'http://kuzzle:7512', + 'http://localhost', + 'http://<', + 'http://elasticsearch', + 'http:head', + 'http:options', + 'http:post', + 'http:put', + 'http:get', + 'http:delete', + 'http:patch', + 'http://...' + ] attr_reader :internal, :external @@ -15,8 +34,8 @@ def initialize(options) @hydra = Typhoeus::Hydra.new(max_concurrency: 200) - @internal = {} - @external = {} + @internal = Set.new + @external = Set.new end def run @@ -36,57 +55,54 @@ def run def report_stdout puts "Found #{@internal.count} uniq internal dead links:\n" - @internal.each do |link, pages| - puts " - #{link} found on #{pages.count} pages:" - pages.each do |page| - puts " -> #{page}" - end - puts "" - end + puts @internal.to_a + puts puts "Found #{@external.count} uniq external dead links:\n" - @external.each do |link, pages| - puts " - #{link} found on #{pages.count} pages:" - pages.each do |page| - puts " -> #{page}" - end - end + puts @internal.to_a + puts end def report_json - File.write(@json_file, JSON.pretty_generate({ external: @external, internal: @internal })) + File.write(@json_file, JSON.pretty_generate({ external: @external.to_a, internal: @internal.to_a })) + end + + def exit_code + return 1 if @internal.count > 0 || @external.count > 0 + return 0 end private def scan_internal_links(file_path, content) - match = content.scan(INTERNAL_LINK_REGEXP) - match.each do |(relative_path)| - # Remove anchor - relative_path.gsub!(/#[\w-]+/, '') - - if relative_path.end_with?('.png') - full_path = "src/#{relative_path}" - else - full_path = "src/#{relative_path}/index.md" - end + INTERNAL_LINK_REGEXPS.each do |regexp| + match = content.scan(regexp) + match.each do |(relative_path)| + # Remove anchor + relative_path.gsub!(/#[\w-]+/, '') + + if relative_path.end_with?('/') + full_path = "src/#{relative_path}/index.md" + else + full_path = "src/#{relative_path}" + end - # Remove double // - full_path.gsub!(/\/\//, '/') + # Remove double // + full_path.gsub!(/\/\//, '/') - next if File.exists?(full_path) + next if File.exists?(full_path) - @internal[full_path] ||= [] - @internal[full_path] << file_path.gsub(/\/\//, '/') + @internal << full_path + end end end def scan_external_links(file_path, content) external_links = URI.extract(content, ['http', 'https']) - external_links.keep_if do |external_link| - !external_link.start_with?('http://kuzzle') && - !external_link.start_with?('http://localhost') && - !external_link.start_with?('http://<') + + external_links.delete_if do |external_link| + external_link.start_with?(*IGNORED_EXTERNAL_LINKS) || + external_link == 'http://' end.each do |external_link| # Remove markdown parenthesis and other garbage external_link.gsub!(/[\)][\.:,]*/, '') @@ -95,8 +111,7 @@ def scan_external_links(file_path, content) request.on_complete do |response| if response.code != 200 - @external[external_link] ||= [] - @external[external_link] << file_path.gsub(/\/\//, '/') + @external << external_link end end @@ -136,3 +151,5 @@ def each_dir(start, &block) link_checker.report_stdout link_checker.report_json + +exit link_checker.exit_code \ No newline at end of file diff --git a/check_redirections.rb b/check_redirections.rb new file mode 100644 index 000000000..3d0e2a13f --- /dev/null +++ b/check_redirections.rb @@ -0,0 +1,42 @@ +require 'yaml' +require 'json' + +def each_dir(start, &block) + directories = Dir["#{start}/*"] + + directories.each do |path| + if File.file?(path) + block.call(path) + else + each_dir(path, &block) + end + end +end + +redirections = YAML.load_file('./redirections.yml') + +v2_redir = [] +v2_pages = [] + +redirections['redirections'].each do |redirection| + each_dir("../documentation-v2/src/#{redirection['from']}") do |file| + v2_redir << file.gsub('../documentation-v2/', '') + end +end + +each_dir("../documentation-v2/src/") do |file| + next unless file.end_with?('.md') + v2_pages << file.gsub('../documentation-v2/', '').gsub(/\/\//, '/') +end + +v2_redir.uniq! +v2_pages.uniq! +missing_redirections = v2_pages - v2_redir + +puts "#{v2_redir.count} redirection from v2 to v3" +puts "#{v2_pages.count} pages for v2" +puts "#{missing_redirections.count} missing redirections" + +if missing_redirections.any? + File.write('./missing-redirections.json', JSON.pretty_generate(missing_redirections)) +end \ No newline at end of file diff --git a/config/metalsmith.json b/config/metalsmith.json deleted file mode 100644 index 1aecbe779..000000000 --- a/config/metalsmith.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "dev": { - "enabled": false, - "port": 8080, - "openBrowser": false, - "watch": false - }, - "build": { - "compress": false, - "checkLinks": false, - "host": "", - "path": "/" - }, - "algolia": { - "projectId": "VF5HP4ZVDU", - "index": "doc-v2", - "publicKey": "de63216cd8d0116b2755916b9a38ae35", - "privateKey": null, - "fnFileParser": null - }, - "github": { - "repository": "", - "branch": "" - }, - "exclude": [ - "guide/2", - "api/2" - ] -} diff --git a/config/sdk.json b/config/sdk.json deleted file mode 100644 index f2928829a..000000000 --- a/config/sdk.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "sdk":[ - {"language": "js", "name": "Javascript 6.x", "version": "6", "icon": "/assets/images/logos/js.svg"}, - {"language": "js", "name": "Javascript 5.x", "version": "5", "icon": "/assets/images/logos/js.svg"}, - {"language": "cpp", "name": "C++ 1.x", "version": "1", "icon": "/assets/images/logos/cpp.svg"}, - {"language": "go", "name": "Golang 1.x", "version": "1", "icon": "/assets/images/logos/go.svg"}, - {"language": "java", "name": "Java 1.x", "version": "1", "icon": "/assets/images/logos/java.svg"}, - {"language": "android", "name": "Android 3.x", "version": "3", "icon": "/assets/images/logos/android.svg"}, - {"language": "php", "name": "PHP 3.x", "version": "3", "icon": "/assets/images/logos/php.svg"} - ] -} \ No newline at end of file diff --git a/config/webpack.js b/config/webpack.js deleted file mode 100644 index 9d6754ad0..000000000 --- a/config/webpack.js +++ /dev/null @@ -1,66 +0,0 @@ -const - webpack = require('webpack'), - UglifyJsPlugin = require('uglifyjs-webpack-plugin'), - path = require('path'), - VueLoaderPlugin = require('vue-loader/lib/plugin'); - -module.exports = (opts) => { - const plugins = [ - new webpack.ProvidePlugin({ - $: 'jquery', - jQuery: 'jquery', - algoliasearch: 'algoliasearch', - }), - new VueLoaderPlugin() - ]; - - if (! opts.dev.enabled) { - plugins.push(new UglifyJsPlugin({sourceMap: true})); - } - - return { - plugins, - context: path.resolve(__dirname, '../src/assets/js/'), - entry: './main.js', - output: { - path: path.resolve(__dirname, '../build/assets/js'), - filename: 'bundle.min.js' - }, - module: { - loaders: [ - { - test: /\.js$/, - exclude: [/app.js$/, /prism.js$/, /node_modules/], - loader: 'babel-loader', - query: { - presets: ['@babel/preset-env'] - } - }, - ], - rules: [ - { - test: /\.vue$/, - loader: 'vue-loader' - }, - { - test: /\.js$/, - loader: 'babel-loader' - }, - { - test: /\.sass$/, - use: [ - 'vue-style-loader', - 'css-loader', - { - loader: 'sass-loader', - options: { - indentedSyntax: true - } - } - ] - } - ] - }, - devtool: 'source-map' - }; -}; diff --git a/docker/js b/docker/js index b063ab832..c62779d3c 100644 --- a/docker/js +++ b/docker/js @@ -11,7 +11,7 @@ RUN mkdir /nodejs && curl http://nodejs.org/dist/v8.9.0/node-v8.9.0-linux-x64.ta ENV PATH $PATH:/nodejs/bin RUN npm i -g eslint eslint-plugin-import@latest eslint-plugin-node@latest eslint-plugin-promise@latest eslint-plugin-standard@latest -RUN npm i -g puppeteer mqtt webpack@4.29.5 webpack-cli@3.2.3 html-webpack-plugin@3.2.0 --unsafe-perm=true +RUN npm i -g puppeteer webpack@4.29.5 webpack-cli@3.2.3 html-webpack-plugin@3.2.0 --unsafe-perm=true WORKDIR /app diff --git a/helpers/algolia.js b/helpers/algolia.js deleted file mode 100644 index e88587709..000000000 --- a/helpers/algolia.js +++ /dev/null @@ -1,46 +0,0 @@ -const cheerio = require('cheerio'); - -const algoliaHelpers = { - - fileParser : (file, data) => { - const - objects = [], - $ = cheerio.load(data.contents.toString(), { - normalizeWhitespace: true - }), - content = $('.md-content'); - - // remove useless content - $('pre', content).remove(); - $('h1, h2, h3, h4, h5, h6', content).remove(); - - objects.push({ - objectID: data.path, - title: data.title, - description: data.description ? data.description : '', - path: data.path, - tags: algoliaHelpers.extractTags(data.path), - content: content.text(), - parent: (data.ancestry.parent ? data.ancestry.parent.title : ''), - firstMember: (data.ancestry.firstMember ? data.ancestry.firstMember.title : ''), - toc: data.toc - }); - - return objects; - }, - - extractTags : (path) => { - const - start = 0, - end = 4; - - return path.split('/').slice(start, end).map(tag => { - if (tag === 'sdk-reference') { return 'sdk'; } - if (/^[0-9]+$/.test(tag)) { return `${tag}.x`; } - return tag; - }); - } - -}; - -module.exports = algoliaHelpers; \ No newline at end of file diff --git a/helpers/ancestryHelpers.js b/helpers/ancestryHelpers.js deleted file mode 100644 index b7c6e5b8b..000000000 --- a/helpers/ancestryHelpers.js +++ /dev/null @@ -1,12 +0,0 @@ -const ancestryHelpers = { - - getLastChildren : (file) => { - if (file.ancestry.firstChild) { - return ancestryHelpers.getLastChildren(file.ancestry.firstChild); - } - return file; - } - -}; - -module.exports = ancestryHelpers; \ No newline at end of file diff --git a/helpers/handlebars.js b/helpers/handlebars.js deleted file mode 100644 index 8d999067c..000000000 --- a/helpers/handlebars.js +++ /dev/null @@ -1,72 +0,0 @@ -const - minimatch = require('minimatch'), - { SafeString } = require('handlebars'); - -module.exports = { - not: v => !v, - - eq: (v1, v2) => v1 === v2, - - ne: (v1, v2) => v1 !== v2, - - lt: (v1, v2) => v1 < v2, - - gt: (v1, v2) => v1 > v2, - - lte: (v1, v2) => v1 <= v2, - - gte: (v1, v2) => v1 >= v2, - - and: (v1, v2) => v1 && v2, - - or: (v1, v2) => v1 || v2, - - startwith: (str, substr) => { - if (!str) { - return false; - } - return str.startsWith(substr); - }, - - mstartwith: (str, ...args) => { - if (!str) { - return false; - } - - return args.some(arg => str.startsWith(arg)); - }, - - endswith: (str, substr) => { - return str.endsWith(substr); - }, - - firstDefinedOf: (...args) => { - return args.find(a => a); - }, - - currentYear: () => { - return new Date().getFullYear(); - }, - - dateToISO: (d) => { - if (d instanceof Date) { - return d.toISOString(); - } - return d; - }, - - displayTitle: (data, options) => { - let title = data.title; - const config = options.data.root; - - if (config.is_dev && config.exclude.some(e => minimatch(data.src, `**/${e}/**`))) { - title = `
(!) ${title}
`; - } - - return new SafeString(title); - }, - - since: version => `

Added in ${version}

`, - - deprecated: version => `

Deprecated since ${version}

` -}; diff --git a/helpers/manageArgs.js b/helpers/manageArgs.js deleted file mode 100644 index 12edc4f74..000000000 --- a/helpers/manageArgs.js +++ /dev/null @@ -1,38 +0,0 @@ -const manageArgs = (args, options) => { - - if (args.dev) { - options.dev.enabled = true; - } - - if (args.openBrowser) { - options.dev.openBrowser = true; - } - - if (args.port) { - options.dev.port = args.port; - } - - if (args.watch) { - options.dev.watch = true; - } - - if (args.buildCompress) { - options.build.compress = true; - } - - if (args.buildPath) { - options.build.path = args.buildPath; - } - - if (args.buildHost) { - options.build.host = args.buildHost; - } - - if (args.algoliaPrivateKey) { - options.algolia.privateKey = args.algoliaPrivateKey; - } - - return options; -}; - -module.exports = manageArgs; diff --git a/index.js b/index.js deleted file mode 100644 index 9e3e208a9..000000000 --- a/index.js +++ /dev/null @@ -1,321 +0,0 @@ -const _metalsmith = require('metalsmith'); -const handlebars = require('handlebars'); - -const ymlRead = require('read-yaml'); -const path = require('path'); -const markdown = require('metalsmith-markdown'); -const marked = require('marked'); -const layouts = require('metalsmith-layouts'); -const permalinks = require('metalsmith-permalinks'); -const livereload = require('metalsmith-livereload'); -const ancestry = require('metalsmith-ancestry'); -const links = require('metalsmith-relative-links'); -const hbtmd = require('metalsmith-hbt-md'); -const sass = require('metalsmith-sass'); -const hljs = require('metalsmith-metallic'); -const inlineSVG = require('metalsmith-inline-svg'); -const compress = require('metalsmith-gzip'); -const optipng = require('metalsmith-optipng'); -const sitemap = require('metalsmith-sitemap'); -const htmlMin = require('metalsmith-html-minifier'); -const algolia = require('metalsmith-algolia'); -const metalsmithRedirect = require('metalsmith-redirect'); -const concat = require('metalsmith-concat'); -const serve = require('metalsmith-serve'); -const watch = require('metalsmith-watch'); -const color = require('colors/safe'); -const discoverPartials = require('metalsmith-discover-partials'); -const deepclone = require('fast-deepclone'); -const metalsmithWebpack = require('metalsmith-webpack2'); - -// custom plugins -const snippetManager = require('./plugins/snippetManager'); -const include = require('./plugins/include'); -const saveSrc = require('./plugins/save-src'); -const anchors = require('./plugins/anchors'); -let filesSave = null; -const linkcheck = require('metalsmith-linkcheck'); - -// configuration -const msDefaultOpts = require('./config/metalsmith'); -const webpackConfig = require('./config/webpack'); -const sdkVersions = require('./config/sdk').sdk; - -// arguments -const argv = require('yargs').argv; -const manageArgs = require('./helpers/manageArgs'); - -// Helpers -const algoliaHelpers = require('./helpers/algolia'); -const ancestryHelpers = require('./helpers/ancestryHelpers'); - -// We override the default Markdown table renderer because -// we want tables to be wrapped into divs (for responsivity reasons). -const newMDRenderer = new marked.Renderer(); -const tableRenderer = new marked.Renderer().table; - -newMDRenderer.table = (header, body) => { - return `
${tableRenderer(header, body)}
`; -}; - -const ok = color.green('✔'); -const nok = color.red('✗'); -const options = manageArgs(argv, msDefaultOpts); -const ignored = [ - '**/**/sections/*', - '**/**/snippets/*', - '**/**/page.js.md', - '**/**/page.go.md', - '**/**/page.cpp.md', - '**/**/page.java.md', - '**/templates/*', - // with webpack, it is no longer necessary to copy js files in build folder - '**/**/assets/js/*' -]; - -if (!options.dev.enabled) { - ignored.push(...options.exclude.map(e => `**/${e}/**`)); -} - -function log(args) { - console.log(color.magenta('[kuzzle-docs]'), args); -} - -const redirectList = { - //Now redirections for menus are set automatically - //If you need others, add it here -}; - -options.algolia.fnFileParser = algoliaHelpers.fileParser; - -handlebars.registerHelper(require('./helpers/handlebars.js')); - -// Build site with metalsmith. -const metalsmith = _metalsmith(__dirname) - .metadata({ - site_title: 'Kuzzle documentation', - site_url: options.build.host, - site_base_path: options.build.path, - gh_repo: process.env.TRAVIS_REPO_SLUG || 'kuzzleio/documentation', - gh_branch: process.env.TRAVIS_BRANCH || 'master', - algolia_projectId: options.algolia.projectId, - algolia_publicKey: options.algolia.publicKey, - algolia_index: options.algolia.index, - is_dev: options.dev.enabled, - sdkVersions: JSON.stringify(sdkVersions), - exclude: options.exclude, - currentYearCopyright: new Date().getFullYear() - }) - .source('./src') - .destination('./build' + options.build.path) // does not work with 'dist' folder ... - .clean(true) - .ignore(ignored) - .use(saveSrc()) - .use((files, ms, done) => { - setImmediate(done); - for (const name of Object.keys(files)) { - if (name.endsWith('.md') && files[name].order === undefined) { - files[name].order = Number.MAX_SAFE_INTEGER; - } - } - }); - -metalsmith - .use(links()) - .use( - ancestry({ - match: '**/*.md', - sortBy: ['order', 'title'] - }) - ) - // restore ancestry on partial rebuilds - .use((files, ms, done) => { - setImmediate(done); - - // in case of a 1st build: save and return - if (filesSave === null) { - filesSave = deepclone(files, true); - return; - } - - for (const file of Object.keys(files)) { - if (filesSave[file] && filesSave[file].ancestry) { - files[file].ancestry = filesSave[file].ancestry; - } - } - }); - -if (options.dev.enabled) { - console.log('= generating map sass files ='); - - metalsmith.use( - sass({ - sourceMap: true, - sourceMapContents: true - }) - ); -} else { - metalsmith.use( - sass({ - sourceMap: false, - sourceMapContents: false - }) - ); -} - -metalsmith - .use(hljs()) - .use( - hbtmd(handlebars, { - pattern: '**/*.md' - }) - ) - .use( - markdown({ - renderer: newMDRenderer - }) - ) - .use(include()) - .use((files, ms, done) => { - for (const file of Object.keys(files)) { - if (file.endsWith('index.html')) { - // Code Examples - const codeExampleData = snippetManager.process(file, files[file]); - files[file].contents = codeExampleData.fileContent; - files[file].has_code_example = codeExampleData.has_code_example; - - // Anchors - const anchorsData = anchors.process(file, files[file]); - files[file].contents = anchorsData.fileContent; - files[file].anchors = anchorsData.anchors; - } - } - setImmediate(done); - }) - .use(metalsmithWebpack(webpackConfig(options))) - .use(permalinks({ relative: false })); - -metalsmith - .use((files, ms, done) => { - // automatically add redirection to the last children if the current file - // isn't the last children (Leaf of the arborescence) - for (const file of Object.values(files)) { - if (file.ancestry && !file.noredirect) { - const lastChildren = ancestryHelpers.getLastChildren(file); - if (lastChildren.path !== file.path) { - const href = `/${file.path}`, - redirect = `/${lastChildren.path}`; - - redirectList[href] = redirect; - } - } - } - setImmediate(done); - }) - .use(metalsmithRedirect(redirectList)) - .use( - discoverPartials({ - directory: 'src/templates/partials', - pattern: /\.html$/ - }) - ) - .use( - layouts({ - directory: 'src/templates' - }) - ); - -if (options.algolia.privateKey) { - log('Algolia indexing enabled'); - metalsmith - // Add algolia metas automatically only on - // the last children of the tree structure (Leaf of the arborescence) - .use((files, ms, done) => { - for (const file of Object.values(files)) { - if (file.ancestry) { - // only content pages (.md) have ancestry object - const lastChildren = ancestryHelpers.getLastChildren(file); - if (lastChildren.path === file.path) { - file.algolia = true; - } - } - } - setImmediate(done); - }) - .use( - algolia({ - clearIndex: true, - projectId: options.algolia.projectId, - privateKey: options.algolia.privateKey, - index: options.algolia.index, - fileParser: options.algolia.fnFileParser - }) - ); -} - -if (options.build.compress) { - log('Compression enabled (build may take a while)'); - - metalsmith - .use(inlineSVG()) - .use( - optipng({ - pattern: '**/*.png', - options: ['-o7'] - }) - ) - .use(htmlMin()) - .use(compress()) - .use( - sitemap({ - hostname: options.build.host, - modifiedProperty: 'stats.mtime', - omitIndex: true - }) - ); -} - -if (options.dev.enabled) { - log(`Building site in '${options.build.path}' and serve it`); - metalsmith - .use( - serve({ - port: parseInt(process.env.PORT) || 3000, - verbose: false, - host: 'localhost' - }) - ) - .use( - watch({ - paths: { - '${source}/assets/**/*': '**/*', - '${source}/**/*.md': ['assets/**/*', '${self}'], - '${source}/templates/**/*': '**/*', - 'helpers/**/*': '**/*', - '${source}/**/sections/*': '**/*', - '${source}/**/snippets/*': ['assets/**/*', '${dirname}/../*'] - }, - livereload: true - }) - ) - .build((error, files) => { - if (error) { - log(nok + color.yellow(' Ooops...')); - console.error(error); - process.exit(1); - } - log(ok + ' Build finished'); - }); -} - -if (!options.dev.enabled) { - log(`Building site in '${options.build.path}'`); - metalsmith.use(linkcheck()).build((error, files) => { - if (error) { - log(nok + color.yellow(' Ooops...')); - console.error(error); - process.exit(1); - } - log(ok + ' Build finished'); - }); -} diff --git a/package-lock.json b/package-lock.json index 247073032..f8c9b4647 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { - "name": "kuzzleio-documentation", - "version": "2.1.1", + "name": "vuepress-poc", + "version": "1.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -13,17 +13,17 @@ } }, "@babel/core": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.4.0.tgz", - "integrity": "sha512-Dzl7U0/T69DFOTwqz/FJdnOSWS57NpjNfCwMKHABr589Lg8uX1RrlBIJ7L5Dubt/xkLsx0xH5EBFzlBVes1ayA==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.4.5.tgz", + "integrity": "sha512-OvjIh6aqXtlsA8ujtGKfC7LYWksYSX8yQcM8Ay3LuvVeQ63lcOKgoZWVqcpFwkd29aYU9rVx7jxhfhiEDV9MZA==", "requires": { "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.4.0", - "@babel/helpers": "^7.4.0", - "@babel/parser": "^7.4.0", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.0", - "@babel/types": "^7.4.0", + "@babel/generator": "^7.4.4", + "@babel/helpers": "^7.4.4", + "@babel/parser": "^7.4.5", + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.4.5", + "@babel/types": "^7.4.4", "convert-source-map": "^1.1.0", "debug": "^4.1.0", "json5": "^2.1.0", @@ -31,18 +31,42 @@ "resolve": "^1.3.2", "semver": "^5.4.1", "source-map": "^0.5.0" + }, + "dependencies": { + "@babel/types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/generator": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.0.tgz", - "integrity": "sha512-/v5I+a1jhGSKLgZDcmAUZ4K/VePi43eRkUs3yePW1HB1iANOD5tqJXwGSG4BZhSksP8J9ejSlwGeTiiOFZOrXQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.4.tgz", + "integrity": "sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==", "requires": { - "@babel/types": "^7.4.0", + "@babel/types": "^7.4.4", "jsesc": "^2.5.1", "lodash": "^4.17.11", "source-map": "^0.5.0", "trim-right": "^1.0.1" + }, + "dependencies": { + "@babel/types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-annotate-as-pure": { @@ -62,24 +86,70 @@ "@babel/types": "^7.0.0" } }, + "@babel/helper-builder-react-jsx": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz", + "integrity": "sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==", + "requires": { + "@babel/types": "^7.3.0", + "esutils": "^2.0.0" + } + }, "@babel/helper-call-delegate": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.0.tgz", - "integrity": "sha512-SdqDfbVdNQCBp3WhK2mNdDvHd3BD6qbmIc43CAyjnsfCmgHMeqgDcM3BzY2lchi7HBJGJ2CVdynLWbezaE4mmQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz", + "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==", + "requires": { + "@babel/helper-hoist-variables": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.4.4.tgz", + "integrity": "sha512-UbBHIa2qeAGgyiNR9RszVF7bUHEdgS4JAUNT8SiqrAN6YJVxlOxeLr5pBzb5kan302dejJ9nla4RyKcR1XT6XA==", "requires": { - "@babel/helper-hoist-variables": "^7.4.0", - "@babel/traverse": "^7.4.0", - "@babel/types": "^7.4.0" + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-member-expression-to-functions": "^7.0.0", + "@babel/helper-optimise-call-expression": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/helper-replace-supers": "^7.4.4", + "@babel/helper-split-export-declaration": "^7.4.4" } }, "@babel/helper-define-map": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.4.0.tgz", - "integrity": "sha512-wAhQ9HdnLIywERVcSvX40CEJwKdAa1ID4neI9NXQPDOHwwA+57DqwLiPEVy2AIyWzAk0CQ8qx4awO0VUURwLtA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.4.4.tgz", + "integrity": "sha512-IX3Ln8gLhZpSuqHJSnTNBWGDE9kdkTEWl21A/K7PQ00tseBwbqCHTvNLHSBd9M0R5rER4h5Rsvj9vw0R5SieBg==", "requires": { "@babel/helper-function-name": "^7.1.0", - "@babel/types": "^7.4.0", + "@babel/types": "^7.4.4", "lodash": "^4.17.11" + }, + "dependencies": { + "@babel/types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-explode-assignable-expression": { @@ -110,11 +180,23 @@ } }, "@babel/helper-hoist-variables": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.0.tgz", - "integrity": "sha512-/NErCuoe/et17IlAQFKWM24qtyYYie7sFIrW/tIQXpck6vAu2hhtYYsKLBWQV+BQZMbcIYPU/QMYuTufrY4aQw==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz", + "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==", "requires": { - "@babel/types": "^7.4.0" + "@babel/types": "^7.4.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-member-expression-to-functions": { @@ -134,16 +216,28 @@ } }, "@babel/helper-module-transforms": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz", - "integrity": "sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.4.4.tgz", + "integrity": "sha512-3Z1yp8TVQf+B4ynN7WoHPKS8EkdTbgAEy0nU0rs/1Kw4pDgmvYH3rz3aI11KgxKCba2cn7N+tqzV1mY2HMN96w==", "requires": { "@babel/helper-module-imports": "^7.0.0", "@babel/helper-simple-access": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/template": "^7.2.2", - "@babel/types": "^7.2.2", - "lodash": "^4.17.10" + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/types": "^7.4.4", + "lodash": "^4.17.11" + }, + "dependencies": { + "@babel/types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-optimise-call-expression": { @@ -160,11 +254,11 @@ "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==" }, "@babel/helper-regex": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz", - "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.4.4.tgz", + "integrity": "sha512-Y5nuB/kESmR3tKjU8Nkn1wMGEx1tjJX076HBMeL3XLQCu6vA/YRzuTW0bbb+qRnXvQGn+d6Rx953yffl8vEy7Q==", "requires": { - "lodash": "^4.17.10" + "lodash": "^4.17.11" } }, "@babel/helper-remap-async-to-generator": { @@ -180,14 +274,26 @@ } }, "@babel/helper-replace-supers": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.4.0.tgz", - "integrity": "sha512-PVwCVnWWAgnal+kJ+ZSAphzyl58XrFeSKSAJRiqg5QToTsjL+Xu1f9+RJ+d+Q0aPhPfBGaYfkox66k86thxNSg==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.4.4.tgz", + "integrity": "sha512-04xGEnd+s01nY1l15EuMS1rfKktNF+1CkKmHoErDppjAAZL+IUBZpzT748x262HF7fibaQPhbvWUl5HeSt1EXg==", "requires": { "@babel/helper-member-expression-to-functions": "^7.0.0", "@babel/helper-optimise-call-expression": "^7.0.0", - "@babel/traverse": "^7.4.0", - "@babel/types": "^7.4.0" + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-simple-access": { @@ -200,11 +306,23 @@ } }, "@babel/helper-split-export-declaration": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.0.tgz", - "integrity": "sha512-7Cuc6JZiYShaZnybDmfwhY4UYHzI6rlqhWjaIqbsJGsIqPimEYy5uh3akSRLMg65LSdSEnJ8a8/bWQN6u2oMGw==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", "requires": { - "@babel/types": "^7.4.0" + "@babel/types": "^7.4.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-wrap-function": { @@ -219,13 +337,25 @@ } }, "@babel/helpers": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.4.2.tgz", - "integrity": "sha512-gQR1eQeroDzFBikhrCccm5Gs2xBjZ57DNjGbqTaHo911IpmSxflOQWMAHPw/TXk8L3isv7s9lYzUkexOeTQUYg==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.4.4.tgz", + "integrity": "sha512-igczbR/0SeuPR8RFfC7tGrbdTbFL3QTvH6D+Z6zNxnTe//GyqmtHmDkzrqDmyZ3eSwPqB/LhyKoU5DXsp+Vp2A==", "requires": { - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.0", - "@babel/types": "^7.4.0" + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/highlight": { @@ -239,9 +369,9 @@ } }, "@babel/parser": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.2.tgz", - "integrity": "sha512-9fJTDipQFvlfSVdD/JBtkiY0br9BtfvW2R8wo6CX/Ej2eMuV0gWPk1M67Mt3eggQvBqYW1FCEk8BN7WvGm/g5g==" + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.5.tgz", + "integrity": "sha512-9mUqkL1FF5T7f0WDFfAoDdiMVPWsdD1gZYzSnaXsxUCUqzuch/8of9G3VUSNiZmMBoRxT3neyVsqeiL/ZPcjew==" }, "@babel/plugin-proposal-async-generator-functions": { "version": "7.2.0", @@ -253,6 +383,25 @@ "@babel/plugin-syntax-async-generators": "^7.2.0" } }, + "@babel/plugin-proposal-class-properties": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.4.4.tgz", + "integrity": "sha512-WjKTI8g8d5w1Bc9zgwSz2nfrsNQsXcCf9J9cdCvrJV6RF56yztwm4TmJC0MgJ9tvwO9gUA/mcYe89bLdGfiXFg==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz", + "integrity": "sha512-z7MpQz3XC/iQJWXH9y+MaWcLPNSMY9RQSthrLzak8R8hCj0fuyNk+Dzi9kfNe/JxxlWQ2g7wkABbgWjW36MTcw==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.4.4", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-decorators": "^7.2.0" + } + }, "@babel/plugin-proposal-json-strings": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz", @@ -263,9 +412,9 @@ } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.0.tgz", - "integrity": "sha512-uTNi8pPYyUH2eWHyYWWSYJKwKg34hhgl4/dbejEjL+64OhbHjTX7wEVWMQl82tEmdDsGeu77+s8HHLS627h6OQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.4.4.tgz", + "integrity": "sha512-dMBG6cSPBbHeEBdFXeQ2QLc5gUpg4Vkaz8octD4aoW/ISO+jBOcsuxYL7bsb5WSu8RLP6boxrBIALEHgoHtO9g==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-syntax-object-rest-spread": "^7.2.0" @@ -281,12 +430,12 @@ } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.0.tgz", - "integrity": "sha512-h/KjEZ3nK9wv1P1FSNb9G079jXrNYR0Ko+7XkOx85+gM24iZbPn0rh4vCftk+5QKY7y1uByFataBTmX7irEF1w==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz", + "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0", + "@babel/helper-regex": "^7.4.4", "regexpu-core": "^4.5.4" } }, @@ -298,6 +447,22 @@ "@babel/helper-plugin-utils": "^7.0.0" } }, + "@babel/plugin-syntax-decorators": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz", + "integrity": "sha512-38QdqVoXdHUQfTpZo3rQwqQdWtCn5tMv4uV6r2RMfTqNBuv4ZBhz79SfaQWKTVmxHjeFv/DnXVC/+agHCklYWA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz", + "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, "@babel/plugin-syntax-json-strings": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz", @@ -306,6 +471,14 @@ "@babel/helper-plugin-utils": "^7.0.0" } }, + "@babel/plugin-syntax-jsx": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz", + "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0" + } + }, "@babel/plugin-syntax-object-rest-spread": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz", @@ -331,9 +504,9 @@ } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.0.tgz", - "integrity": "sha512-EeaFdCeUULM+GPFEsf7pFcNSxM7hYjoj5fiYbyuiXobW4JhFnjAv9OWzNwHyHcKoPNpAfeRDuW6VyaXEDUBa7g==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.4.4.tgz", + "integrity": "sha512-YiqW2Li8TXmzgbXw+STsSqPBPFnGviiaSp6CYOq55X8GQ2SGVLrXB6pNid8HkqkZAzOH6knbai3snhP7v0fNwA==", "requires": { "@babel/helper-module-imports": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0", @@ -349,26 +522,26 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.0.tgz", - "integrity": "sha512-AWyt3k+fBXQqt2qb9r97tn3iBwFpiv9xdAiG+Gr2HpAZpuayvbL55yWrsV3MyHvXk/4vmSiedhDRl1YI2Iy5nQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.4.4.tgz", + "integrity": "sha512-jkTUyWZcTrwxu5DD4rWz6rDB5Cjdmgz6z7M7RLXOJyCUkFBawssDGcGh8M/0FTSB87avyJI1HsTwUXp9nKA1PA==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", "lodash": "^4.17.11" } }, "@babel/plugin-transform-classes": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.0.tgz", - "integrity": "sha512-XGg1Mhbw4LDmrO9rSTNe+uI79tQPdGs0YASlxgweYRLZqo/EQktjaOV4tchL/UZbM0F+/94uOipmdNGoaGOEYg==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.4.tgz", + "integrity": "sha512-/e44eFLImEGIpL9qPxSRat13I5QNRgBLu2hOQJCF7VLy/otSM/sypV1+XaIw5+502RX/+6YaSAPmldk+nhHDPw==", "requires": { "@babel/helper-annotate-as-pure": "^7.0.0", - "@babel/helper-define-map": "^7.4.0", + "@babel/helper-define-map": "^7.4.4", "@babel/helper-function-name": "^7.1.0", "@babel/helper-optimise-call-expression": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-replace-supers": "^7.4.0", - "@babel/helper-split-export-declaration": "^7.4.0", + "@babel/helper-replace-supers": "^7.4.4", + "@babel/helper-split-export-declaration": "^7.4.4", "globals": "^11.1.0" } }, @@ -381,21 +554,21 @@ } }, "@babel/plugin-transform-destructuring": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.0.tgz", - "integrity": "sha512-HySkoatyYTY3ZwLI8GGvkRWCFrjAGXUHur5sMecmCIdIharnlcWWivOqDJI76vvmVZfzwb6G08NREsrY96RhGQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.4.4.tgz", + "integrity": "sha512-/aOx+nW0w8eHiEHm+BTERB2oJn5D127iye/SUQl7NjHy0lf+j7h4MKMMSOwdazGq9OxgiNADncE+SRJkCxjZpQ==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz", - "integrity": "sha512-sKxnyHfizweTgKZf7XsXu/CNupKhzijptfTM+bozonIuyVrLWVUvYjE2bhuSBML8VQeMxq4Mm63Q9qvcvUcciQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz", + "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0", - "regexpu-core": "^4.1.3" + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" } }, "@babel/plugin-transform-duplicate-keys": { @@ -416,17 +589,17 @@ } }, "@babel/plugin-transform-for-of": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.0.tgz", - "integrity": "sha512-vWdfCEYLlYSxbsKj5lGtzA49K3KANtb8qCPQ1em07txJzsBwY+cKJzBHizj5fl3CCx7vt+WPdgDLTHmydkbQSQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz", + "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-function-name": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz", - "integrity": "sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz", + "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==", "requires": { "@babel/helper-function-name": "^7.1.0", "@babel/helper-plugin-utils": "^7.0.0" @@ -450,21 +623,21 @@ } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.0.tgz", - "integrity": "sha512-iWKAooAkipG7g1IY0eah7SumzfnIT3WNhT4uYB2kIsvHnNSB6MDYVa5qyICSwaTBDBY2c4SnJ3JtEa6ltJd6Jw==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.4.4.tgz", + "integrity": "sha512-4sfBOJt58sEo9a2BQXnZq+Q3ZTSAUXyK3E30o36BOGnJ+tvJ6YSxF0PG6kERvbeISgProodWuI9UVG3/FMY6iw==", "requires": { - "@babel/helper-module-transforms": "^7.1.0", + "@babel/helper-module-transforms": "^7.4.4", "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-simple-access": "^7.1.0" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.0.tgz", - "integrity": "sha512-gjPdHmqiNhVoBqus5qK60mWPp1CmYWp/tkh11mvb0rrys01HycEGD7NvvSoKXlWEfSM9TcL36CpsK8ElsADptQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.4.4.tgz", + "integrity": "sha512-MSiModfILQc3/oqnG7NrP1jHaSPryO6tA2kOMmAQApz5dayPxWiHqmq4sWH2xF5LcQK56LlbKByCd8Aah/OIkQ==", "requires": { - "@babel/helper-hoist-variables": "^7.4.0", + "@babel/helper-hoist-variables": "^7.4.4", "@babel/helper-plugin-utils": "^7.0.0" } }, @@ -478,17 +651,17 @@ } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.2.tgz", - "integrity": "sha512-NsAuliSwkL3WO2dzWTOL1oZJHm0TM8ZY8ZSxk2ANyKkt5SQlToGA4pzctmq1BEjoacurdwZ3xp2dCQWJkME0gQ==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz", + "integrity": "sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg==", "requires": { - "regexp-tree": "^0.1.0" + "regexp-tree": "^0.1.6" } }, "@babel/plugin-transform-new-target": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.0.tgz", - "integrity": "sha512-6ZKNgMQmQmrEX/ncuCwnnw1yVGoaOW5KpxNhoWI7pCQdA0uZ0HqHGqenCUIENAnxRjy2WwNQ30gfGdIgqJXXqw==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz", + "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==", "requires": { "@babel/helper-plugin-utils": "^7.0.0" } @@ -503,21 +676,42 @@ } }, "@babel/plugin-transform-parameters": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.0.tgz", - "integrity": "sha512-Xqv6d1X+doyiuCGDoVJFtlZx0onAX0tnc3dY8w71pv/O0dODAbusVv2Ale3cGOwfiyi895ivOBhYa9DhAM8dUA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz", + "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==", "requires": { - "@babel/helper-call-delegate": "^7.4.0", + "@babel/helper-call-delegate": "^7.4.4", "@babel/helper-get-function-arity": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0" } }, + "@babel/plugin-transform-react-jsx": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz", + "integrity": "sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==", + "requires": { + "@babel/helper-builder-react-jsx": "^7.3.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, "@babel/plugin-transform-regenerator": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.0.tgz", - "integrity": "sha512-SZ+CgL4F0wm4npojPU6swo/cK4FcbLgxLd4cWpHaNXY/NJ2dpahODCqBbAwb2rDmVszVb3SSjnk9/vik3AYdBw==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz", + "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==", "requires": { - "regenerator-transform": "^0.13.4" + "regenerator-transform": "^0.14.0" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.4.4.tgz", + "integrity": "sha512-aMVojEjPszvau3NRg+TIH14ynZLvPewH4xhlCW1w6A3rkxTS1m4uwzRclYR9oS+rl/dr+kT+pzbfHuAWP/lc7Q==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "resolve": "^1.8.1", + "semver": "^5.5.1" } }, "@babel/plugin-transform-shorthand-properties": { @@ -546,9 +740,9 @@ } }, "@babel/plugin-transform-template-literals": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz", - "integrity": "sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz", + "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==", "requires": { "@babel/helper-annotate-as-pure": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0" @@ -563,91 +757,130 @@ } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz", - "integrity": "sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz", + "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==", "requires": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/helper-regex": "^7.0.0", - "regexpu-core": "^4.1.3" + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.5.4" } }, "@babel/preset-env": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.4.2.tgz", - "integrity": "sha512-OEz6VOZaI9LW08CWVS3d9g/0jZA6YCn1gsKIy/fut7yZCJti5Lm1/Hi+uo/U+ODm7g4I6gULrCP+/+laT8xAsA==", + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.3.4.tgz", + "integrity": "sha512-2mwqfYMK8weA0g0uBKOt4FE3iEodiHy9/CW0b+nWXcbL+pGzLx8ESYc+j9IIxr6LTDHWKgPm71i9smo02bw+gA==", "requires": { "@babel/helper-module-imports": "^7.0.0", "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-proposal-async-generator-functions": "^7.2.0", "@babel/plugin-proposal-json-strings": "^7.2.0", - "@babel/plugin-proposal-object-rest-spread": "^7.4.0", + "@babel/plugin-proposal-object-rest-spread": "^7.3.4", "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.2.0", "@babel/plugin-syntax-async-generators": "^7.2.0", "@babel/plugin-syntax-json-strings": "^7.2.0", "@babel/plugin-syntax-object-rest-spread": "^7.2.0", "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", "@babel/plugin-transform-arrow-functions": "^7.2.0", - "@babel/plugin-transform-async-to-generator": "^7.4.0", + "@babel/plugin-transform-async-to-generator": "^7.3.4", "@babel/plugin-transform-block-scoped-functions": "^7.2.0", - "@babel/plugin-transform-block-scoping": "^7.4.0", - "@babel/plugin-transform-classes": "^7.4.0", + "@babel/plugin-transform-block-scoping": "^7.3.4", + "@babel/plugin-transform-classes": "^7.3.4", "@babel/plugin-transform-computed-properties": "^7.2.0", - "@babel/plugin-transform-destructuring": "^7.4.0", + "@babel/plugin-transform-destructuring": "^7.2.0", "@babel/plugin-transform-dotall-regex": "^7.2.0", "@babel/plugin-transform-duplicate-keys": "^7.2.0", "@babel/plugin-transform-exponentiation-operator": "^7.2.0", - "@babel/plugin-transform-for-of": "^7.4.0", + "@babel/plugin-transform-for-of": "^7.2.0", "@babel/plugin-transform-function-name": "^7.2.0", "@babel/plugin-transform-literals": "^7.2.0", "@babel/plugin-transform-modules-amd": "^7.2.0", - "@babel/plugin-transform-modules-commonjs": "^7.4.0", - "@babel/plugin-transform-modules-systemjs": "^7.4.0", + "@babel/plugin-transform-modules-commonjs": "^7.2.0", + "@babel/plugin-transform-modules-systemjs": "^7.3.4", "@babel/plugin-transform-modules-umd": "^7.2.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.4.2", - "@babel/plugin-transform-new-target": "^7.4.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.3.0", + "@babel/plugin-transform-new-target": "^7.0.0", "@babel/plugin-transform-object-super": "^7.2.0", - "@babel/plugin-transform-parameters": "^7.4.0", - "@babel/plugin-transform-regenerator": "^7.4.0", + "@babel/plugin-transform-parameters": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.3.4", "@babel/plugin-transform-shorthand-properties": "^7.2.0", "@babel/plugin-transform-spread": "^7.2.0", "@babel/plugin-transform-sticky-regex": "^7.2.0", "@babel/plugin-transform-template-literals": "^7.2.0", "@babel/plugin-transform-typeof-symbol": "^7.2.0", "@babel/plugin-transform-unicode-regex": "^7.2.0", - "@babel/types": "^7.4.0", - "browserslist": "^4.4.2", - "core-js-compat": "^3.0.0", + "browserslist": "^4.3.4", "invariant": "^2.2.2", "js-levenshtein": "^1.1.3", "semver": "^5.3.0" } }, + "@babel/runtime": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.5.tgz", + "integrity": "sha512-TuI4qpWZP6lGOGIuGWtp9sPluqYICmbk8T/1vpSysqJxRPkudh/ofFWyqdcMsDf2s7KvDL4/YHgKyvcS3g9CJQ==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + }, + "@babel/runtime-corejs2": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.4.5.tgz", + "integrity": "sha512-5yLuwzvIDecKwYMzJtiarky4Fb5643H3Ao5jwX0HrMR5oM5mn2iHH9wSZonxwNK0oAjAFUQAiOd4jT7/9Y2jMQ==", + "requires": { + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.2" + } + }, "@babel/template": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.0.tgz", - "integrity": "sha512-SOWwxxClTTh5NdbbYZ0BmaBVzxzTh2tO/TeLTbF6MO6EzVhHTnff8CdBXx3mEtazFBoysmEM6GU/wF+SuSx4Fw==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", + "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", "requires": { "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.4.0", - "@babel/types": "^7.4.0" + "@babel/parser": "^7.4.4", + "@babel/types": "^7.4.4" + }, + "dependencies": { + "@babel/types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/traverse": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.0.tgz", - "integrity": "sha512-/DtIHKfyg2bBKnIN+BItaIlEg5pjAnzHOIQe5w+rHAw/rg9g0V7T4rqPX8BJPfW11kt3koyjAnTNwCzb28Y1PA==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.5.tgz", + "integrity": "sha512-Vc+qjynwkjRmIFGxy0KYoPj4FdVDxLej89kMHFsWScq999uX+pwcX4v9mWRjW0KcAYTPAuVQl2LKP1wEVLsp+A==", "requires": { "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.4.0", + "@babel/generator": "^7.4.4", "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.4.0", - "@babel/parser": "^7.4.0", - "@babel/types": "^7.4.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.4.5", + "@babel/types": "^7.4.4", "debug": "^4.1.0", "globals": "^11.1.0", "lodash": "^4.17.11" + }, + "dependencies": { + "@babel/types": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "requires": { + "esutils": "^2.0.2", + "lodash": "^4.17.11", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/types": { @@ -660,6 +893,20 @@ "to-fast-properties": "^2.0.0" } }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==" + }, "@sinonjs/commons": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.4.0.tgz", @@ -696,10 +943,125 @@ "integrity": "sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==", "dev": true }, + "@types/events": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", + "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" + }, + "@types/glob": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", + "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "requires": { + "@types/events": "*", + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" + }, "@types/node": { - "version": "11.9.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.9.4.tgz", - "integrity": "sha512-Zl8dGvAcEmadgs1tmSPcvwzO1YRsz38bVJQvH1RvRqSR9/5n61Q1ktcDL0ht3FXWR+ZpVmXVwN1LuH4Ax23NsA==" + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.0.tgz", + "integrity": "sha512-Jrb/x3HT4PTJp6a4avhmJCDEVrPdqLfl3e8GGMbpkGGdwAV5UGlIs4vVEfsHHfylZVOKZWpOqmqFH8CbfOZ6kg==" + }, + "@types/q": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", + "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==" + }, + "@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.0.0.tgz", + "integrity": "sha512-6tyf5Cqm4m6v7buITuwS+jHzPlIPxbFzEhXR5JGZpbrvOcp1hiQKckd305/3C7C36wFekNTQSxAtgeM0j0yoUw==" + }, + "@vue/babel-plugin-transform-vue-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.0.0.tgz", + "integrity": "sha512-U+JNwVQSmaLKjO3lzCUC3cNXxprgezV1N+jOdqbP4xWNaqtWUCJnkjTVcgECM18A/AinDKPcUUeoyhU7yxUxXQ==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", + "html-tags": "^2.0.0", + "lodash.kebabcase": "^4.1.1", + "svg-tags": "^1.0.0" + } + }, + "@vue/babel-preset-app": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-3.8.0.tgz", + "integrity": "sha512-A2NBzIVdtNq52foc+P+yQ/7rSm2q2oPpn2FJVW4hFgaWVOL+HaOLCjWDEQyEeMbRZvyOVHMuom097u3p2H2Rfw==", + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-decorators": "^7.1.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.4.0", + "@babel/preset-env": "^7.0.0 < 7.4.0", + "@babel/runtime": "^7.0.0", + "@babel/runtime-corejs2": "^7.2.0", + "@vue/babel-preset-jsx": "^1.0.0", + "babel-plugin-dynamic-import-node": "^2.2.0", + "babel-plugin-module-resolver": "3.2.0", + "core-js": "^2.6.5" + } + }, + "@vue/babel-preset-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.0.0.tgz", + "integrity": "sha512-5CbDu/QHS+TtQNw5aYAffiMxBBB2Eo9+RJpS8X+6FJbdG5Rvc4TVipEqkrg0pJviWadNg7TEy0Uz4o7VNXeIZw==", + "requires": { + "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.0.0", + "@vue/babel-sugar-functional-vue": "^1.0.0", + "@vue/babel-sugar-inject-h": "^1.0.0", + "@vue/babel-sugar-v-model": "^1.0.0", + "@vue/babel-sugar-v-on": "^1.0.0" + } + }, + "@vue/babel-sugar-functional-vue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.0.0.tgz", + "integrity": "sha512-XE/jNaaorTuhWayCz+QClk5AB9OV5HzrwbzEC6sIUY0J60A28ONQKeTwxfidW42egOkqNH/UU6eE3KLfmiDj0Q==", + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-inject-h": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.0.0.tgz", + "integrity": "sha512-NxWU+DqtbZgfGvd25GPoFMj+rvyQ8ZA1pHj8vIeqRij+vx3sXoKkObjA9ulZunvWw5F6uG9xYy4ytpxab/X+Hg==", + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-v-model": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.0.0.tgz", + "integrity": "sha512-Pfg2Al0io66P1eO6zUbRIgpyKCU2qTnumiE0lao/wA/uNdb7Dx5Tfd1W6tO5SsByETPnEs8i8+gawRIXX40rFw==", + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.0.0", + "camelcase": "^5.0.0", + "html-tags": "^2.0.0", + "svg-tags": "^1.0.0" + } + }, + "@vue/babel-sugar-v-on": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.0.0.tgz", + "integrity": "sha512-2aqJaDLKdSSGlxZU+GjFERaSNUaa6DQreV+V/K4W/6Lxj8520/r1lChWEa/zuAoPD2Vhy0D2QrqqO+I0D6CkKw==", + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.0.0", + "camelcase": "^5.0.0" + } }, "@vue/component-compiler-utils": { "version": "2.6.0", @@ -732,11 +1094,6 @@ "uniq": "^1.0.1" } }, - "prettier": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.16.3.tgz", - "integrity": "sha512-kn/GU6SMRYPxUakNXhpP0EedT/KmaPzr0H5lIsDogrykbaxOpOfAFfk5XA7DZrJyMAv1wlMV3CPcZruGXVVUZw==" - }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -744,66 +1101,581 @@ } } }, - "abab": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", - "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", - "optional": true - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "absolute": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/absolute/-/absolute-0.0.1.tgz", - "integrity": "sha1-wigi+H4ck59XmIdQTZwQnEFzgp0=" - }, - "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", - "requires": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" + "@vuepress/core": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/@vuepress/core/-/core-1.0.0-beta.1.tgz", + "integrity": "sha512-UuFxZQ3VadqoY4RmeoMDw0w9WEFu229e4CcrbzaSgHQMuO1IH3UoY2DX2/ekJmSMZmdomKXAjKDa66iLtHrmEA==", + "requires": { + "@babel/core": "^7.0.0", + "@vue/babel-preset-app": "^3.1.1", + "@vuepress/markdown": "^1.0.0-alpha.50", + "@vuepress/markdown-loader": "^1.0.0-alpha.50", + "@vuepress/plugin-last-updated": "^1.0.0-alpha.50", + "@vuepress/plugin-register-components": "^1.0.0-alpha.50", + "@vuepress/shared-utils": "^1.0.0-alpha.50", + "autoprefixer": "^9.5.1", + "babel-loader": "^8.0.4", + "cache-loader": "^3.0.0", + "chokidar": "^2.0.3", + "connect-history-api-fallback": "^1.5.0", + "copy-webpack-plugin": "^5.0.2", + "cross-spawn": "^6.0.5", + "css-loader": "^2.1.1", + "file-loader": "^3.0.1", + "js-yaml": "^3.11.0", + "lru-cache": "^5.1.1", + "mini-css-extract-plugin": "0.6.0", + "optimize-css-assets-webpack-plugin": "^5.0.1", + "portfinder": "^1.0.13", + "postcss-loader": "^3.0.0", + "postcss-safe-parser": "^4.0.1", + "toml": "^3.0.0", + "url-loader": "^1.0.1", + "vue": "^2.5.16", + "vue-loader": "^15.2.4", + "vue-router": "^3.0.2", + "vue-server-renderer": "^2.5.16", + "vue-template-compiler": "^2.5.16", + "vuepress-html-webpack-plugin": "^3.2.0", + "vuepress-plugin-container": "^2.0.0", + "webpack": "^4.8.1", + "webpack-chain": "^4.6.0", + "webpack-dev-server": "^3.5.1", + "webpack-merge": "^4.1.2", + "webpackbar": "3.2.0" + }, + "dependencies": { + "@vuepress/shared-utils": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/@vuepress/shared-utils/-/shared-utils-1.0.0-beta.2.tgz", + "integrity": "sha512-1vxGXLrii1jb4nDH+cH8QYxC3kRJ7zTTkiVh6cPpLW5EjHUK4p6muSXJXZtrJU2dDcyRUS0VWtzoursHThwGqw==", + "requires": { + "chalk": "^2.3.2", + "diacritics": "^1.3.0", + "escape-html": "^1.0.3", + "fs-extra": "^7.0.1", + "globby": "^9.2.0", + "gray-matter": "^4.0.1", + "hash-sum": "^1.0.2", + "semver": "^6.0.0", + "upath": "^1.1.0" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "semver": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.1.1.tgz", + "integrity": "sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==" + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" + }, + "yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" + } + } + }, + "@vuepress/markdown": { + "version": "1.0.0-alpha.50", + "resolved": "https://registry.npmjs.org/@vuepress/markdown/-/markdown-1.0.0-alpha.50.tgz", + "integrity": "sha512-S5TRrhW1wlWzTSK1Ba9x+R26X+2u9qJphxTgiR1mvPA/W6Ka1UIRvjrqnpx816WY67gJp7EzHWCsWB4lSniRhQ==", + "requires": { + "@vuepress/shared-utils": "^1.0.0-alpha.48", + "markdown-it": "^8.4.1", + "markdown-it-anchor": "^5.0.2", + "markdown-it-chain": "^1.3.0", + "markdown-it-emoji": "^1.4.0", + "markdown-it-table-of-contents": "^0.4.0", + "prismjs": "^1.13.0" + }, + "dependencies": { + "@vuepress/shared-utils": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/@vuepress/shared-utils/-/shared-utils-1.0.0-beta.2.tgz", + "integrity": "sha512-1vxGXLrii1jb4nDH+cH8QYxC3kRJ7zTTkiVh6cPpLW5EjHUK4p6muSXJXZtrJU2dDcyRUS0VWtzoursHThwGqw==", + "requires": { + "chalk": "^2.3.2", + "diacritics": "^1.3.0", + "escape-html": "^1.0.3", + "fs-extra": "^7.0.1", + "globby": "^9.2.0", + "gray-matter": "^4.0.1", + "hash-sum": "^1.0.2", + "semver": "^6.0.0", + "upath": "^1.1.0" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "semver": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.1.1.tgz", + "integrity": "sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==" + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" + } } }, - "acorn": { - "version": "2.7.0", - "resolved": "http://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", - "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=", - "optional": true - }, - "acorn-dynamic-import": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", - "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "@vuepress/markdown-loader": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/@vuepress/markdown-loader/-/markdown-loader-1.0.0-beta.1.tgz", + "integrity": "sha512-co9Ww2olKj+m+AwKTM97YH7vknqtRXUgWnqgdodlhVfyG/uC6p6oU08IVIAbFPMMhDLx7phtgd4aH57akDNF2g==", "requires": { - "acorn": "^4.0.3" + "@vuepress/markdown": "^1.0.0-alpha.50", + "loader-utils": "^1.1.0", + "lru-cache": "^5.1.1" }, "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" } } }, - "acorn-globals": { - "version": "1.0.9", - "resolved": "http://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", - "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=", - "optional": true, + "@vuepress/plugin-active-header-links": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-active-header-links/-/plugin-active-header-links-1.0.0-beta.1.tgz", + "integrity": "sha512-vJKyKGe88E9TNz9udsLA7e3TjTpVUakQzMCQwOn29DFPbHkEy9arqStHYWqRyDjjWYSpAMPEgFQ505R/hsXgjw==", + "requires": { + "lodash.throttle": "^4.1.1" + } + }, + "@vuepress/plugin-google-analytics": { + "version": "1.0.0-alpha.47", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-google-analytics/-/plugin-google-analytics-1.0.0-alpha.47.tgz", + "integrity": "sha512-QuJoudT8EGo14oQsNrFpV9sKYNAkHH31Jv5R8/7JSEBcG9NKgpIUAaCkb2+/Ytwot2Oh/cd7MQsZvHQeXWuTBQ==" + }, + "@vuepress/plugin-last-updated": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-last-updated/-/plugin-last-updated-1.0.0-beta.1.tgz", + "integrity": "sha512-z+1xxbOxYzHl0XDSJwDHUqn3z0Fc3HZ5eMr4JlPwBsvRvOJXRZ9O7RpNqVzTBVPeDzmrp6H6mZPHSY5MrIqiaw==", + "requires": { + "cross-spawn": "^6.0.5" + } + }, + "@vuepress/plugin-nprogress": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-nprogress/-/plugin-nprogress-1.0.0-beta.1.tgz", + "integrity": "sha512-zWr721PtPVjG7EsCWBC+WiKqBy8zHCv1VXyLgN8noF7wMr1+fcScXf+JCPhBIN5H13Tz3H81OCQPDmPB/AlGVw==", + "requires": { + "nprogress": "^0.2.0" + } + }, + "@vuepress/plugin-register-components": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-register-components/-/plugin-register-components-1.0.0-beta.1.tgz", + "integrity": "sha512-hoXT/LJsUfUbMflgLMPgzVDRHc2WiWJqrkXBGQuEo+2+5yIfPB5LovUqlBG4F7of/OSa58JNWve7TnnNb9a9hg==", + "requires": { + "@vuepress/shared-utils": "^1.0.0-beta.1" + }, + "dependencies": { + "@vuepress/shared-utils": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/@vuepress/shared-utils/-/shared-utils-1.0.0-beta.2.tgz", + "integrity": "sha512-1vxGXLrii1jb4nDH+cH8QYxC3kRJ7zTTkiVh6cPpLW5EjHUK4p6muSXJXZtrJU2dDcyRUS0VWtzoursHThwGqw==", + "requires": { + "chalk": "^2.3.2", + "diacritics": "^1.3.0", + "escape-html": "^1.0.3", + "fs-extra": "^7.0.1", + "globby": "^9.2.0", + "gray-matter": "^4.0.1", + "hash-sum": "^1.0.2", + "semver": "^6.0.0", + "upath": "^1.1.0" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + }, + "semver": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.1.1.tgz", + "integrity": "sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==" + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" + } + } + }, + "@vuepress/plugin-search": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/@vuepress/plugin-search/-/plugin-search-1.0.0-beta.1.tgz", + "integrity": "sha512-NxwGN+zhmPzmGBGSn1nOrmwLkw8E3MkhH4v5/hfswJbwtFz2azqtacgya4Ci6pf4SWMZSK/AJQbNJ/BRd0dnPA==" + }, + "@vuepress/shared-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@vuepress/shared-utils/-/shared-utils-1.0.1.tgz", + "integrity": "sha512-t0ItlOhSRRNKIwYTHBMF20Bxxku1UdItAsnAAegnwNeJpdwO/J83RwBkyEGjhI7VHzqzhWvkpSzZ+izXYAYp8w==", + "requires": { + "chalk": "^2.3.2", + "diacritics": "^1.3.0", + "escape-html": "^1.0.3", + "fs-extra": "^7.0.1", + "globby": "^9.2.0", + "gray-matter": "^4.0.1", + "hash-sum": "^1.0.2", + "semver": "^6.0.0", + "upath": "^1.1.0" + }, + "dependencies": { + "semver": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.1.1.tgz", + "integrity": "sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==" + } + } + }, + "@vuepress/theme-default": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/@vuepress/theme-default/-/theme-default-1.0.0-beta.1.tgz", + "integrity": "sha512-OsxzuvKgmTG3NK1zdP4dC1S9LeiMHjyNee1WrIQZwPpSjqhoZ43dpzBNmNWJdl+dy4f6+HrfEzy9bnyOD+B3dQ==", + "requires": { + "@vuepress/plugin-active-header-links": "^1.0.0-beta.1", + "@vuepress/plugin-nprogress": "^1.0.0-beta.1", + "@vuepress/plugin-search": "^1.0.0-beta.1", + "docsearch.js": "^2.5.2", + "stylus": "^0.54.5", + "stylus-loader": "^3.0.2", + "vuepress-plugin-container": "^2.0.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", + "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "requires": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", + "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", + "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==" + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", + "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", "requires": { - "acorn": "^2.1.0" + "@webassemblyjs/wast-printer": "1.8.5" } }, + "@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", + "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==" + }, + "@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", + "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", + "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", + "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", + "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", + "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", + "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", + "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", + "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", + "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", + "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", + "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + }, + "dependencies": { + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "requires": { + "mime-db": "1.40.0" + } + } + } + }, + "acorn": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", + "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==" + }, + "acorn-dynamic-import": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", + "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==" + }, "acorn-jsx": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz", - "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==", - "dev": true + "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==" }, "agentkeepalive": { "version": "2.2.0", @@ -811,9 +1683,9 @@ "integrity": "sha1-xdG9SxKQCPEWPyNvhuX66iAm4u8=" }, "ajv": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz", - "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", + "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -832,12 +1704,12 @@ "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==" }, "algoliasearch": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-3.32.0.tgz", - "integrity": "sha512-C8oQnPTf0wPuyD2jSZwtBAPvz+lHOE7zRIPpgXGBuNt6ZNcC4omsbytG26318rT77a8h4759vmIp6n9p8iw4NA==", + "version": "3.32.1", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-3.32.1.tgz", + "integrity": "sha512-NaaHMboU9tKwrU3aim7LlzSDqKb+1TGaC+Lx3NOttSnuMHbPpaf+7LtJL4KlosbRWEwqb9t5wSYMVDrPTH2dNA==", "requires": { "agentkeepalive": "^2.2.0", - "debug": "^2.6.8", + "debug": "^2.6.9", "envify": "^4.0.0", "es6-promise": "^4.1.0", "events": "^1.1.0", @@ -861,6 +1733,16 @@ "ms": "2.0.0" } }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + }, + "isarray": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.4.tgz", + "integrity": "sha512-GMxXOiUirWg1xTKRipM0Ek07rX+ubx4nNVElTJdNLYmNO/2YrDkgJGw9CljXn+r4EWiDQg/8lsRdHyg2PJuUaA==" + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -868,47 +1750,190 @@ } } }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "almond": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/almond/-/almond-0.3.3.tgz", - "integrity": "sha1-oOfJWsdiTWQXtElLHmi/9pMWiiA=" + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" }, "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" }, + "ansi-bgblack": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-bgblack/-/ansi-bgblack-0.1.1.tgz", + "integrity": "sha1-poulAHiHcBtqr74/oNrf36juPKI=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-bgblue": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-bgblue/-/ansi-bgblue-0.1.1.tgz", + "integrity": "sha1-Z73ATtybm1J4lp2hlt6j11yMNhM=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-bgcyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-bgcyan/-/ansi-bgcyan-0.1.1.tgz", + "integrity": "sha1-WEiUJWAL3p9VBwaN2Wnr/bUP52g=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-bggreen": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-bggreen/-/ansi-bggreen-0.1.1.tgz", + "integrity": "sha1-TjGRJIUplD9DIelr8THRwTgWr0k=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-bgmagenta": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-bgmagenta/-/ansi-bgmagenta-0.1.1.tgz", + "integrity": "sha1-myhDLAduqpmUGGcqPvvhk5HCx6E=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-bgred": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-bgred/-/ansi-bgred-0.1.1.tgz", + "integrity": "sha1-p2+Sg4OCukMpCmwXeEJPmE1vEEE=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-bgwhite": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-bgwhite/-/ansi-bgwhite-0.1.1.tgz", + "integrity": "sha1-ZQRlE3elim7OzQMxmU5IAljhG6g=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-bgyellow": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-bgyellow/-/ansi-bgyellow-0.1.1.tgz", + "integrity": "sha1-w/4usIzUdmSAKeaHTRWgs49h1E8=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-black": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-black/-/ansi-black-0.1.1.tgz", + "integrity": "sha1-9hheiJNgslRaHsUMC/Bj/EMDJFM=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-blue": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-blue/-/ansi-blue-0.1.1.tgz", + "integrity": "sha1-FbgEmQ6S/JyoxUds6PaZd3wh7b8=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-bold": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-bold/-/ansi-bold-0.1.1.tgz", + "integrity": "sha1-PmOVCvWswq4uZw5vZ96xFdGl9QU=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, "ansi-colors": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", - "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", - "dev": true + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==" + }, + "ansi-cyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", + "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-dim": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-dim/-/ansi-dim-0.1.1.tgz", + "integrity": "sha1-QN5MYDqoCG2Oeoa4/5mNXDbu/Ww=", + "requires": { + "ansi-wrap": "0.1.0" + } }, "ansi-escapes": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==" + }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-green": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-green/-/ansi-green-0.1.1.tgz", + "integrity": "sha1-il2al55FjVfEDjNYCzc5C44Q0Pc=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-grey": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-grey/-/ansi-grey-0.1.1.tgz", + "integrity": "sha1-WdmLasK6GfilF5jphT+6eDOaM8E=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-hidden": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-hidden/-/ansi-hidden-0.1.1.tgz", + "integrity": "sha1-7WpMSY0rt8uyidvyqNHcyFZ/rg8=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" + }, + "ansi-inverse": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-inverse/-/ansi-inverse-0.1.1.tgz", + "integrity": "sha1-tq9Fgm/oJr+1KKbHmIV5Q1XM0mk=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-italic": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-italic/-/ansi-italic-0.1.1.tgz", + "integrity": "sha1-EEdDRj9iXBQqA2c5z4XtpoiYbyM=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-magenta": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-magenta/-/ansi-magenta-0.1.1.tgz", + "integrity": "sha1-BjtboW+z8j4c/aKwfAqJ3hHkMK4=", + "requires": { + "ansi-wrap": "0.1.0" + } }, "ansi-red": { "version": "0.1.1", @@ -923,93 +1948,74 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "ansi-reset": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-reset/-/ansi-reset-0.1.1.tgz", + "integrity": "sha1-5+cSksPH3c1NYu9KbHwFmAkRw7c=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-strikethrough": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-strikethrough/-/ansi-strikethrough-0.1.1.tgz", + "integrity": "sha1-2Eh3FAss/wfRyT685pkE9oiF5Wg=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { "color-convert": "^1.9.0" } }, + "ansi-underline": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-underline/-/ansi-underline-0.1.1.tgz", + "integrity": "sha1-38kg9Ml7WXfqFi34/7mIMIqqcaQ=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-white": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-white/-/ansi-white-0.1.1.tgz", + "integrity": "sha1-nHe3wZPF7pkuYBHTbsTJIbRXiUQ=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, "ansi-wrap": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=" }, + "ansi-yellow": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-yellow/-/ansi-yellow-0.1.1.tgz", + "integrity": "sha1-y5NW8vRscy8OMZnmEClVp32oPB0=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" }, "dependencies": { - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "requires": { - "is-extglob": "^1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "remove-trailing-separator": "^1.0.1" } } } @@ -1026,35 +2032,6 @@ "requires": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "argparse": { @@ -1075,25 +2052,28 @@ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" }, + "arr-swap": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arr-swap/-/arr-swap-1.0.1.tgz", + "integrity": "sha1-FHWQ7WX8gVvAf+8Jl8Llgj1kNTQ=", + "requires": { + "is-number": "^3.0.0" + } + }, "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" }, - "array-differ": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=" - }, "array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" }, "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" }, "array-from": { "version": "2.1.1", @@ -1101,6 +2081,16 @@ "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=", "dev": true }, + "array-includes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", + "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" + } + }, "array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", @@ -1119,16 +2109,6 @@ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", @@ -1148,10 +2128,11 @@ } }, "assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", "requires": { + "object-assign": "^4.1.1", "util": "0.10.3" }, "dependencies": { @@ -1162,7 +2143,7 @@ }, "util": { "version": "0.10.3", - "resolved": "http://registry.npmjs.org/util/-/util-0.10.3.tgz", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", "requires": { "inherits": "2.0.1" @@ -1183,32 +2164,23 @@ "astral-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==" }, "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", - "requires": { - "lodash": "^4.17.10" - } + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" }, "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" }, "async-foreach": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=" }, - "async-limiter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" - }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -1219,6 +2191,28 @@ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, + "autocomplete.js": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/autocomplete.js/-/autocomplete.js-0.33.0.tgz", + "integrity": "sha512-J0F7BkPhYwXvfs8Skp6v2e2IHYv0SL8INyHYwb7nUpvKHr96g6zS8RNEFGEfEuO3ND+XUsesEMM59LlwQoLfoA==", + "requires": { + "immediate": "^3.2.3" + } + }, + "autoprefixer": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.0.tgz", + "integrity": "sha512-kuip9YilBqhirhHEGHaBTZKXL//xxGnzvsD0FtBQa6z+A69qZD6s/BAX9VzDF1i9VKDquTJDQaPLSEhOnL6FvQ==", + "requires": { + "browserslist": "^4.6.1", + "caniuse-lite": "^1.0.30000971", + "chalk": "^2.4.2", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.16", + "postcss-value-parser": "^3.3.1" + } + }, "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", @@ -1230,14 +2224,41 @@ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" }, "babel-loader": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.5.tgz", - "integrity": "sha512-NTnHnVRd2JnRqPC0vW+iOQWU5pchDbYXsG2E6DMXEpMfUcQKclF9gmf3G3ZMhzG7IG9ji4coL0cm+FxeWxDpnw==", + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", + "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", "requires": { "find-cache-dir": "^2.0.0", "loader-utils": "^1.0.2", "mkdirp": "^0.5.1", - "util.promisify": "^1.0.0" + "pify": "^4.0.1" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + } + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.2.0.tgz", + "integrity": "sha512-fP899ELUnTaBcIzmrW7nniyqqdYWrWuJUyPWHxFa/c7r7hS6KC8FscNfLlBNIoPSc55kYMGEEKjPjJGCLbE1qA==", + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-module-resolver": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.2.0.tgz", + "integrity": "sha512-tjR0GvSndzPew/Iayf4uICWZqjBwnlMWjSx6brryfQ81F9rxBVqwDJtFCV8oOs0+vJeefK9TmdZtkIFdFe1UnA==", + "requires": { + "find-babel-config": "^1.1.0", + "glob": "^7.1.2", + "pkg-up": "^2.0.0", + "reselect": "^3.0.1", + "resolve": "^1.4.0" } }, "balanced-match": { @@ -1300,6 +2321,11 @@ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" + }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", @@ -1314,52 +2340,9 @@ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" }, "binary-extensions": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz", - "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==" - }, - "bindings": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.1.tgz", - "integrity": "sha512-i47mqjF9UbjxJhxGf+pZ6kSxrnI3wBLlnGI2ArWJ4r0VrvDS7ZYXkprq/pLaBWYq4GM0r4zdHY+NNRqEMU7uew==" - }, - "bl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", - "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" }, "block-stream": { "version": "0.0.9", @@ -1370,64 +2353,37 @@ } }, "bluebird": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", - "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==" + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==" }, "bn.js": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" }, - "body": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz", - "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", - "requires": { - "continuable-cache": "^0.3.1", - "error": "^7.0.0", - "raw-body": "~1.1.0", - "safe-json-parse": "~1.0.1" - }, - "dependencies": { - "bytes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz", - "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=" - }, - "raw-body": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz", - "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=", - "requires": { - "bytes": "1", - "string_decoder": "0.10" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, "body-parser": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", - "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", "requires": { - "bytes": "3.0.0", + "bytes": "3.1.0", "content-type": "~1.0.4", "debug": "2.6.9", "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" }, "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -1440,9 +2396,27 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" } } }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, "boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -1472,6 +2446,16 @@ "snapdragon-node": "^2.0.1", "split-string": "^3.0.2", "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } } }, "brorand": { @@ -1551,30 +2535,23 @@ } }, "browserslist": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.5.2.tgz", - "integrity": "sha512-zmJVLiKLrzko0iszd/V4SsjTaomFeoVzQGYYOYgRgsbh7WNh95RgDB0CmBdFWYs/3MyFSt69NypjL/h3iaddKQ==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.1.tgz", + "integrity": "sha512-1MC18ooMPRG2UuVFJTHFIAkk6mpByJfxCrnUyvSlu/hyQSFHMrlhM02SzNuCV+quTP4CKmqtOMAIjrifrpBJXQ==", "requires": { - "caniuse-lite": "^1.0.30000951", - "electron-to-chromium": "^1.3.116", - "node-releases": "^1.1.11" + "caniuse-lite": "^1.0.30000971", + "electron-to-chromium": "^1.3.137", + "node-releases": "^1.1.21" } }, "buffer": { "version": "4.9.1", - "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "requires": { "base64-js": "^1.0.2", "ieee754": "^1.1.4", "isarray": "^1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - } } }, "buffer-from": { @@ -1582,16 +2559,21 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" + }, + "buffer-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-json/-/buffer-json-2.0.0.tgz", + "integrity": "sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==" + }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" - }, "builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", @@ -1602,30 +2584,44 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" }, + "cac": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.5.1.tgz", + "integrity": "sha512-mqKv0Ub/nXSoqlACRvrso3k7+nCdzUNimdh+3l0ywDNt27d/x5s/zEg2Ubf1MrsV5Q/DncxtXhNJLrJN6zq1jQ==" + }, "cacache": { - "version": "10.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", - "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", - "requires": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.1", - "mississippi": "^2.0.0", + "version": "11.3.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz", + "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==", + "requires": { + "bluebird": "^3.5.3", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.3", + "graceful-fs": "^4.1.15", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", "mkdirp": "^0.5.1", "move-concurrently": "^1.0.1", "promise-inflight": "^1.0.1", "rimraf": "^2.6.2", - "ssri": "^5.2.4", - "unique-filename": "^1.1.0", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", "y18n": "^4.0.0" }, "dependencies": { - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "yallist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" } } }, @@ -1645,99 +2641,87 @@ "unset-value": "^1.0.0" } }, - "callback-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/callback-stream/-/callback-stream-1.1.0.tgz", - "integrity": "sha1-RwGlEmbwbgbqpx/BcjOCLYdfSQg=", + "cache-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-3.0.1.tgz", + "integrity": "sha512-HzJIvGiGqYsFUrMjAJNDbVZoG7qQA+vy9AIoKs7s9DscNfki0I589mf2w6/tW+kkFH3zyiknoWV5Jdynu6b/zw==", "requires": { - "inherits": "^2.0.1", - "readable-stream": "> 1.0.0 < 3.0.0" + "buffer-json": "^2.0.0", + "find-cache-dir": "^2.1.0", + "loader-utils": "^1.2.3", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "schema-utils": "^1.0.0" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==" } } }, - "callsites": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.0.0.tgz", - "integrity": "sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw==", - "dev": true + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" + "callsites": "^2.0.0" } }, - "camelcase": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.2.0.tgz", - "integrity": "sha512-IXFsBS2pC+X0j0N/GE7Dm7j3bsEBp+oTpb7F50dwEVX7rf3IgwO9XatnegTsDtniKCUtEJH4fSU6Asw7uoVLfQ==" + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "requires": { + "caller-callsite": "^2.0.0" + } }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" - } + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" } }, "caniuse-lite": { - "version": "1.0.30000953", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000953.tgz", - "integrity": "sha512-2stdF/q5MZTDhQ6uC65HWbSgI9UMKbc7+HKvlwH5JBIslKoD/J9dvabP4J4Uiifu3NljbHj3iMpfYflLSNt09A==" + "version": "1.0.30000973", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000973.tgz", + "integrity": "sha512-/F3t/Yo8LEdRSEPCmI15fLu5vepVh9UCg/9inJXF5AAfW7xRRJkbaM2ut52iRMQMnGCLQouLbFdbOA+VEFOIsg==" }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" - } - }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -1751,46 +2735,85 @@ "chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" }, "cheerio": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", - "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", + "version": "1.0.0-rc.3", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", + "integrity": "sha512-0td5ijfUPuubwLUu0OBoe98gZj8C/AA+RW3v67GPlGOrvxWjZmBXiBCRU+I8VEiNyJzjth40POfHiz2RB3gImA==", "requires": { "css-select": "~1.2.0", - "dom-serializer": "~0.1.0", + "dom-serializer": "~0.1.1", "entities": "~1.1.1", "htmlparser2": "^3.9.1", - "lodash.assignin": "^4.0.9", - "lodash.bind": "^4.1.4", - "lodash.defaults": "^4.0.1", - "lodash.filter": "^4.4.0", - "lodash.flatten": "^4.2.0", - "lodash.foreach": "^4.3.0", - "lodash.map": "^4.4.0", - "lodash.merge": "^4.4.0", - "lodash.pick": "^4.2.1", - "lodash.reduce": "^4.4.0", - "lodash.reject": "^4.4.0", - "lodash.some": "^4.4.0" + "lodash": "^4.15.0", + "parse5": "^3.0.1" + }, + "dependencies": { + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + } } }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "choices-separator": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/choices-separator/-/choices-separator-2.0.0.tgz", + "integrity": "sha1-kv0XYxgteQM/XFxR0Lo1LlVnxpY=", "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", + "ansi-dim": "^0.1.1", + "debug": "^2.6.6", + "strip-color": "^0.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "chokidar": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz", + "integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" + "readdirp": "^2.2.1", + "upath": "^1.1.1" } }, "chownr": { @@ -1798,6 +2821,19 @@ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==" }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" + }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", @@ -1847,7 +2883,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, "requires": { "restore-cursor": "^2.0.0" } @@ -1855,8 +2890,17 @@ "cli-width": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" + }, + "clipboard": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.4.tgz", + "integrity": "sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ==", + "requires": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } }, "cliui": { "version": "3.2.0", @@ -1866,13 +2910,37 @@ "string-width": "^1.0.1", "strip-ansi": "^3.0.1", "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + } } }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" - }, "clone-deep": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", @@ -1891,47 +2959,29 @@ "requires": { "for-in": "^1.0.1" } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" } } }, - "co": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz", - "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=" - }, - "co-from-stream": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/co-from-stream/-/co-from-stream-0.0.0.tgz", - "integrity": "sha1-GlzYztdyY5RglPo58kmaYyl7yvk=", - "requires": { - "co-read": "0.0.1" - } - }, - "co-fs-extra": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/co-fs-extra/-/co-fs-extra-1.2.1.tgz", - "integrity": "sha1-O2rXfPJhRTD2d7HPYmZPW6dWtyI=", + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", "requires": { - "co-from-stream": "~0.0.0", - "fs-extra": "~0.26.5", - "thunkify-wrap": "~1.0.4" + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" } }, - "co-read": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/co-read/-/co-read-0.0.1.tgz", - "integrity": "sha1-+Bs+uKhmdf7FHj2IOn9WToc8k4k=" - }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, - "coffee-script": { - "version": "1.12.7", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", - "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==" - }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", @@ -1941,6 +2991,15 @@ "object-visit": "^1.0.0" } }, + "color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", + "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -1954,10 +3013,20 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, + "color-string": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", + "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, "colors": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz", - "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==" + "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", + "dev": true }, "combined-stream": { "version": "1.0.7", @@ -1968,18 +3037,9 @@ } }, "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" - }, - "commist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/commist/-/commist-1.1.0.tgz", - "integrity": "sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==", - "requires": { - "leven": "^2.1.0", - "minimist": "^1.1.0" - } + "version": "2.20.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", + "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==" }, "commondir": { "version": "1.0.1", @@ -1987,9 +3047,53 @@ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" }, "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "compressible": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", + "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", + "requires": { + "mime-db": ">= 1.40.0 < 2" + }, + "dependencies": { + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + } + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } }, "concat-map": { "version": "0.0.1", @@ -2005,37 +3109,18 @@ "inherits": "^2.0.3", "readable-stream": "^2.2.2", "typedarray": "^0.0.6" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==" + }, + "consola": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.7.1.tgz", + "integrity": "sha512-u7JYs+HnMbZPD2cEuS1XHsLeqtazA0kd5lAk8r8DnnGdgNhOdb7DSubJ+QLdQkbtpmmxgp7gs8Ug44sCyY4FCQ==" + }, "console-browserify": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", @@ -2069,20 +3154,18 @@ "dev": true }, "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } }, "content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" }, - "continuable-cache": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz", - "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=" - }, "convert-source-map": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", @@ -2092,9 +3175,9 @@ } }, "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" }, "cookie-signature": { "version": "1.0.6", @@ -2119,32 +3202,71 @@ "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" }, - "core-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.0.0.tgz", - "integrity": "sha512-WBmxlgH2122EzEJ6GH8o9L/FeoUKxxxZ6q6VUxoTlsE4EvbTWKJb447eyVxTEuq0LpXjlq/kCB2qgBvsYRkLvQ==" - }, - "core-js-compat": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.0.0.tgz", - "integrity": "sha512-W/Ppz34uUme3LmXWjMgFlYyGnbo1hd9JvA0LNQ4EmieqVjg2GPYbj3H6tcdP2QGPGWdRKUqZVbVKLNIFVs/HiA==", + "copy-webpack-plugin": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.0.3.tgz", + "integrity": "sha512-PlZRs9CUMnAVylZq+vg2Juew662jWtwOXOqH4lbQD9ZFhRG9R7tVStOgHt21CBGVq7k5yIJaz8TXDLSjV+Lj8Q==", "requires": { - "browserslist": "^4.5.1", - "core-js": "3.0.0", - "core-js-pure": "3.0.0", - "semver": "^5.6.0" + "cacache": "^11.3.2", + "find-cache-dir": "^2.1.0", + "glob-parent": "^3.1.0", + "globby": "^7.1.1", + "is-glob": "^4.0.1", + "loader-utils": "^1.2.3", + "minimatch": "^3.0.4", + "normalize-path": "^3.0.0", + "p-limit": "^2.2.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^1.7.0", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + } } }, - "core-js-pure": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.0.0.tgz", - "integrity": "sha512-yPiS3fQd842RZDgo/TAKGgS0f3p2nxssF1H65DIZvZv0Od5CygP8puHXn3IQiM/39VAvgCbdaMQpresrbGgt9g==" + "core-js": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, "create-ecdh": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", @@ -2180,11 +3302,14 @@ } }, "cross-spawn": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", - "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", - "requires": { - "lru-cache": "^4.0.1", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", "which": "^1.2.9" } }, @@ -2206,6 +3331,20 @@ "randomfill": "^1.0.3" } }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + } + }, "css-loader": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-2.1.1.tgz", @@ -2222,54 +3361,151 @@ "postcss-modules-values": "^2.0.0", "postcss-value-parser": "^3.3.0", "schema-utils": "^1.0.0" - }, - "dependencies": { - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - } } }, + "css-parse": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz", + "integrity": "sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs=" + }, "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.0.2.tgz", + "integrity": "sha512-dSpYaDVoWaELjvZ3mS6IKZM/y2PMPa/XYoEfYNZePL4U/XgyxZNroHEHReDx/d+VgXh9VbCTtFqLkFbmeqeaRQ==", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^2.1.2", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "css-tree": { + "version": "1.0.0-alpha.28", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.28.tgz", + "integrity": "sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w==", "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" + "mdn-data": "~1.1.0", + "source-map": "^0.5.3" } }, + "css-unit-converter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz", + "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=" + }, + "css-url-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/css-url-regex/-/css-url-regex-1.1.0.tgz", + "integrity": "sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w=" + }, "css-what": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.2.tgz", - "integrity": "sha512-wan8dMWQ0GUeF7DGEPVjhHemVW/vy6xUYmFzRY8RYqgA0JtXC9rJmbScBjqSu6dg9q0lwPQy6ZAmJVr3PPTvqQ==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" }, "cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" }, - "cssom": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.4.tgz", - "integrity": "sha512-+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog==", - "optional": true + "cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.7", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "cssnano-preset-default": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.2", + "postcss-unique-selectors": "^4.0.1" + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=" }, - "cssstyle": { - "version": "0.2.37", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", - "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", - "optional": true, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=" + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", "requires": { - "cssom": "0.3.x" + "postcss": "^7.0.0" } }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==" + }, + "csso": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/csso/-/csso-3.5.1.tgz", + "integrity": "sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==", + "requires": { + "css-tree": "1.0.0-alpha.29" + }, + "dependencies": { + "css-tree": { + "version": "1.0.0-alpha.29", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.29.tgz", + "integrity": "sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==", + "requires": { + "mdn-data": "~1.1.0", + "source-map": "^0.5.3" + } + } + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "requires": { "array-find-index": "^1.0.1" @@ -2280,14 +3516,6 @@ "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=" }, - "d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", - "requires": { - "es5-ext": "^0.10.9" - } - }, "dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", @@ -2324,17 +3552,28 @@ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=" + }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==" + }, + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", "requires": { - "clone": "^1.0.2" + "execa": "^1.0.0", + "ip-regex": "^2.1.0" } }, "define-properties": { @@ -2382,11 +3621,56 @@ } } }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + } + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + } + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" + }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", @@ -2411,22 +3695,20 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", - "dev": true + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" }, - "dev-null": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dev-null/-/dev-null-0.1.1.tgz", - "integrity": "sha1-WiBc48Ky73e2I41roXnrdMag6Bg=" + "diacritics": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/diacritics/-/diacritics-1.3.0.tgz", + "integrity": "sha1-PvqHMj67hj5mls67AILUj/PW96E=" }, "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", + "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==" }, "diffie-hellman": { "version": "5.0.3", @@ -2438,29 +3720,73 @@ "randombytes": "^2.0.0" } }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "requires": { + "path-type": "^3.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "docsearch.js": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/docsearch.js/-/docsearch.js-2.6.2.tgz", + "integrity": "sha512-qyQ+raZlHSkfdpFg8wJNhjiz9WsjdQkRGe2LiiKS6vIIsouNNole2Kg/9UvGoUIK9PLLl31uL3I4YDwnrXt5yQ==", + "requires": { + "algoliasearch": "^3.24.5", + "autocomplete.js": "0.33.0", + "hogan.js": "^3.0.2", + "request": "^2.87.0", + "stack-utils": "^1.0.1", + "to-factory": "^1.0.0", + "zepto": "^1.2.0" + } + }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, "requires": { "esutils": "^2.0.2" } }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "requires": { + "utila": "~0.4" + } + }, "dom-serializer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" - }, - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" - } + "domelementtype": "^1.3.0", + "entities": "^1.1.1" } }, "dom-walk": { @@ -2487,14 +3813,22 @@ } }, "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "requires": { "dom-serializer": "0", "domelementtype": "1" } }, + "dot-prop": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "requires": { + "is-obj": "^1.0.0" + } + }, "duplexify": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", @@ -2504,35 +3838,6 @@ "inherits": "^2.0.1", "readable-stream": "^2.0.0", "stream-shift": "^1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "ecc-jsbn": { @@ -2549,16 +3854,10 @@ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, - "ejs": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz", - "integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==", - "dev": true - }, "electron-to-chromium": { - "version": "1.3.119", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.119.tgz", - "integrity": "sha512-3mtqcAWa4HgG+Djh/oNXlPH0cOH6MmtwxN1nHSaReb9P0Vn51qYPqYwLeoSuAX9loU1wrOBhFbiX3CkeIxPfgg==" + "version": "1.3.144", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.144.tgz", + "integrity": "sha512-jNRFJpfNrYm5uJ4x0q9oYMOfbL0JPOlkNli8GS/5zEmCjnE5jAtoCo4BYajHiqSPqEeAjtTdItL4p7EZw+jSfg==" }, "elliptic": { "version": "6.4.1", @@ -2584,11 +3883,6 @@ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" }, - "enable": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/enable/-/enable-1.3.2.tgz", - "integrity": "sha1-nrpoN9FtCYK1n4fYib91REPVKTE=" - }, "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", @@ -2603,14 +3897,13 @@ } }, "enhanced-resolve": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", - "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", "requires": { "graceful-fs": "^4.1.2", "memory-fs": "^0.4.0", - "object-assign": "^4.0.1", - "tapable": "^0.2.7" + "tapable": "^1.0.0" } }, "entities": { @@ -2627,6 +3920,11 @@ "through": "~2.3.4" } }, + "envinfo": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.3.1.tgz", + "integrity": "sha512-GvXiDTqLYrORVSCuJCsWHPXF5BFvoWMQA9xX4YVjPT1jyS3aZEHUBwjzxU/6LTPF9ReHgVEbX7IEN5UvSXHw/A==" + }, "errno": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", @@ -2635,15 +3933,6 @@ "prr": "~1.0.1" } }, - "error": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz", - "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=", - "requires": { - "string-template": "~0.2.1", - "xtend": "~4.0.0" - } - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -2652,6 +3941,11 @@ "is-arrayish": "^0.2.1" } }, + "error-symbol": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/error-symbol/-/error-symbol-0.1.0.tgz", + "integrity": "sha1-Ck2uN9YA0VopukU9jvkg8YRDM/Y=" + }, "es-abstract": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", @@ -2675,64 +3969,10 @@ "is-symbol": "^1.0.2" } }, - "es5-ext": { - "version": "0.10.49", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.49.tgz", - "integrity": "sha512-3NMEhi57E31qdzmYp2jwRArIUsj1HI/RxbQ4bgnSB+AIKIxsAmTiK83bYMifIcpWvEc3P1X30DhUKOqEtF/kvg==", - "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "^1.0.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" - } - }, "es6-promise": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", - "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==" - }, - "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" - } - }, - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.6.tgz", + "integrity": "sha512-aRVgGdnmW2OiySVPUC9e6m+plolMAJKjZnQlCwNSuK5yQ0JN61DZSO1X1Ufd1foqWRAlig0rhduTCHe7sVtK5Q==" }, "escape-html": { "version": "1.0.3", @@ -2744,38 +3984,10 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, - "escodegen": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz", - "integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==", - "optional": true, - "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "optional": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true - } - } - }, "eslint": { - "version": "5.15.3", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.15.3.tgz", - "integrity": "sha512-vMGi0PjCHSokZxE0NLp2VneGw5sio7SSiDNgIUn2tC0XkWJRNOIoHIg3CliLVfXnJsiHxGAYrkw0PieAu8+KYQ==", - "dev": true, + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", + "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", "requires": { "@babel/code-frame": "^7.0.0", "ajv": "^6.9.1", @@ -2797,7 +4009,7 @@ "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "inquirer": "^6.2.2", - "js-yaml": "^3.12.0", + "js-yaml": "^3.13.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.3.0", "lodash": "^4.17.11", @@ -2815,45 +4027,83 @@ "text-table": "^0.2.0" }, "dependencies": { - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "import-fresh": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.0.0.tgz", + "integrity": "sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ==", "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } } }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, "requires": { "ansi-regex": "^3.0.0" } + }, + "table": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/table/-/table-5.3.3.tgz", + "integrity": "sha512-3wUNCgdWX6PNpOe3amTTPWPuF6VGvgzjKCaO1snFj0z7Y3mUPWf5+zDtxUVGispJkDECPmR29wbzh6bVMOHbcw==", + "requires": { + "ajv": "^6.9.1", + "lodash": "^4.17.11", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + } } } }, @@ -2885,9 +4135,9 @@ } }, "eslint-module-utils": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.3.0.tgz", - "integrity": "sha512-lmDJgeOOjk8hObTysjqH7wyMi+nsHwwvfBykwfhjR1LNdd7C2uFJBvx4OpWYpXOw4df1yE1cDEVd1yLHitk34w==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.0.tgz", + "integrity": "sha512-14tltLm38Eu3zS+mt0KvILC3q8jyIAH518MlG+HO0p+yK885Lb1UHTY/UgR91eOyGdmxAPb+OLoW4znqIT6Ndw==", "dev": true, "requires": { "debug": "^2.6.8", @@ -2974,30 +4224,31 @@ } }, "eslint-plugin-html": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-5.0.3.tgz", - "integrity": "sha512-46ruAnp3jVQP/5Bi5eEIOooscjUTPFU3vxCxHe/OG6ORdM7Xv5c25/Nz9fAbHklzCpiXuIiH4/mV/XBkm7MINw==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-5.0.5.tgz", + "integrity": "sha512-v/33i3OD0fuXcRXexVyXXBOe4mLBLBQoF1UO1Uy9D+XLq4MC8K45GcQKfqjC/FnHAHp3pYUjpHHktYNCtShGmg==", "dev": true, "requires": { "htmlparser2": "^3.10.0" } }, "eslint-plugin-import": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.16.0.tgz", - "integrity": "sha512-z6oqWlf1x5GkHIFgrSvtmudnqM6Q60KM4KvpWi5ubonMjycLjndvd5+8VAZIsTlHC03djdgJuyKG6XO577px6A==", + "version": "2.17.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.17.2.tgz", + "integrity": "sha512-m+cSVxM7oLsIpmwNn2WXTJoReOF9f/CtLMo7qOVmKd1KntBy0hEcuNZ3erTmWjx+DxRO0Zcrm5KwAvI9wHcV5g==", "dev": true, "requires": { + "array-includes": "^3.0.3", "contains-path": "^0.1.0", "debug": "^2.6.9", "doctrine": "1.5.0", "eslint-import-resolver-node": "^0.3.2", - "eslint-module-utils": "^2.3.0", + "eslint-module-utils": "^2.4.0", "has": "^1.0.3", "lodash": "^4.17.11", "minimatch": "^3.0.4", "read-pkg-up": "^2.0.0", - "resolve": "^1.9.0" + "resolve": "^1.10.0" }, "dependencies": { "debug": { @@ -3019,143 +4270,55 @@ "isarray": "^1.0.0" } }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "^2.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true + } + } + }, + "eslint-plugin-node": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-9.0.1.tgz", + "integrity": "sha512-fljT5Uyy3lkJzuqhxrYanLSsvaILs9I7CmQ31atTtZ0DoIzRbbvInBh4cQ1CrthFHInHYBQxfPmPt6KLHXNXdw==", + "dev": true, + "requires": { + "eslint-plugin-es": "^1.4.0", + "eslint-utils": "^1.3.1", + "ignore": "^5.1.1", + "minimatch": "^3.0.4", + "resolve": "^1.10.1", + "semver": "^6.0.0" + }, + "dependencies": { + "ignore": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.1.tgz", + "integrity": "sha512-DWjnQIFLenVrwyRCKZT+7a7/U4Cqgar4WG8V++K3hw+lrW1hc/SIwdiGmtxKCVACmHULTuGeBbHJmbwW7/sAvA==", + "dev": true }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "resolve": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", + "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "path-parse": "^1.0.6" } }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } - }, - "eslint-plugin-node": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-8.0.1.tgz", - "integrity": "sha512-ZjOjbjEi6jd82rIpFSgagv4CHWzG9xsQAVp1ZPlhRnnYxcTgENUVBvhYmkQ7GvT1QFijUSo69RaiOJKhMu6i8w==", - "dev": true, - "requires": { - "eslint-plugin-es": "^1.3.1", - "eslint-utils": "^1.3.1", - "ignore": "^5.0.2", - "minimatch": "^3.0.4", - "resolve": "^1.8.1", - "semver": "^5.5.0" - }, - "dependencies": { - "ignore": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.0.6.tgz", - "integrity": "sha512-/+hp3kUf/Csa32ktIaj0OlRqQxrgs30n62M90UBpNd9k+ENEch5S+hmbW3DtcJGz3sYFTh4F3A6fQ0q7KWsp4w==", + "semver": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.0.0.tgz", + "integrity": "sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ==", "dev": true } } }, "eslint-plugin-promise": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.0.1.tgz", - "integrity": "sha512-Si16O0+Hqz1gDHsys6RtFRrW7cCTB6P7p3OJmKp3Y3dxpQE2qwOA7d3xnV+0mBmrPoi0RBnxlCKvqu70te6wjg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.1.1.tgz", + "integrity": "sha512-faAHw7uzlNPy7b45J1guyjazw28M+7gJokKUjC5JSFoYfUEyy6Gw/i7YQvmv2Yk00sUjWcmzXQLpU1Ki/C2IZQ==", "dev": true }, "eslint-plugin-standard": { @@ -3168,7 +4331,6 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", - "dev": true, "requires": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" @@ -3177,32 +4339,21 @@ "eslint-utils": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", - "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", - "dev": true + "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==" }, "eslint-visitor-keys": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", - "dev": true + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==" }, "espree": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", - "dev": true, "requires": { "acorn": "^6.0.7", "acorn-jsx": "^5.0.0", "eslint-visitor-keys": "^1.0.0" - }, - "dependencies": { - "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", - "dev": true - } } }, "esprima": { @@ -3214,7 +4365,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", - "dev": true, "requires": { "estraverse": "^4.0.0" } @@ -3223,7 +4373,6 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, "requires": { "estraverse": "^4.1.0" } @@ -3243,19 +4392,23 @@ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "requires": { - "d": "1", - "es5-ext": "~0.10.14" - } + "eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" }, "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz", + "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==" + }, + "eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "requires": { + "original": "^1.0.0" + } }, "evp_bytestokey": { "version": "1.0.3", @@ -3278,20 +4431,6 @@ "p-finally": "^1.0.0", "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - } } }, "expand-brackets": { @@ -3324,6 +4463,14 @@ "is-descriptor": "^0.1.0" } }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -3331,103 +4478,53 @@ } } }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "requires": { - "fill-range": "^2.1.0" - }, - "dependencies": { - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "requires": { - "kind-of": "^3.0.2" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" - } + "expose-loader": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/expose-loader/-/expose-loader-0.7.5.tgz", + "integrity": "sha512-iPowgKUZkTPX5PznYsmifVj9Bob0w2wTHVkt/eYNPSzyebkUgIedmskf/kcfEIWpiWjg3JRjnW+a17XypySMuw==" }, "express": { - "version": "4.16.4", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", - "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", "requires": { - "accepts": "~1.3.5", + "accepts": "~1.3.7", "array-flatten": "1.1.1", - "body-parser": "1.18.3", - "content-disposition": "0.5.2", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", "content-type": "~1.0.4", - "cookie": "0.3.1", + "cookie": "0.4.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "~1.1.2", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.1.1", + "finalhandler": "~1.1.2", "fresh": "0.5.2", "merge-descriptors": "1.0.1", "methods": "~1.1.2", "on-finished": "~2.3.0", - "parseurl": "~1.3.2", + "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.4", - "qs": "6.5.2", - "range-parser": "~1.2.0", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", "safe-buffer": "5.1.2", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" }, "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -3440,6 +4537,16 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" } } }, @@ -3449,18 +4556,28 @@ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "requires": { - "is-extendable": "^0.1.0" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } } }, "external-editor": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", - "dev": true, "requires": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", @@ -3471,7 +4588,6 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -3501,6 +4617,14 @@ "is-descriptor": "^1.0.0" } }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, "is-accessor-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", @@ -3539,13 +4663,17 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" }, - "fast-deepclone": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fast-deepclone/-/fast-deepclone-1.0.1.tgz", - "integrity": "sha512-AwNVICZKD2h3gvhArfA/ULZe+sLl9BhVZoQaS4H1Lo0KEwJAT183gzECJqgB7VvHOfI09vVOpIuphAGlRq6Y4w==", + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", "requires": { - "bindings": "^1.3.0", - "nan": "^2.11.1" + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" } }, "fast-json-stable-stringify": { @@ -3566,11 +4694,15 @@ "websocket-driver": ">=0.5.1" } }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==" + }, "figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, "requires": { "escape-string-regexp": "^1.0.5" } @@ -3579,15 +4711,18 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, "requires": { "flat-cache": "^2.0.1" } }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" + "file-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", + "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", + "requires": { + "loader-utils": "^1.0.2", + "schema-utils": "^1.0.0" + } }, "fill-range": { "version": "4.0.0", @@ -3598,19 +4733,29 @@ "is-number": "^3.0.0", "repeat-string": "^1.6.1", "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } } }, "finalhandler": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.4.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", "unpipe": "~1.0.0" }, "dependencies": { @@ -3629,13 +4774,29 @@ } } }, + "find-babel-config": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz", + "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==", + "requires": { + "json5": "^0.5.1", + "path-exists": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + } + } + }, "find-cache-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz", - "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "requires": { "commondir": "^1.0.1", - "make-dir": "^1.0.0", + "make-dir": "^2.0.0", "pkg-dir": "^3.0.0" } }, @@ -3647,35 +4808,6 @@ "locate-path": "^3.0.0" } }, - "findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", - "dev": true, - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - }, - "dependencies": { - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, "flat": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", @@ -3697,7 +4829,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, "requires": { "flatted": "^2.0.0", "rimraf": "2.6.3", @@ -3707,8 +4838,7 @@ "flatted": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz", - "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==", - "dev": true + "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==" }, "flush-write-stream": { "version": "1.1.1", @@ -3717,33 +4847,22 @@ "requires": { "inherits": "^2.0.3", "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.7.0.tgz", + "integrity": "sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ==", + "requires": { + "debug": "^3.2.6" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", "requires": { - "safe-buffer": "~5.1.0" + "ms": "^2.1.1" } } } @@ -3754,9 +4873,9 @@ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" }, "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", "requires": { "for-in": "^1.0.1" } @@ -3806,78 +4925,16 @@ "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, - "fs": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.2.tgz", - "integrity": "sha1-4fJE7zkzwbKmS9R5kTYGDQ9ZFPg=" - }, "fs-extra": { - "version": "0.26.7", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", - "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "requires": { "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - }, - "dependencies": { - "jsonfile": { - "version": "2.4.0", - "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "requires": { - "graceful-fs": "^4.1.6" - } - } - } - }, - "fs-tools": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/fs-tools/-/fs-tools-0.5.0.tgz", - "integrity": "sha512-iJG+dKoTlWevEBvsZYkq7Fy1XJVYHMObel+MIKOf+3HbiENQG0JH5bgTlzJYsrdwZvft1vE/yl/P/T4wngAv8A==", - "requires": { - "async": "~ 0.2.9", - "lodash": "^4.17.10" - }, - "dependencies": { - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" - } + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, "fs-write-stream-atomic": { @@ -3889,35 +4946,6 @@ "iferr": "^0.1.5", "imurmurhash": "^0.1.4", "readable-stream": "1 || 2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "fs.realpath": { @@ -3926,13 +4954,13 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz", - "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", "optional": true, "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" }, "dependencies": { "abbrev": { @@ -3942,8 +4970,7 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true, - "optional": true + "bundled": true }, "aproba": { "version": "1.2.0", @@ -3961,13 +4988,11 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true, - "optional": true + "bundled": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3980,18 +5005,15 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true, - "optional": true + "bundled": true }, "concat-map": { "version": "0.0.1", - "bundled": true, - "optional": true + "bundled": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true, - "optional": true + "bundled": true }, "core-util-is": { "version": "1.0.2", @@ -3999,11 +5021,11 @@ "optional": true }, "debug": { - "version": "2.6.9", + "version": "4.1.1", "bundled": true, "optional": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "deep-extend": { @@ -4094,8 +5116,7 @@ }, "inherits": { "version": "2.0.3", - "bundled": true, - "optional": true + "bundled": true }, "ini": { "version": "1.3.5", @@ -4105,7 +5126,6 @@ "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -4118,20 +5138,17 @@ "minimatch": { "version": "3.0.4", "bundled": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "bundled": true, - "optional": true + "bundled": true }, "minipass": { "version": "2.3.5", "bundled": true, - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -4148,28 +5165,27 @@ "mkdirp": { "version": "0.5.1", "bundled": true, - "optional": true, "requires": { "minimist": "0.0.8" } }, "ms": { - "version": "2.0.0", + "version": "2.1.1", "bundled": true, "optional": true }, "needle": { - "version": "2.2.4", + "version": "2.3.0", "bundled": true, "optional": true, "requires": { - "debug": "^2.1.2", + "debug": "^4.1.0", "iconv-lite": "^0.4.4", "sax": "^1.2.4" } }, "node-pre-gyp": { - "version": "0.10.3", + "version": "0.12.0", "bundled": true, "optional": true, "requires": { @@ -4195,12 +5211,12 @@ } }, "npm-bundled": { - "version": "1.0.5", + "version": "1.0.6", "bundled": true, "optional": true }, "npm-packlist": { - "version": "1.2.0", + "version": "1.4.1", "bundled": true, "optional": true, "requires": { @@ -4221,8 +5237,7 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true, - "optional": true + "bundled": true }, "object-assign": { "version": "4.1.1", @@ -4232,7 +5247,6 @@ "once": { "version": "1.4.0", "bundled": true, - "optional": true, "requires": { "wrappy": "1" } @@ -4308,8 +5322,7 @@ }, "safe-buffer": { "version": "5.1.2", - "bundled": true, - "optional": true + "bundled": true }, "safer-buffer": { "version": "2.1.2", @@ -4322,7 +5335,7 @@ "optional": true }, "semver": { - "version": "5.6.0", + "version": "5.7.0", "bundled": true, "optional": true }, @@ -4339,7 +5352,6 @@ "string-width": { "version": "1.0.2", "bundled": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -4357,7 +5369,6 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -4396,13 +5407,11 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true, - "optional": true + "bundled": true }, "yallist": { "version": "3.0.3", - "bundled": true, - "optional": true + "bundled": true } } }, @@ -4425,8 +5434,7 @@ "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, "gauge": { "version": "2.7.4", @@ -4441,6 +5449,26 @@ "string-width": "^1.0.1", "strip-ansi": "^3.0.1", "wide-align": "^1.1.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } } }, "gaze": { @@ -4467,6 +5495,17 @@ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", "requires": { "pump": "^3.0.0" + }, + "dependencies": { + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } } }, "get-value": { @@ -4495,54 +5534,15 @@ "path-is-absolute": "^1.0.0" } }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" - } - }, "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "requires": { - "is-glob": "^2.0.0" - } - }, - "glob-stream": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", - "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "requires": { - "extend": "^3.0.0", - "glob": "^7.1.1", - "glob-parent": "^3.1.0", - "is-negated-glob": "^1.0.0", - "ordered-read-streams": "^1.0.0", - "pumpify": "^1.3.5", - "readable-stream": "^2.1.5", - "remove-trailing-separator": "^1.0.1", - "to-absolute-glob": "^2.0.0", - "unique-stream": "^2.0.2" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" }, "dependencies": { - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, "is-glob": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", @@ -4550,36 +5550,14 @@ "requires": { "is-extglob": "^2.1.0" } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } } } }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" + }, "global": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", @@ -4587,30 +5565,13 @@ "requires": { "min-document": "^2.19.0", "process": "~0.5.1" - } - }, - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "dev": true, - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" + }, + "dependencies": { + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" + } } }, "globals": { @@ -4618,6 +5579,28 @@ "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz", "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==" }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + } + } + }, "globule": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", @@ -4628,21 +5611,28 @@ "minimatch": "~3.0.2" } }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "requires": { + "delegate": "^3.1.2" + } + }, "graceful-fs": { "version": "4.1.15", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" }, "gray-matter": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", - "integrity": "sha1-MELZrewqHe1qdwep7SOA+KF6Qw4=", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.2.tgz", + "integrity": "sha512-7hB/+LxrOjq/dd8APlK0r24uL/67w7SkYnfwhNFwg/VDIGWGmduTDYf3WNstLW2fbbmRwrDGCVSJ2isuf2+4Hw==", "requires": { - "ansi-red": "^0.1.1", - "coffee-script": "^1.12.4", - "extend-shallow": "^2.0.1", - "js-yaml": "^3.8.1", - "toml": "^2.3.2" + "js-yaml": "^3.11.0", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" } }, "growl": { @@ -4651,23 +5641,10 @@ "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", "dev": true }, - "handlebars": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.1.tgz", - "integrity": "sha512-3Zhi6C0euYZL5sM0Zcy7lInLXKQ+YLcF/olbN010mzGQ4XVm50JeyBnMqofHh696GrciGruC7kCcApPDJvVgwA==", - "requires": { - "neo-async": "^2.6.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } - } + "handle-thing": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", + "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==" }, "har-schema": { "version": "2.0.0", @@ -4699,21 +5676,11 @@ "ansi-regex": "^2.0.0" } }, - "has-color": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", - "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=" - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, - "has-generators": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-generators/-/has-generators-1.0.1.tgz", - "integrity": "sha1-pqLlVIYBGUBILhPiyTeRxEms9Ek=" - }, "has-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", @@ -4781,21 +5748,10 @@ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, - "help-me": { + "hex-color-regex": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/help-me/-/help-me-1.1.0.tgz", - "integrity": "sha1-jy1QjQYAtKRW2i8IZVbn5cBWo8Y=", - "requires": { - "callback-stream": "^1.0.2", - "glob-stream": "^6.1.0", - "through2": "^2.0.1", - "xtend": "^4.0.0" - } - }, - "highlight.js": { - "version": "9.15.6", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.15.6.tgz", - "integrity": "sha512-zozTAWM1D6sozHo8kqhfYgsac+B+q0PmsjXeyDrYIHHcBN0zTVT66+s2GW1GZv7DbyaROdLXKdabwS/WqPyIdQ==" + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" }, "hmac-drbg": { "version": "1.0.1", @@ -4807,18 +5763,20 @@ "minimalistic-crypto-utils": "^1.0.1" } }, - "hoek": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-6.1.2.tgz", - "integrity": "sha512-6qhh/wahGYZHFSFw12tBbJw5fsAhhwrrG/y3Cs0YMTv2WzMnL0oLPnQJjv1QJvEfylRSOFuP+xCu+tdx0tD16Q==" - }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "dev": true, + "hogan.js": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/hogan.js/-/hogan.js-3.0.2.tgz", + "integrity": "sha1-TNnhq9QpQUbnZ55B14mHMrAse/0=", "requires": { - "parse-passwd": "^1.0.0" + "mkdirp": "0.3.0", + "nopt": "1.0.10" + }, + "dependencies": { + "mkdirp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", + "integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=" + } } }, "hosted-git-info": { @@ -4826,6 +5784,37 @@ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==" }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=" + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=" + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==" + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=" + }, "html-minifier": { "version": "3.5.21", "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", @@ -4844,52 +5833,54 @@ "version": "2.17.1", "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "uglify-js": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", - "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", - "requires": { - "commander": "~2.19.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" - } - } } } }, + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=" + }, "htmlparser2": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz", - "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", "requires": { - "domelementtype": "^1.3.0", + "domelementtype": "^1.3.1", "domhandler": "^2.3.0", "domutils": "^1.5.1", "entities": "^1.1.1", "inherits": "^2.0.1", - "readable-stream": "^3.0.6" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "requires": { - "depd": "~1.1.2", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.3.0.tgz", + "integrity": "sha512-EsI+s3k3XsW+fU8fQACLN59ky34AZ14LoeVZpYwmZvldCFo0r0gnelwF2TcMjLor/BTL5aDJVBMkss0dthToPw==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" } }, "http-parser-js": { @@ -4897,6 +5888,27 @@ "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==" }, + "http-proxy": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", + "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "requires": { + "eventemitter3": "^3.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + } + }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -4907,20 +5919,15 @@ "sshpk": "^1.7.0" } }, - "http-status": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/http-status/-/http-status-0.2.5.tgz", - "integrity": "sha1-l2+RB36nv8FSd8vPjIDE1cUbSbA=" - }, "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" }, "iconv-lite": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", - "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -4931,17 +5938,17 @@ "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=" }, "icss-utils": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.0.tgz", - "integrity": "sha512-3DEun4VOeMvSczifM3F2cKQrDQ5Pj6WKhkOq6HD4QTnDUAq8MQRxy5TX6Sy1iY6WPBe4gQ3p5vTECjbIkglkkQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", "requires": { "postcss": "^7.0.14" } }, "ieee754": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" }, "iferr": { "version": "0.1.5", @@ -4951,17 +5958,45 @@ "ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "immediate": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.2.3.tgz", + "integrity": "sha1-0UD6j2FGWb1lQSMwl92qwlzdmRw=" + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "requires": { + "import-from": "^2.1.0" + } }, "import-fresh": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.0.0.tgz", - "integrity": "sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ==", - "dev": true, + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "requires": { + "resolve-from": "^3.0.0" + } + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" } }, "imurmurhash": { @@ -4975,9 +6010,9 @@ "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=" }, "indent-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", - "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" }, "indexes-of": { "version": "1.0.1", @@ -4998,30 +6033,20 @@ "wrappy": "1" } }, + "info-symbol": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/info-symbol/-/info-symbol-0.1.0.tgz", + "integrity": "sha1-J4QdcoZ920JCzWEtecEGM4gcang=" + }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "inputformat-to-jstransformer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/inputformat-to-jstransformer/-/inputformat-to-jstransformer-1.3.2.tgz", - "integrity": "sha512-0iXhVOvsa7NzJU+S9VqNyA4o477/h5SFEs8MUoX1/QKmsHGxbFudyrXl2L2w1CmeuUeEHhsAyQ7y51FNlBhC3g==", - "requires": { - "require-one": "^1.0.3" - } - }, "inquirer": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.2.tgz", - "integrity": "sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA==", - "dev": true, + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.3.1.tgz", + "integrity": "sha512-MmL624rfkFt4TG9y/Jvmt8vdmOo836U7Y0Hxr2aFk3RelZEGX4Igk0KabWrcaaZaTv9uzglOqWh1Vly+FAWAXA==", "requires": { "ansi-escapes": "^3.2.0", "chalk": "^2.4.2", @@ -5034,66 +6059,33 @@ "run-async": "^2.2.0", "rxjs": "^6.4.0", "string-width": "^2.1.0", - "strip-ansi": "^5.0.0", + "strip-ansi": "^5.1.0", "through": "^2.3.6" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, "requires": { "ansi-regex": "^4.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - } } } } }, - "interpret": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==" + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + } }, "invariant": { "version": "2.2.4", @@ -5108,24 +6100,25 @@ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" }, - "ipaddr.js": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", - "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=" + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" }, - "is": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/is/-/is-3.3.0.tgz", - "integrity": "sha512-nW24QBoPcFGGHJGUwnfpI7Yc5CdqWNdsyHQszVE/z2pKHXzh7FZ5GWhJqSyaQ9wMkQnsTx+kAI8bHlCX4tKdbg==" + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" }, - "is-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", - "requires": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" - } + "ipaddr.js": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=" }, "is-accessor-descriptor": { "version": "0.1.6", @@ -5163,19 +6156,24 @@ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "requires": { - "builtin-modules": "^1.0.0" - } - }, "is-callable": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -5216,18 +6214,10 @@ } } }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "requires": { - "is-primitive": "^2.0.0" - } + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" }, "is-extendable": { "version": "0.1.1", @@ -5235,9 +6225,9 @@ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" }, "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-finite": { "version": "1.0.2", @@ -5248,26 +6238,18 @@ } }, "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "^2.1.1" } }, - "is-negated-glob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", - "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=" - }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -5286,24 +6268,52 @@ } } }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" + }, + "is-path-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.1.0.tgz", + "integrity": "sha512-Sc5j3/YnM8tDeyCsVeKlm/0p95075DyLmDEIkSgQ7mXkrOX+uTCtmQFm0CYzVyJwcCCmO3k8qfJt17SxQwB5Zw==" + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { "isobject": "^3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } } }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" - }, "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", @@ -5317,19 +6327,24 @@ "has": "^1.0.1" } }, - "is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", - "requires": { - "is-unc-path": "^1.0.0" - } + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, + "is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "requires": { + "html-comment-regex": "^1.1.0" + } + }, "is-symbol": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", @@ -5343,14 +6358,6 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, - "is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", - "requires": { - "unc-path-regex": "^0.1.2" - } - }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", @@ -5361,10 +6368,15 @@ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, "isarray": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.4.tgz", - "integrity": "sha512-GMxXOiUirWg1xTKRipM0Ek07rX+ubx4nNVElTJdNLYmNO/2YrDkgJGw9CljXn+r4EWiDQg/8lsRdHyg2PJuUaA==" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "isexe": { "version": "2.0.0", @@ -5381,21 +6393,21 @@ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, - "jquery": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz", - "integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==" - }, - "jquery-mousewheel": { - "version": "3.1.13", - "resolved": "https://registry.npmjs.org/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz", - "integrity": "sha1-BvAzXxbjU6aV5yBr9QUDy1I6buU=" + "javascript-stringify": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-1.6.0.tgz", + "integrity": "sha1-FC0RHzpuPa6PSpr9d9RYVbWpzOM=" }, "js-base64": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==" }, + "js-cookie": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.0.tgz", + "integrity": "sha1-Gywnmm7s44ChIWi5JIUmWzWx7/s=" + }, "js-levenshtein": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", @@ -5407,9 +6419,9 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { - "version": "3.13.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.0.tgz", - "integrity": "sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -5420,38 +6432,15 @@ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" }, - "jsdom": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-7.2.2.tgz", - "integrity": "sha1-QLQCdwwr2iNGkJa+6Rq2deOx/G4=", - "optional": true, - "requires": { - "abab": "^1.0.0", - "acorn": "^2.4.0", - "acorn-globals": "^1.0.4", - "cssom": ">= 0.3.0 < 0.4.0", - "cssstyle": ">= 0.2.29 < 0.3.0", - "escodegen": "^1.6.1", - "nwmatcher": ">= 1.3.7 < 2.0.0", - "parse5": "^1.5.1", - "request": "^2.55.0", - "sax": "^1.1.4", - "symbol-tree": ">= 3.1.0 < 4.0.0", - "tough-cookie": "^2.2.0", - "webidl-conversions": "^2.0.0", - "whatwg-url-compat": "~0.6.5", - "xml-name-validator": ">= 2.0.1 < 3.0.0" - } - }, "jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" }, - "json-loader": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", - "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==" + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, "json-schema": { "version": "0.2.3", @@ -5463,14 +6452,6 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "requires": { - "jsonify": "~0.0.0" - } - }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", @@ -5481,6 +6462,11 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" + }, "json5": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", @@ -5490,19 +6476,13 @@ } }, "jsonfile": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-5.0.0.tgz", - "integrity": "sha512-NQRZ5CRo74MhMMC3/3r5g2k4fjodJ/wh8MxjFbCViWKFjxrnudWSY5vomh+23ZaXzAS7J3fBZIR2dV6WbmfM0w==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^0.1.2" + "graceful-fs": "^4.1.6" } }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" - }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -5514,46 +6494,43 @@ "verror": "1.10.0" } }, - "jstransformer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", - "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", - "requires": { - "is-promise": "^2.0.0", - "promise": "^7.0.1" - } - }, - "jstransformer-handlebars": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jstransformer-handlebars/-/jstransformer-handlebars-1.1.0.tgz", - "integrity": "sha1-kbpW4KKK7jG7VtStvLzlCNgjBGg=", - "requires": { - "handlebars": "^4.0.1" - } - }, "just-extend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.0.2.tgz", "integrity": "sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw==", "dev": true }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" + }, "kind-of": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "koalas": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/koalas/-/koalas-1.0.2.tgz", + "integrity": "sha1-MYQz8HQjXbePrlZhoCqMpT7ilc0=" + }, + "last-call-webpack-plugin": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz", + "integrity": "sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w==", "requires": { - "graceful-fs": "^4.1.9" + "lodash": "^4.17.5", + "webpack-sources": "^1.1.0" } }, "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", + "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", + "requires": { + "set-getter": "^0.1.0" + } }, "lcid": { "version": "1.0.0", @@ -5563,11 +6540,6 @@ "invert-kv": "^1.0.0" } }, - "leven": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz", - "integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=" - }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", @@ -5585,37 +6557,32 @@ "uc.micro": "^1.0.1" } }, - "livereload": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/livereload/-/livereload-0.6.3.tgz", - "integrity": "sha512-5SVeqHbKQWB69himud5GNRS8w1RgnMrYBnuIeZMiQ5ZctsIvhFfhKJclihxUS3NkOV7354rnA9rRz1IQBsgaNQ==", - "requires": { - "chokidar": "^1.7.0", - "opts": ">= 1.2.0", - "ws": "^1.1.1" - } - }, - "livereload-js": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz", - "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==" - }, "load-json-file": { - "version": "1.1.0", - "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, "requires": { "graceful-fs": "^4.1.2", "parse-json": "^2.2.0", "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "strip-bom": "^3.0.0" }, "dependencies": { + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true } } }, @@ -5625,9 +6592,9 @@ "integrity": "sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=" }, "loader-runner": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.1.tgz", - "integrity": "sha512-By6ZFY7ETWOc9RFaAIb23IjJVcM4dvJC/N57nmdz9RSkMXvAXGI7SyVlAw3v8vjtDRlqThgVDVmTnr9fqMlxkw==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" }, "loader-utils": { "version": "1.2.3", @@ -5663,262 +6630,82 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" }, - "lodash._arraycopy": { + "lodash._reinterpolate": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz", - "integrity": "sha1-due3wfH7klRzdIeKVi7Qaj5Q9uE=" + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" }, - "lodash._arrayeach": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz", - "integrity": "sha1-urFWsqkNPxu9XGU0AzSeXlkz754=" + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" }, - "lodash._baseassign": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", - "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", - "requires": { - "lodash._basecopy": "^3.0.0", - "lodash.keys": "^3.0.0" - } + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" }, - "lodash._baseclone": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-3.3.0.tgz", - "integrity": "sha1-MDUZv2OT/n5C802LYw73eU41Qrc=", - "requires": { - "lodash._arraycopy": "^3.0.0", - "lodash._arrayeach": "^3.0.0", - "lodash._baseassign": "^3.0.0", - "lodash._basefor": "^3.0.0", - "lodash.isarray": "^3.0.0", - "lodash.keys": "^3.0.0" - } + "lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=" }, - "lodash._basecopy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", - "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=" + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + }, + "lodash.mergewith": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", + "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==" + }, + "lodash.tail": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", + "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=" }, - "lodash._baseflatten": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/lodash._baseflatten/-/lodash._baseflatten-3.1.4.tgz", - "integrity": "sha1-B3D/gBMa9uNPO1EXlqe6UhTmX/c=", + "lodash.template": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", + "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", "requires": { - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" + "lodash._reinterpolate": "~3.0.0", + "lodash.templatesettings": "^4.0.0" } }, - "lodash._basefor": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz", - "integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=" - }, - "lodash._baseget": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/lodash._baseget/-/lodash._baseget-3.7.2.tgz", - "integrity": "sha1-G2rh1frPPCVTI1ChPBGXy4u2dPQ=" - }, - "lodash._bindcallback": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", - "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=" - }, - "lodash._createassigner": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz", - "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=", - "requires": { - "lodash._bindcallback": "^3.0.0", - "lodash._isiterateecall": "^3.0.0", - "lodash.restparam": "^3.0.0" - } - }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" - }, - "lodash._isiterateecall": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", - "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=" - }, - "lodash._pickbyarray": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/lodash._pickbyarray/-/lodash._pickbyarray-3.0.2.tgz", - "integrity": "sha1-H4mNlgfrVgsOFnOEt3x8bRCKpMU=" - }, - "lodash._pickbycallback": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._pickbycallback/-/lodash._pickbycallback-3.0.0.tgz", - "integrity": "sha1-/2G5oBens699MObFPeKK+hm4dQo=", - "requires": { - "lodash._basefor": "^3.0.0", - "lodash.keysin": "^3.0.0" - } - }, - "lodash._topath": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/lodash._topath/-/lodash._topath-3.8.1.tgz", - "integrity": "sha1-PsXiYGAU9MuX91X+aRTt2L/ADqw=", - "requires": { - "lodash.isarray": "^3.0.0" - } - }, - "lodash.assign": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz", - "integrity": "sha1-POnwI0tLIiPilrj6CsH+6OvKZPo=", - "requires": { - "lodash._baseassign": "^3.0.0", - "lodash._createassigner": "^3.0.0", - "lodash.keys": "^3.0.0" - } - }, - "lodash.assignin": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", - "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" - }, - "lodash.bind": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", - "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" - }, - "lodash.clone": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-3.0.3.tgz", - "integrity": "sha1-hGiMc9MrWpDKJWFpY/GJJSqZcEM=", + "lodash.templatesettings": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", + "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", "requires": { - "lodash._baseclone": "^3.0.0", - "lodash._bindcallback": "^3.0.0", - "lodash._isiterateecall": "^3.0.0" + "lodash._reinterpolate": "~3.0.0" } }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" - }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" - }, - "lodash.defaultsdeep": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.0.tgz", - "integrity": "sha1-vsECT4WxvZbL6kBbI8FK1kQ6b4E=" - }, - "lodash.filter": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", - "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" }, - "lodash.flatten": { + "lodash.toarray": { "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", + "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=" }, - "lodash.foreach": { + "lodash.uniq": { "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", - "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" - }, - "lodash.get": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-3.7.0.tgz", - "integrity": "sha1-POaK4skWg7KBzFOUEoMDy/deaR8=", - "requires": { - "lodash._baseget": "^3.0.0", - "lodash._topath": "^3.0.0" - } - }, - "lodash.identity": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-3.0.0.tgz", - "integrity": "sha1-rXvGpOZH15yXLhuA/u968VYmeHY=" - }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" - }, - "lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" - }, - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "requires": { - "lodash._getnative": "^3.0.0", - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" - } + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" }, - "lodash.keysin": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-3.0.8.tgz", - "integrity": "sha1-IsRJPrvtsUJ5YqVLRFssinZ/tH8=", + "log-ok": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/log-ok/-/log-ok-0.1.1.tgz", + "integrity": "sha1-vqPdNqzQuKckDXhza1uXxlREozQ=", "requires": { - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" + "ansi-green": "^0.1.1", + "success-symbol": "^0.1.0" } }, - "lodash.map": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", - "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" - }, - "lodash.merge": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", - "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==" - }, - "lodash.mergewith": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", - "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==" - }, - "lodash.pick": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" - }, - "lodash.reduce": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", - "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" - }, - "lodash.reject": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", - "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" - }, - "lodash.restparam": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", - "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=" - }, - "lodash.some": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", - "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" - }, - "lodash.tail": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", - "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=" - }, "log-symbols": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", @@ -5928,17 +6715,67 @@ "chalk": "^2.0.1" } }, + "log-utils": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/log-utils/-/log-utils-0.2.1.tgz", + "integrity": "sha1-pMIXoN2aUFFdm5ICBgkas9TgMc8=", + "requires": { + "ansi-colors": "^0.2.0", + "error-symbol": "^0.1.0", + "info-symbol": "^0.1.0", + "log-ok": "^0.1.1", + "success-symbol": "^0.1.0", + "time-stamp": "^1.0.1", + "warning-symbol": "^0.1.0" + }, + "dependencies": { + "ansi-colors": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-0.2.0.tgz", + "integrity": "sha1-csMd4qDZoszQysMMyYI+6y9kNLU=", + "requires": { + "ansi-bgblack": "^0.1.1", + "ansi-bgblue": "^0.1.1", + "ansi-bgcyan": "^0.1.1", + "ansi-bggreen": "^0.1.1", + "ansi-bgmagenta": "^0.1.1", + "ansi-bgred": "^0.1.1", + "ansi-bgwhite": "^0.1.1", + "ansi-bgyellow": "^0.1.1", + "ansi-black": "^0.1.1", + "ansi-blue": "^0.1.1", + "ansi-bold": "^0.1.1", + "ansi-cyan": "^0.1.1", + "ansi-dim": "^0.1.1", + "ansi-gray": "^0.1.1", + "ansi-green": "^0.1.1", + "ansi-grey": "^0.1.1", + "ansi-hidden": "^0.1.1", + "ansi-inverse": "^0.1.1", + "ansi-italic": "^0.1.1", + "ansi-magenta": "^0.1.1", + "ansi-red": "^0.1.1", + "ansi-reset": "^0.1.1", + "ansi-strikethrough": "^0.1.1", + "ansi-underline": "^0.1.1", + "ansi-white": "^0.1.1", + "ansi-yellow": "^0.1.1", + "lazy-cache": "^2.0.1" + } + } + } + }, + "loglevel": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.2.tgz", + "integrity": "sha512-Jt2MHrCNdtIe1W6co3tF5KXGRkzF+TYffiQstfXa04mrss9IKXzAAXYWak8LbZseAQY03sH2GzMCMU0ZOUc9bg==" + }, "lolex": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-3.1.0.tgz", - "integrity": "sha512-zFo5MgCJ0rZ7gQg69S4pqBsLURbFw11X68C18OcJjJQbqaXm2NoTrGl1IMM3TIz0/BnN1tIs2tzmmqvCsOMMjw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lolex/-/lolex-4.0.1.tgz", + "integrity": "sha512-UHuOBZ5jjsKuzbB/gRNNW8Vg8f00Emgskdq2kvZxgBJCS0aqquAuXai/SkWORlKeZEiNQWZjFZOqIUcH9LqKCw==", "dev": true }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" - }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -5970,14 +6807,32 @@ "yallist": "^2.1.2" } }, + "lunr": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.6.tgz", + "integrity": "sha512-swStvEyDqQ85MGpABCMBclZcLI/pBIlu8FFDtmX197+oEgKloJ67QnB+Tidh0340HmLMs39c4GrkPY3cmkXp6Q==" + }, "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "requires": { - "pify": "^3.0.0" + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==" + } } }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==" + }, "map-age-cleaner": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", @@ -5991,11 +6846,6 @@ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" - }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", @@ -6016,15 +6866,33 @@ "uc.micro": "^1.0.5" } }, - "marked": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.6.1.tgz", - "integrity": "sha512-+H0L3ibcWhAZE02SKMqmvYsErLo4EAVJxu5h3bHBBDvvjeWXtl92rGUSBYHL2++5Y+RSNgl8dYOAXcYe7lp1fA==" + "markdown-it-anchor": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.2.4.tgz", + "integrity": "sha512-n8zCGjxA3T+Mx1pG8HEgbJbkB8JFUuRkeTZQuIM8iPY6oQ8sWOPRZJDFC9a/pNg2QkHEjjGkhBEl/RSyzaDZ3A==" }, - "math-random": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", - "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=" + "markdown-it-chain": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/markdown-it-chain/-/markdown-it-chain-1.3.0.tgz", + "integrity": "sha512-XClV8I1TKy8L2qsT9iX3qiV+50ZtcInGXI80CA+DP62sMs7hXlyV/RM3hfwy5O3Ad0sJm9xIwQELgANfESo8mQ==", + "requires": { + "webpack-chain": "^4.9.0" + } + }, + "markdown-it-container": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-it-container/-/markdown-it-container-2.0.0.tgz", + "integrity": "sha1-ABm0P9Au7+zi8ZYKKJX7qBpARpU=" + }, + "markdown-it-emoji": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-1.4.0.tgz", + "integrity": "sha1-m+4OmpkKljupbfaYDE/dsF37Tcw=" + }, + "markdown-it-table-of-contents": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/markdown-it-table-of-contents/-/markdown-it-table-of-contents-0.4.4.tgz", + "integrity": "sha512-TAIHTHPwa9+ltKvKPWulm/beozQU41Ab+FIefRaQV1NRnpzwcV9QOe6wXQS5WLivm5Q/nlo0rl6laGkMDZE7Gw==" }, "md5.js": { "version": "1.3.5", @@ -6036,6 +6904,11 @@ "safe-buffer": "^5.1.2" } }, + "mdn-data": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz", + "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==" + }, "mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", @@ -6047,9 +6920,9 @@ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, "mem": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.2.0.tgz", - "integrity": "sha512-5fJxa68urlY0Ir8ijatKa3eRz5lwXnRCTvo9+TbTGAuTFJOwpGcY0X05moBd0nW45965Njt4CDI2GFQoG8DvqA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", + "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", "requires": { "map-age-cleaner": "^0.1.1", "mimic-fn": "^2.0.0", @@ -6063,52 +6936,6 @@ "requires": { "errno": "^0.1.3", "readable-stream": "^2.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" } }, "merge-descriptors": { @@ -6131,3627 +6958,103 @@ } } }, - "metalsmith": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/metalsmith/-/metalsmith-2.3.0.tgz", - "integrity": "sha1-gzr7taKmOF4tmuPZNeOeM+rqUjE=", + "merge2": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz", + "integrity": "sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "requires": { - "absolute": "0.0.1", - "chalk": "^1.1.3", - "clone": "^1.0.2", - "co-fs-extra": "^1.2.1", - "commander": "^2.6.0", - "gray-matter": "^2.0.0", - "has-generators": "^1.0.1", - "is": "^3.1.0", - "is-utf8": "~0.2.0", - "recursive-readdir": "^2.1.0", - "rimraf": "^2.2.8", - "stat-mode": "^0.2.0", - "thunkify": "^2.1.2", - "unyield": "0.0.1", - "ware": "^1.2.0", - "win-fork": "^1.1.1" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - } + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } }, - "metalsmith-algolia": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/metalsmith-algolia/-/metalsmith-algolia-0.1.0.tgz", - "integrity": "sha512-nxcVe/qHqn431dgdg6UKnUU/tZqWmlJmtOXFAkUqQFr4hXaOul/B1P4mqBq3f3bU2YsACqQtCZEDfx9YEqW/fw==", + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "requires": { - "algoliasearch": "^3.24.3", - "bluebird": "^3.5.0", - "debug": "^2.6.8" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } + "bn.js": "^4.0.0", + "brorand": "^1.0.1" } }, - "metalsmith-ancestry": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/metalsmith-ancestry/-/metalsmith-ancestry-1.4.0.tgz", - "integrity": "sha512-v3OEv96EbazTYj/QLRhTy3IGjkCLNDLcpX969qMC/zHQOZYuewJkXUcfLVgSrEqpgujtvgFanqcHpDif9QNoUQ==", + "mime": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz", + "integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==" + }, + "mime-db": { + "version": "1.38.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz", + "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==" + }, + "mime-types": { + "version": "2.1.22", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.22.tgz", + "integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==", "requires": { - "metalsmith-plugin-kit": "^1.0.1" + "mime-db": "~1.38.0" } }, - "metalsmith-concat": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/metalsmith-concat/-/metalsmith-concat-6.0.1.tgz", - "integrity": "sha512-WiqQ1kbxRggnscM6cxbcK6aiWkZG+6B96RWygSA0Ts0mfOmQ0QVBj04ny6/cPlSCpFHxUv+pqM2P0Xokv4JKYw==", + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "requires": { - "async": "2.6.1", - "glob": "7.1.3", - "minimatch": "3.0.4" + "dom-walk": "^0.1.0" } }, - "metalsmith-discover-partials": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/metalsmith-discover-partials/-/metalsmith-discover-partials-0.1.2.tgz", - "integrity": "sha512-rjVOCSnoXJyEQand85o8l8Z9Yevbyis23q+gCA5Q6w5SG2L+H/jMQYGokpj3a5cOl0Fkl+MaXZSHJ9elpKYNFg==", + "mini-css-extract-plugin": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.6.0.tgz", + "integrity": "sha512-79q5P7YGI6rdnVyIAV4NXpBQJFWdkzJxCim3Kog4078fM0piAaFlwocqbejdWtLW1cEzCexPrh6EdyFsPgVdAw==", "requires": { - "defaults": "^1.0.3", - "fs-tools": "^0.5.0", - "handlebars": "*" + "loader-utils": "^1.1.0", + "normalize-url": "^2.0.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" } }, - "metalsmith-filenames": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/metalsmith-filenames/-/metalsmith-filenames-1.0.0.tgz", - "integrity": "sha1-305p8ka4Mlu5GJ4Cc9LucImdAN4=" + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" }, - "metalsmith-gzip": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/metalsmith-gzip/-/metalsmith-gzip-1.1.0.tgz", - "integrity": "sha1-2amvtOGh5p1sAmSYLZo7WqHKSHQ=", + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "async": "^0.9.0", - "lodash.clone": "^3.0.1", - "lodash.defaults": "^3.1.1", - "multimatch": "^2.0.0" - }, - "dependencies": { - "async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" - }, - "lodash.defaults": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-3.1.2.tgz", - "integrity": "sha1-xzCLGNv4vJNy1wGnNJPGEZK9Liw=", - "requires": { - "lodash.assign": "^3.0.0", - "lodash.restparam": "^3.0.0" - } - } - } - }, - "metalsmith-hbt-md": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/metalsmith-hbt-md/-/metalsmith-hbt-md-1.0.1.tgz", - "integrity": "sha1-zUBiq+jwQFuX2Sjb5U+JDI4r2Ew=", - "requires": { - "debug": "^2.2.0", - "multimatch": "^2.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "metalsmith-html-minifier": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/metalsmith-html-minifier/-/metalsmith-html-minifier-3.0.3.tgz", - "integrity": "sha512-ML2B2TotnTAgfgGbJqhu7DaC6EvzeiOkeRwHEUcrU4a3vBT/SiinXLitTU3xs2L7FjjNqj9OeGJsglTSfXJZYQ==", - "requires": { - "html-minifier": "^3.0.0", - "lodash.defaultsdeep": "^4.1.0", - "multimatch": "^2.1.0" - } - }, - "metalsmith-inline-svg": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/metalsmith-inline-svg/-/metalsmith-inline-svg-0.1.4.tgz", - "integrity": "sha1-AeLwd9STHdJ1wqyzFGD/kWeixic=", - "requires": { - "cheerio": "^0.20.0", - "debug": "^2.2.0", - "xmldom": "^0.1.22" - }, - "dependencies": { - "cheerio": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.20.0.tgz", - "integrity": "sha1-XHEPK6uVZTJyhCugHG6mGzVF7DU=", - "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.0", - "entities": "~1.1.1", - "htmlparser2": "~3.8.1", - "jsdom": "^7.0.2", - "lodash": "^4.1.0" - } - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "domhandler": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", - "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", - "requires": { - "domelementtype": "1" - } - }, - "htmlparser2": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", - "requires": { - "domelementtype": "1", - "domhandler": "2.3", - "domutils": "1.5", - "entities": "1.0", - "readable-stream": "1.1" - }, - "dependencies": { - "entities": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=" - } - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - } - } - }, - "metalsmith-layouts": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/metalsmith-layouts/-/metalsmith-layouts-2.3.0.tgz", - "integrity": "sha512-WVWpySwnuqnE2CxMbvmZ+cKaGP1PVRcLOivicwNR3jjYcLTZ98XxKldgT+USD3rg52gWzDhAY9i8fYX8ZPBIUg==", - "requires": { - "debug": "^3.1.0", - "inputformat-to-jstransformer": "^1.2.1", - "is-utf8": "^0.2.1", - "jstransformer": "^1.0.0", - "multimatch": "^2.1.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "metalsmith-linkcheck": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/metalsmith-linkcheck/-/metalsmith-linkcheck-0.3.4.tgz", - "integrity": "sha512-X7FEHYoHLxs7lFfwdXAtKFXb6Qp9lqLK6cVyQReKOHXwhg78/tm7Lxr4Yeix5tHcL99jI0biQxVcjTlD7BkrFQ==", - "requires": { - "async": "^2.6.1", - "cheerio": "^1.0.0-rc.2", - "debug": "^3.1.0", - "dev-null": "^0.1.1", - "fs": "0.0.2", - "jsonfile": "^4.0.0", - "request": "^2.88.0", - "resolve-pathname": "^2.2.0", - "underscore": "^1.9.1", - "validator": "^10.7.0" - }, - "dependencies": { - "cheerio": { - "version": "1.0.0-rc.2", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.2.tgz", - "integrity": "sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=", - "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.0", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash": "^4.15.0", - "parse5": "^3.0.1" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "parse5": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", - "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", - "requires": { - "@types/node": "*" - } - } - } - }, - "metalsmith-livereload": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/metalsmith-livereload/-/metalsmith-livereload-0.1.0.tgz", - "integrity": "sha1-o7KfyPdRYiAZgaETJ0jL4lZzup0=", - "requires": { - "livereload": "^0.6.2" - } - }, - "metalsmith-markdown": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/metalsmith-markdown/-/metalsmith-markdown-1.2.0.tgz", - "integrity": "sha512-YAZZ1G4Y+AfnlJEoba6sr8zGBxg2xiAetf2xvGCTOpUR5CKV6G+X3Oq0BcS1aKBLYf86rWmm6Nu0Wq/5O2CEMQ==", - "requires": { - "debug": "^4.1.1", - "marked": "^0.6.1" - } - }, - "metalsmith-metallic": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/metalsmith-metallic/-/metalsmith-metallic-2.0.3.tgz", - "integrity": "sha512-j5Nxlb6IcD7lb52KRZY1YTFmStnC8rfTK/+QufGtWofJw7dwn21gpaxh1GDw3TZ+GNczM+ClYOcniFQdy5rDLg==", - "requires": { - "debug": "~2.6.7", - "entities": "~1.1", - "highlight.js": "~9.15.6" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "metalsmith-optipng": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/metalsmith-optipng/-/metalsmith-optipng-0.0.2.tgz", - "integrity": "sha1-7bh3pOG9CTjDJHto0E9LOY0hGyw=", - "requires": { - "lodash": "^4.17.4", - "multimatch": "^2.1.0", - "optipng": "^1.0.0", - "shrinkwrap": "^0.4.0", - "stream-to-array": "^2.3.0", - "streamifier": "^0.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" - }, - "archive-type": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-3.2.0.tgz", - "integrity": "sha1-nNnABpV+vpX62tW9YJiUKoE3N/Y=", - "requires": { - "file-type": "^3.1.0" - } - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "arr-flatten": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.1.tgz", - "integrity": "sha1-5f/lTUXhnzLyFukeuZyM6JK7YEs=" - }, - "array-differ": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=" - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" - }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" - }, - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=" - }, - "assign": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/assign/-/assign-0.1.7.tgz", - "integrity": "sha1-5jv+Ooh7hjCRPCdmPkzJv/Hd0l8=", - "requires": { - "fusing": "0.4.x" - }, - "dependencies": { - "fusing": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/fusing/-/fusing-0.4.0.tgz", - "integrity": "sha1-yZBo9Uyj4R3AEYkCFSq/Nnq6Sk0=", - "requires": { - "emits": "1.0.x", - "predefine": "0.1.x" - } - } - } - }, - "async": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.6.2.tgz", - "integrity": "sha1-Qf0DijgSwKi8GELs8IumPrA5K+8=" - }, - "async-each-series": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-1.1.0.tgz", - "integrity": "sha1-9C/YFV048hpbjqB8KOBj7RcAsTg=" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=" - }, - "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" - }, - "back": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/back/-/back-1.0.1.tgz", - "integrity": "sha1-cE+KI9p641t9R7ZI+aef0qJVcOM=", - "requires": { - "xtend": "^4.0.0" - } - }, - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "optional": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "beeper": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", - "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=" - }, - "bin-build": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz", - "integrity": "sha1-EfjdYfcP/Por3KpbRvXo/t1CIcw=", - "requires": { - "archive-type": "^3.0.1", - "decompress": "^3.0.0", - "download": "^4.1.2", - "exec-series": "^1.0.0", - "rimraf": "^2.2.6", - "tempfile": "^1.0.0", - "url-regex": "^3.0.0" - } - }, - "bin-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-2.0.0.tgz", - "integrity": "sha1-hvjm9CU4k99g3DFpV/WvAqywWTA=", - "requires": { - "executable": "^1.0.0" - } - }, - "bin-version": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-1.0.4.tgz", - "integrity": "sha1-nrSY7m/Xb3q5p8FgQ2+JV5Q1144=", - "requires": { - "find-versions": "^1.0.0" - } - }, - "bin-version-check": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-2.1.0.tgz", - "integrity": "sha1-5OXfKQuQaffRETJAMe/BP90RpbA=", - "requires": { - "bin-version": "^1.0.0", - "minimist": "^1.1.0", - "semver": "^4.0.3", - "semver-truncate": "^1.0.0" - }, - "dependencies": { - "semver": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=" - } - } - }, - "bin-wrapper": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz", - "integrity": "sha1-Z9MwYmLksaXy+I7iNGT2plVneus=", - "requires": { - "bin-check": "^2.0.0", - "bin-version-check": "^2.1.0", - "download": "^4.0.0", - "each-async": "^1.1.1", - "lazy-req": "^1.0.0", - "os-filter-obj": "^1.0.0" - } - }, - "bl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.0.tgz", - "integrity": "sha1-E5fn7ELF9dw4dHDFAONKn2vp6pg=", - "requires": { - "readable-stream": "^2.0.5" - } - }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "requires": { - "hoek": "2.x.x" - } - }, - "brace-expansion": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz", - "integrity": "sha1-cZfX6qm4fmSDkOph/GbIRCdCDfk=", - "requires": { - "balanced-match": "^0.4.1", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" - }, - "buffer-shims": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=" - }, - "buffer-to-vinyl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz", - "integrity": "sha1-APFfruOreh3aLN5tkSG//dB7ImI=", - "requires": { - "file-type": "^3.1.0", - "readable-stream": "^2.0.2", - "uuid": "^2.0.1", - "vinyl": "^1.0.0" - }, - "dependencies": { - "uuid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" - } - } - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" - }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - } - }, - "capture-stack-trace": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", - "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=" - }, - "caseless": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", - "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=" - }, - "caw": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/caw/-/caw-1.2.0.tgz", - "integrity": "sha1-/7Im/n78VHKI3GLuPpcHPCEtEDQ=", - "requires": { - "get-proxy": "^1.0.1", - "is-obj": "^1.0.0", - "object-assign": "^3.0.0", - "tunnel-agent": "^0.4.0" - }, - "dependencies": { - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=" - } - } - }, - "chalk": { - "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "clone": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", - "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=" - }, - "clone-stats": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", - "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=" - }, - "co": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz", - "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=" - }, - "color": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/color/-/color-0.8.0.tgz", - "integrity": "sha1-iQwHw/1OZJU3Y4kRz2keVFi2/KU=", - "requires": { - "color-convert": "^0.5.0", - "color-string": "^0.3.0" - } - }, - "color-convert": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", - "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=" - }, - "color-name": { - "version": "1.1.1", - "resolved": "http://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=" - }, - "color-string": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", - "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", - "requires": { - "color-name": "^1.0.0" - } - }, - "colornames": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/colornames/-/colornames-0.0.2.tgz", - "integrity": "sha1-2BH9bIT1kClJmorEQ2ICk1uSvjE=" - }, - "colorspace": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.0.1.tgz", - "integrity": "sha1-yZx5btMRKLmHalLh7l7gOkpxl0k=", - "requires": { - "color": "0.8.x", - "text-hex": "0.0.x" - } - }, - "combined-stream": { - "version": "1.0.5", - "resolved": "http://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.9.0", - "resolved": "http://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "requires": { - "graceful-readlink": ">= 1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "console-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz", - "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=" - }, - "convert-source-map": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.4.0.tgz", - "integrity": "sha1-49rRlb9hv+E6ejxz6YduwUoCaPM=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "requires": { - "capture-stack-trace": "^1.0.0" - } - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "requires": { - "boom": "2.x.x" - } - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "requires": { - "array-find-index": "^1.0.1" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "^1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - } - } - }, - "dateformat": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.0.0.tgz", - "integrity": "sha1-J0Pjq7XD/CRi5SfcpEXgTp9N7hc=" - }, - "debug": { - "version": "0.8.1", - "resolved": "http://registry.npmjs.org/debug/-/debug-0.8.1.tgz", - "integrity": "sha1-IP9NJvXkIstoobrLu2EDmtjBwTA=" - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decompress": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz", - "integrity": "sha1-rx3VDQbjv8QyRh033hGzjA2ZG+0=", - "requires": { - "buffer-to-vinyl": "^1.0.0", - "concat-stream": "^1.4.6", - "decompress-tar": "^3.0.0", - "decompress-tarbz2": "^3.0.0", - "decompress-targz": "^3.0.0", - "decompress-unzip": "^3.0.0", - "stream-combiner2": "^1.1.1", - "vinyl-assign": "^1.0.1", - "vinyl-fs": "^2.2.0" - } - }, - "decompress-tar": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-3.1.0.tgz", - "integrity": "sha1-IXx4n5uURQ76rcXF5TeXj8MzxGY=", - "requires": { - "is-tar": "^1.0.0", - "object-assign": "^2.0.0", - "strip-dirs": "^1.0.0", - "tar-stream": "^1.1.1", - "through2": "^0.6.1", - "vinyl": "^0.4.3" - }, - "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=" - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "requires": { - "clone": "^0.2.0", - "clone-stats": "^0.0.1" - } - } - } - }, - "decompress-tarbz2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz", - "integrity": "sha1-iyOTVoE1X58YnYclag+L3ZbZZm0=", - "requires": { - "is-bzip2": "^1.0.0", - "object-assign": "^2.0.0", - "seek-bzip": "^1.0.3", - "strip-dirs": "^1.0.0", - "tar-stream": "^1.1.1", - "through2": "^0.6.1", - "vinyl": "^0.4.3" - }, - "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=" - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "requires": { - "clone": "^0.2.0", - "clone-stats": "^0.0.1" - } - } - } - }, - "decompress-targz": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-3.1.0.tgz", - "integrity": "sha1-ssE9+YFmJomRtxXWRH9kLpaW9aA=", - "requires": { - "is-gzip": "^1.0.0", - "object-assign": "^2.0.0", - "strip-dirs": "^1.0.0", - "tar-stream": "^1.1.1", - "through2": "^0.6.1", - "vinyl": "^0.4.3" - }, - "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=" - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "requires": { - "clone": "^0.2.0", - "clone-stats": "^0.0.1" - } - } - } - }, - "decompress-unzip": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-3.4.0.tgz", - "integrity": "sha1-YUdbQVIGa74/7hL51inRX+ZHjus=", - "requires": { - "is-zip": "^1.0.0", - "read-all-stream": "^3.0.0", - "stat-mode": "^0.2.0", - "strip-dirs": "^1.0.0", - "through2": "^2.0.0", - "vinyl": "^1.0.0", - "yauzl": "^2.2.1" - }, - "dependencies": { - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" - } - } - } - }, - "deep-extend": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz", - "integrity": "sha1-7+QRPQgIX05vlod1mBD4B0aeIlM=" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "diagnostics": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.0.1.tgz", - "integrity": "sha1-rM2wgMgrsl0N1zQwqeaof7tDFUE=", - "requires": { - "colorspace": "1.0.x", - "enabled": "1.0.x", - "kuler": "0.0.x" - } - }, - "download": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/download/-/download-4.4.3.tgz", - "integrity": "sha1-qlX9rTktldS2jowr4D4MKqIbqaw=", - "requires": { - "caw": "^1.0.1", - "concat-stream": "^1.4.7", - "each-async": "^1.0.0", - "filenamify": "^1.0.1", - "got": "^5.0.0", - "gulp-decompress": "^1.2.0", - "gulp-rename": "^1.2.0", - "is-url": "^1.2.0", - "object-assign": "^4.0.1", - "read-all-stream": "^3.0.0", - "readable-stream": "^2.0.2", - "stream-combiner2": "^1.1.1", - "vinyl": "^1.0.0", - "vinyl-fs": "^2.2.0", - "ware": "^1.2.0" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - } - } - }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "requires": { - "readable-stream": "^2.0.2" - } - }, - "duplexify": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.0.tgz", - "integrity": "sha1-GqdzAC4VeEV+nZ1KULDMquvL1gQ=", - "requires": { - "end-of-stream": "1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - }, - "dependencies": { - "end-of-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz", - "integrity": "sha1-1FlucCc0qT5A6a+GQxnqvZn/Lw4=", - "requires": { - "once": "~1.3.0" - } - } - } - }, - "each-async": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz", - "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=", - "requires": { - "onetime": "^1.0.0", - "set-immediate-shim": "^1.0.0" - } - }, - "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", - "optional": true, - "requires": { - "jsbn": "~0.1.0" - } - }, - "emits": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/emits/-/emits-1.0.2.tgz", - "integrity": "sha1-2yDsZmgyUHHDE0QeMM/ipp6nOFk=" - }, - "enabled": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", - "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", - "requires": { - "env-variable": "0.0.x" - } - }, - "end-of-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz", - "integrity": "sha1-6TUyWLqpEIll78QcsO+K3i88+wc=", - "requires": { - "once": "~1.3.0" - } - }, - "env-variable": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.3.tgz", - "integrity": "sha1-uGwWQb5WECZ9UG8YBx6nbXBwl8s=" - }, - "error-ex": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz", - "integrity": "sha1-5ntD8+gsluo6WE/+4Ln8MyXYAtk=", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "eventemitter3": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-0.1.6.tgz", - "integrity": "sha1-jHrES4e6q1XNUMgo3Dh3jqwFLqU=" - }, - "exec-series": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/exec-series/-/exec-series-1.0.3.tgz", - "integrity": "sha1-bSV6m+rEgqhyx3g7yGFYOfx3FDo=", - "requires": { - "async-each-series": "^1.1.0", - "object-assign": "^4.1.0" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - } - } - }, - "executable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/executable/-/executable-1.1.0.tgz", - "integrity": "sha1-h3mA6REvM5EGbaNyZd562ENKtNk=", - "requires": { - "meow": "^3.1.0" - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "requires": { - "fill-range": "^2.1.0" - } - }, - "extend": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz", - "integrity": "sha1-WkdDU7nzNT3dgXbf03uRyDpG8dQ=" - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "extendible": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/extendible/-/extendible-0.1.1.tgz", - "integrity": "sha1-4qN+2HEp+0+VM+io11BiMKU5yQU=" - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "requires": { - "is-extglob": "^1.0.0" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" - } - } - }, - "extract-github": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/extract-github/-/extract-github-0.0.5.tgz", - "integrity": "sha1-9UJTbbjBm5g6O+yduW0u8qX/GoY=" - }, - "extsprintf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=" - }, - "fancy-log": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.0.tgz", - "integrity": "sha1-Rb4X0Cu5kX1gzP/UmVyZnmyMmUg=", - "requires": { - "chalk": "^1.1.1", - "time-stamp": "^1.0.0" - } - }, - "fd-slicer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", - "requires": { - "pend": "~1.2.0" - } - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - } - } - }, - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" - }, - "filename-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.0.tgz", - "integrity": "sha1-mW4+gEebmLmJfxWopYs9CE6SZ3U=" - }, - "filename-reserved-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", - "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=" - }, - "filenamify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", - "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=", - "requires": { - "filename-reserved-regex": "^1.0.0", - "strip-outer": "^1.0.0", - "trim-repeated": "^1.0.0" - } - }, - "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", - "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^1.1.3", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "find-versions": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-1.2.1.tgz", - "integrity": "sha1-y96fEuOFdaCvG+G5osXV/Y8Ya2I=", - "requires": { - "array-uniq": "^1.0.0", - "get-stdin": "^4.0.1", - "meow": "^3.5.0", - "semver-regex": "^1.0.0" - } - }, - "first-chunk-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", - "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=" - }, - "for-in": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.6.tgz", - "integrity": "sha1-yfluib+tGKVFr17D7TUqHZ5bTcg=" - }, - "for-own": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.4.tgz", - "integrity": "sha1-AUm0GjkIjHUV9R6+HBOG1F+TUHI=", - "requires": { - "for-in": "^0.1.5" - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.2.tgz", - "integrity": "sha1-icNTQAi5fq2ky7FX1Y9vXfAl6uQ=", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.5", - "mime-types": "^2.1.12" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fusing": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/fusing/-/fusing-0.2.3.tgz", - "integrity": "sha1-0O76+YXSuv3tRK+LGFMW9uQp4ds=", - "requires": { - "predefine": "0.1.x" - } - }, - "generate-function": { - "version": "2.0.0", - "resolved": "http://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=" - }, - "generate-object-property": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", - "requires": { - "is-property": "^1.0.0" - } - }, - "get-proxy": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-1.1.0.tgz", - "integrity": "sha1-iUhUSRvFkbDxR9euVw9cZ4tyVus=", - "requires": { - "rc": "^1.1.2" - } - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" - }, - "getpass": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz", - "integrity": "sha1-KD/9n8ElaECHUxHBtg6MQBhxEOY=", - "requires": { - "assert-plus": "^1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - } - } - }, - "gettemporaryfilepath": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/gettemporaryfilepath/-/gettemporaryfilepath-0.0.1.tgz", - "integrity": "sha1-uKLHAUu1zUFTTpg7XKFgo3RwhGk=" - }, - "githulk": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/githulk/-/githulk-0.0.7.tgz", - "integrity": "sha1-2Wyinw7EMRfFOOUh1mNWbqhLTv8=", - "requires": { - "debug": "0.7.x", - "extract-github": "0.0.x", - "mana": "0.1.x" - }, - "dependencies": { - "debug": { - "version": "0.7.4", - "resolved": "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz", - "integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk=" - } - } - }, - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "requires": { - "is-glob": "^2.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "glob-stream": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz", - "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=", - "requires": { - "extend": "^3.0.0", - "glob": "^5.0.3", - "glob-parent": "^3.0.0", - "micromatch": "^2.3.7", - "ordered-read-streams": "^0.3.0", - "through2": "^0.6.0", - "to-absolute-glob": "^0.1.1", - "unique-stream": "^2.0.2" - } - }, - "glogg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz", - "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", - "requires": { - "sparkles": "^1.0.0" - } - }, - "got": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz", - "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=", - "requires": { - "create-error-class": "^3.0.1", - "duplexer2": "^0.1.4", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "node-status-codes": "^1.0.0", - "object-assign": "^4.0.1", - "parse-json": "^2.1.0", - "pinkie-promise": "^2.0.0", - "read-all-stream": "^3.0.0", - "readable-stream": "^2.0.5", - "timed-out": "^3.0.0", - "unzip-response": "^1.0.2", - "url-parse-lax": "^1.0.0" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - } - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" - }, - "gulp-decompress": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gulp-decompress/-/gulp-decompress-1.2.0.tgz", - "integrity": "sha1-jutlpeAV+O2FMsr+KEVJYGJvDcc=", - "requires": { - "archive-type": "^3.0.0", - "decompress": "^3.0.0", - "gulp-util": "^3.0.1", - "readable-stream": "^2.0.2" - } - }, - "gulp-rename": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz", - "integrity": "sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=" - }, - "gulp-sourcemaps": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz", - "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=", - "requires": { - "convert-source-map": "^1.1.1", - "graceful-fs": "^4.1.2", - "strip-bom": "^2.0.0", - "through2": "^2.0.0", - "vinyl": "^1.0.0" - }, - "dependencies": { - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" - } - } - } - }, - "gulp-util": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", - "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", - "requires": { - "array-differ": "^1.0.0", - "array-uniq": "^1.0.2", - "beeper": "^1.0.0", - "chalk": "^1.0.0", - "dateformat": "^2.0.0", - "fancy-log": "^1.1.0", - "gulplog": "^1.0.0", - "has-gulplog": "^0.1.0", - "lodash._reescape": "^3.0.0", - "lodash._reevaluate": "^3.0.0", - "lodash._reinterpolate": "^3.0.0", - "lodash.template": "^3.0.0", - "minimist": "^1.1.0", - "multipipe": "^0.1.2", - "object-assign": "^3.0.0", - "replace-ext": "0.0.1", - "through2": "^2.0.0", - "vinyl": "^0.5.0" - }, - "dependencies": { - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=" - }, - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" - } - }, - "vinyl": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", - "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", - "requires": { - "clone": "^1.0.0", - "clone-stats": "^0.0.1", - "replace-ext": "0.0.1" - } - } - } - }, - "gulplog": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", - "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", - "requires": { - "glogg": "^1.0.0" - } - }, - "har-validator": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", - "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", - "requires": { - "chalk": "^1.1.1", - "commander": "^2.9.0", - "is-my-json-valid": "^2.12.4", - "pinkie-promise": "^2.0.0" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-gulplog": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", - "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", - "requires": { - "sparkles": "^1.0.0" - } - }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "requires": { - "boom": "2.x.x", - "cryptiles": "2.x.x", - "hoek": "2.x.x", - "sntp": "1.x.x" - } - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=" - }, - "hosted-git-info": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.2.0.tgz", - "integrity": "sha1-eg0JeGPYhsD6u9zTe/F1jYvs+KU=" - }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "requires": { - "assert-plus": "^0.2.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "requires": { - "repeating": "^2.0.0" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ini": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=" - }, - "ip-regex": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz", - "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=" - }, - "is-absolute": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz", - "integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=", - "requires": { - "is-relative": "^0.1.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-buffer": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz", - "integrity": "sha1-z8hszV3FpS+oBIkRHGkgxFfi2Ys=" - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "requires": { - "builtin-modules": "^1.0.0" - } - }, - "is-bzip2": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-bzip2/-/is-bzip2-1.0.0.tgz", - "integrity": "sha1-XuWOqlounIDiFAe+3yOuWsCRs/w=" - }, - "is-dotfile": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.2.tgz", - "integrity": "sha1-LBMjg/ORmfjtwmjKAbmwB9IFzE0=" - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "requires": { - "is-primitive": "^2.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - }, - "is-gzip": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz", - "integrity": "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=" - }, - "is-my-json-valid": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz", - "integrity": "sha1-k27do8o8IR/ZjzstPgjaQ/eykVs=", - "requires": { - "generate-function": "^2.0.0", - "generate-object-property": "^1.1.0", - "jsonpointer": "^4.0.0", - "xtend": "^4.0.0" - } - }, - "is-natural-number": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-2.1.1.tgz", - "integrity": "sha1-fUxXKDd+84bD4ZSpkRv1fG3DNec=" - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" - }, - "is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=" - }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=" - }, - "is-relative": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz", - "integrity": "sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=" - }, - "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-tar": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-tar/-/is-tar-1.0.0.tgz", - "integrity": "sha1-L2suF5LB9bs2UZrKqdZcDSb+hT0=" - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-url": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.2.tgz", - "integrity": "sha1-SYkFpZO/R8wtnn9zg3K792lsfyY=" - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" - }, - "is-valid-glob": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz", - "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=" - }, - "is-zip": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-zip/-/is-zip-1.0.0.tgz", - "integrity": "sha1-R7Co/004p2QxzP2ZqOFaTIa6IyU=" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "jodid25519": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", - "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=", - "optional": true, - "requires": { - "jsbn": "~0.1.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "requires": { - "jsonify": "~0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" - }, - "jsonpointer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", - "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=" - }, - "jsprim": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.3.1.tgz", - "integrity": "sha1-KnJW9wQSop7jZwqspiWZTE3P8lI=", - "requires": { - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - } - }, - "kind-of": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.1.0.tgz", - "integrity": "sha1-R11pil5J/15T0U4+cyQp3Iv0z0c=", - "requires": { - "is-buffer": "^1.0.2" - } - }, - "kuler": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/kuler/-/kuler-0.0.0.tgz", - "integrity": "sha1-tmu0a5NOVQ9Z2BiEjgq7pPf1VTw=", - "requires": { - "colornames": "0.0.2" - } - }, - "lazy-req": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/lazy-req/-/lazy-req-1.1.0.tgz", - "integrity": "sha1-va6+rTD42CQDnODOFJ1Nqge6H6w=" - }, - "lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", - "requires": { - "readable-stream": "^2.0.5" - } - }, - "licenses": { - "version": "0.0.20", - "resolved": "https://registry.npmjs.org/licenses/-/licenses-0.0.20.tgz", - "integrity": "sha1-8YpXsmp46vKKhz4qN4oz6B9Z0TY=", - "requires": { - "async": "0.6.x", - "debug": "0.8.x", - "fusing": "0.2.x", - "githulk": "0.0.x", - "npm-registry": "0.1.x" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" - }, - "lodash._basecopy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", - "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=" - }, - "lodash._basetostring": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", - "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=" - }, - "lodash._basevalues": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", - "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=" - }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" - }, - "lodash._isiterateecall": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", - "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=" - }, - "lodash._reescape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", - "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=" - }, - "lodash._reevaluate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", - "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=" - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" - }, - "lodash._root": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", - "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=" - }, - "lodash.escape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", - "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", - "requires": { - "lodash._root": "^3.0.0" - } - }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" - }, - "lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" - }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" - }, - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "requires": { - "lodash._getnative": "^3.0.0", - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" - } - }, - "lodash.restparam": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", - "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=" - }, - "lodash.template": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", - "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", - "requires": { - "lodash._basecopy": "^3.0.0", - "lodash._basetostring": "^3.0.0", - "lodash._basevalues": "^3.0.0", - "lodash._isiterateecall": "^3.0.0", - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0", - "lodash.keys": "^3.0.0", - "lodash.restparam": "^3.0.0", - "lodash.templatesettings": "^3.0.0" - } - }, - "lodash.templatesettings": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", - "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", - "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0" - } - }, - "logalot": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz", - "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=", - "requires": { - "figures": "^1.3.5", - "squeak": "^1.0.0" - } - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } - }, - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" - }, - "lpad": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/lpad/-/lpad-2.0.1.tgz", - "integrity": "sha1-KDFrTnsgFfUR9lkUWa/A5ZRACK0=" - }, - "lpad-align": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.0.tgz", - "integrity": "sha1-J/p4a8tpX8Q06hUAcj640L3IK/Q=", - "requires": { - "get-stdin": "^4.0.1", - "longest": "^1.0.0", - "lpad": "^2.0.1", - "meow": "^3.3.0" - } - }, - "mana": { - "version": "0.1.41", - "resolved": "https://registry.npmjs.org/mana/-/mana-0.1.41.tgz", - "integrity": "sha1-fLE/cyGGaGVCKWNcT8Wxfib5O30=", - "requires": { - "assign": ">=0.1.7", - "back": "1.0.x", - "diagnostics": "1.0.x", - "eventemitter3": "1.2.x", - "fusing": "1.0.x", - "millisecond": "0.1.x", - "request": "2.x.x" - }, - "dependencies": { - "emits": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emits/-/emits-3.0.0.tgz", - "integrity": "sha1-MnUrupXhcHshlWI4Srm7ix/WL3A=" - }, - "eventemitter3": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", - "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=" - }, - "fusing": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fusing/-/fusing-1.0.0.tgz", - "integrity": "sha1-VQwV12r5Jld4qgUezkTUAAoJjUU=", - "requires": { - "emits": "3.0.x", - "predefine": "0.1.x" - } - } - } - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" - }, - "memoizeasync": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/memoizeasync/-/memoizeasync-0.0.1.tgz", - "integrity": "sha1-WIPtGSx9OXLy+ynqQgLUmgk3Y/c=" - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - } - } - }, - "merge-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", - "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", - "requires": { - "readable-stream": "^2.0.1" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, - "millisecond": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/millisecond/-/millisecond-0.1.2.tgz", - "integrity": "sha1-bMWtOGJByrjniv+WT4cCjuyS2sU=" - }, - "mime-db": { - "version": "1.26.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz", - "integrity": "sha1-6v/NDk/Gk1z4E02iRuLmw1MFrf8=" - }, - "mime-types": { - "version": "2.1.14", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz", - "integrity": "sha1-9+99l1g/yvO30oK2+LVnnaselO4=", - "requires": { - "mime-db": "~1.26.0" - } - }, - "minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", - "requires": { - "brace-expansion": "^1.0.0" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - } - } - }, - "multimatch": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", - "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", - "requires": { - "array-differ": "^1.0.0", - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "minimatch": "^3.0.0" - } - }, - "multipipe": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", - "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", - "requires": { - "duplexer2": "0.0.2" - }, - "dependencies": { - "duplexer2": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", - "requires": { - "readable-stream": "~1.1.9" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - } - } - }, - "node-status-codes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz", - "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=" - }, - "normalize-package-data": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz", - "integrity": "sha1-jZJPFClg4Xd+f/4XBUNjHMfLAt8=", - "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz", - "integrity": "sha1-R4hqwWYnYNQmG32XnSQXCdPOP3o=" - }, - "npm-registry": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/npm-registry/-/npm-registry-0.1.13.tgz", - "integrity": "sha1-nl2LL9/Bq1mQ1H99674jHXmp6CI=", - "requires": { - "debug": "0.8.x", - "extract-github": "0.0.x", - "licenses": "0.0.x", - "mana": "0.1.x", - "semver": "2.2.x" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" - }, - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=" - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" - } - }, - "once": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=" - }, - "optipng": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/optipng/-/optipng-1.0.0.tgz", - "integrity": "sha1-fL6tpQmqQa9slekDe8Ry4hIjEME=", - "requires": { - "gettemporaryfilepath": "0.0.1", - "memoizeasync": "0.0.1", - "optipng-bin": "3.0.2", - "which": "1.0.5" - } - }, - "optipng-bin": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-3.0.2.tgz", - "integrity": "sha1-Mj2U7KSMV4j1HJ5RV321k7sAfBI=", - "requires": { - "bin-build": "^2.0.0", - "bin-wrapper": "^3.0.0", - "logalot": "^2.0.0" - } - }, - "ordered-read-streams": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz", - "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=", - "requires": { - "is-stream": "^1.0.1", - "readable-stream": "^2.0.1" - } - }, - "os-filter-obj": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-1.0.3.tgz", - "integrity": "sha1-WRUzDZDs7VV9LZOKMcbdIU2cY60=" - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "requires": { - "error-ex": "^1.2.0" - } - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "requires": { - "pinkie-promise": "^2.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "^2.0.0" - } - }, - "predefine": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/predefine/-/predefine-0.1.2.tgz", - "integrity": "sha1-KqkrRJa8H4VU5DpF92v75Q0z038=", - "requires": { - "extendible": "0.1.x" - } - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - }, - "qs": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.1.tgz", - "integrity": "sha1-kYwLO802Z5dyuvE1say0wWUe150=" - }, - "randomatic": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.6.tgz", - "integrity": "sha1-EQ3Kv/OX6dz/fAeJzMCkmt8exbs=", - "requires": { - "is-number": "^2.0.2", - "kind-of": "^3.0.2" - } - }, - "rc": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.1.7.tgz", - "integrity": "sha1-xepWS7B6/5/TpbMukGwdOmWUD+o=", - "requires": { - "deep-extend": "~0.4.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, - "read-all-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz", - "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=", - "requires": { - "pinkie-promise": "^2.0.0", - "readable-stream": "^2.0.0" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, - "readable-stream": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz", - "integrity": "sha1-qeb+w8fdqF+LsbO6cChgRVb8gl4=", - "requires": { - "buffer-shims": "^1.0.0", - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~0.10.x", - "util-deprecate": "~1.0.1" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } - }, - "regex-cache": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz", - "integrity": "sha1-mxpsNdTQ3871cRrmUejp09cRQUU=", - "requires": { - "is-equal-shallow": "^0.1.3", - "is-primitive": "^2.0.0" - } - }, - "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "requires": { - "is-finite": "^1.0.0" - } - }, - "replace-ext": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", - "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=" - }, - "request": { - "version": "2.79.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", - "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", - "requires": { - "aws-sign2": "~0.6.0", - "aws4": "^1.2.1", - "caseless": "~0.11.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.0", - "forever-agent": "~0.6.1", - "form-data": "~2.1.1", - "har-validator": "~2.0.6", - "hawk": "~3.1.3", - "http-signature": "~1.1.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.7", - "oauth-sign": "~0.8.1", - "qs": "~6.3.0", - "stringstream": "~0.0.4", - "tough-cookie": "~2.3.0", - "tunnel-agent": "~0.4.1", - "uuid": "^3.0.0" - } - }, - "rimraf": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.0.tgz", - "integrity": "sha1-ibig/kMrn/nsmpJaALbNs6kbuto=", - "requires": { - "glob": "^7.0.5" - }, - "dependencies": { - "glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz", - "integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.2", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "seek-bzip": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", - "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", - "requires": { - "commander": "~2.8.1" - }, - "dependencies": { - "commander": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "requires": { - "graceful-readlink": ">= 1.0.0" - } - } - } - }, - "semver": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-2.2.1.tgz", - "integrity": "sha1-eUEYKz/8xYC/8cF5QqzfeVHA0hM=" - }, - "semver-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz", - "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=" - }, - "semver-truncate": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", - "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=", - "requires": { - "semver": "^5.3.0" - }, - "dependencies": { - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" - } - } - }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" - }, - "shrinkwrap": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/shrinkwrap/-/shrinkwrap-0.4.0.tgz", - "integrity": "sha1-kcSTGPxmWhS7ZDJN6CEBzQK8WbI=", - "requires": { - "debug": "0.8.x", - "eventemitter3": "0.1.x", - "fusing": "0.2.x", - "npm-registry": "0.1.x" - } - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" - }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "requires": { - "hoek": "2.x.x" - } - }, - "sparkles": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", - "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=" - }, - "spdx-correct": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", - "requires": { - "spdx-license-ids": "^1.0.2" - } - }, - "spdx-expression-parse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=" - }, - "spdx-license-ids": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=" - }, - "squeak": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz", - "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=", - "requires": { - "chalk": "^1.0.0", - "console-stream": "^0.1.1", - "lpad-align": "^1.0.1" - } - }, - "sshpk": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.10.2.tgz", - "integrity": "sha1-1agEziJpVRVjjnmNviMnPeBwpfo=", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jodid25519": "^1.0.0", - "jsbn": "~0.1.0", - "tweetnacl": "~0.14.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - } - } - }, - "stat-mode": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", - "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=" - }, - "stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", - "requires": { - "duplexer2": "~0.1.0", - "readable-stream": "^2.0.2" - } - }, - "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" - }, - "stream-to-array": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/stream-to-array/-/stream-to-array-2.3.0.tgz", - "integrity": "sha1-u/azn19D7DC8cbq8s3VXrOzzQ1M=", - "requires": { - "any-promise": "^1.1.0" - } - }, - "streamifier": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/streamifier/-/streamifier-0.1.1.tgz", - "integrity": "sha1-l+mNj6TRBdYqJpHR3AfoINuN/E8=" - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "requires": { - "is-utf8": "^0.2.0" - } - }, - "strip-bom-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz", - "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=", - "requires": { - "first-chunk-stream": "^1.0.0", - "strip-bom": "^2.0.0" - } - }, - "strip-dirs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz", - "integrity": "sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=", - "requires": { - "chalk": "^1.0.0", - "get-stdin": "^4.0.1", - "is-absolute": "^0.1.5", - "is-natural-number": "^2.0.0", - "minimist": "^1.1.0", - "sum-up": "^1.0.1" - } - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "requires": { - "get-stdin": "^4.0.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - }, - "strip-outer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.0.tgz", - "integrity": "sha1-qsC6YNLpDF1PJ1/Yhp/ZotMQ/7g=", - "requires": { - "escape-string-regexp": "^1.0.2" - } - }, - "sum-up": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz", - "integrity": "sha1-HGYfZnBX9jvLeHWqFDi8FiUlFW4=", - "requires": { - "chalk": "^1.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - }, - "tar-stream": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.2.tgz", - "integrity": "sha1-+8bG6DwaGdTLSMfZYXH8JI7/x78=", - "requires": { - "bl": "^1.0.0", - "end-of-stream": "^1.0.0", - "readable-stream": "^2.0.0", - "xtend": "^4.0.0" - } - }, - "tempfile": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz", - "integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=", - "requires": { - "os-tmpdir": "^1.0.0", - "uuid": "^2.0.1" - }, - "dependencies": { - "uuid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=" - } - } - }, - "text-hex": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-0.0.0.tgz", - "integrity": "sha1-V4+8haapJjbkLdF7QdAhjM6esrM=" - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "requires": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - } - } - }, - "through2-filter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz", - "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=", - "requires": { - "through2": "~2.0.0", - "xtend": "~4.0.0" - }, - "dependencies": { - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" - } - } - } - }, - "time-stamp": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.1.tgz", - "integrity": "sha1-n0vSNVnJNllm8zAtu6KwfGuZsVE=" - }, - "timed-out": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz", - "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=" - }, - "to-absolute-glob": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz", - "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=", - "requires": { - "extend-shallow": "^2.0.1" - } - }, - "tough-cookie": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", - "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", - "requires": { - "punycode": "^1.4.1" - } - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" - }, - "trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", - "requires": { - "escape-string-regexp": "^1.0.2" - } - }, - "tunnel-agent": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=" - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "optional": true - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "unique-stream": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz", - "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=", - "requires": { - "json-stable-stringify": "^1.0.0", - "through2-filter": "^2.0.0" - } - }, - "unzip-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz", - "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=" - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "requires": { - "prepend-http": "^1.0.1" - } - }, - "url-regex": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz", - "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=", - "requires": { - "ip-regex": "^1.0.1" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "uuid": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", - "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=" - }, - "vali-date": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz", - "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=" - }, - "validate-npm-package-license": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", - "requires": { - "spdx-correct": "~1.0.0", - "spdx-expression-parse": "~1.0.0" - } - }, - "verror": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", - "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", - "requires": { - "extsprintf": "1.0.2" - } - }, - "vinyl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", - "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", - "requires": { - "clone": "^1.0.0", - "clone-stats": "^0.0.1", - "replace-ext": "0.0.1" - } - }, - "vinyl-assign": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/vinyl-assign/-/vinyl-assign-1.2.1.tgz", - "integrity": "sha1-TRmIkbVRWRHXcajNnFSApGoHSkU=", - "requires": { - "object-assign": "^4.0.1", - "readable-stream": "^2.0.0" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - } - } - }, - "vinyl-fs": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz", - "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=", - "requires": { - "duplexify": "^3.2.0", - "glob-stream": "^5.3.2", - "graceful-fs": "^4.0.0", - "gulp-sourcemaps": "1.6.0", - "is-valid-glob": "^0.3.0", - "lazystream": "^1.0.0", - "lodash.isequal": "^4.0.0", - "merge-stream": "^1.0.0", - "mkdirp": "^0.5.0", - "object-assign": "^4.0.0", - "readable-stream": "^2.0.4", - "strip-bom": "^2.0.0", - "strip-bom-stream": "^1.0.0", - "through2": "^2.0.0", - "through2-filter": "^2.0.0", - "vali-date": "^1.0.0", - "vinyl": "^1.0.0" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" - } - } - } - }, - "ware": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz", - "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=", - "requires": { - "wrap-fn": "^0.1.0" - } - }, - "which": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/which/-/which-1.0.5.tgz", - "integrity": "sha1-VjDWgZ3aaS8UZEYueVbLQsCEJzk=" - }, - "wrap-fn": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz", - "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=", - "requires": { - "co": "3.1.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" - }, - "yauzl": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.7.0.tgz", - "integrity": "sha1-4h2EeGi0lvwp6uwj7of90z6bK84=", - "requires": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.0.1" - } - } - } - }, - "metalsmith-permalinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/metalsmith-permalinks/-/metalsmith-permalinks-2.2.0.tgz", - "integrity": "sha512-j8NMK+DcQvP2xLBhZb0jF81T2b/z937TD4mJz+eYTTMlawCFjcRWfU86vMzGeMciCTSELnXA7QLH7y8o8IEYVg==", - "requires": { - "debug": "^4.1.1", - "moment": "^2.24.0", - "slugify": "^1.3.4", - "substitute": "https://github.com/segmentio/substitute/archive/0.1.0.tar.gz" - } - }, - "metalsmith-plugin-kit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/metalsmith-plugin-kit/-/metalsmith-plugin-kit-1.0.1.tgz", - "integrity": "sha512-Ll1bcCvWyYmWyiz10StS5X1jIGPclqkfvgf6ke80Mqctx7uStkESV42uiBNAiHjKRwEzIFZXh52jyfByPL25xQ==", - "requires": { - "micromatch": "^3.0.3" - } - }, - "metalsmith-redirect": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/metalsmith-redirect/-/metalsmith-redirect-2.1.0.tgz", - "integrity": "sha1-NzZDhGNWqlwgmvFkTY8UOZEARpI=" - }, - "metalsmith-relative-links": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/metalsmith-relative-links/-/metalsmith-relative-links-1.2.0.tgz", - "integrity": "sha512-XTPocmhUOCaJ5B5ZSWaM2+TJPpuC5sPYE1qz55Kb2hPqLq22aRBqDa0ZsLsh3uB27vgPa9C4Jbax8ug35hyrfQ==", - "requires": { - "debug": "^2.6.8", - "metalsmith-plugin-kit": "^1.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "metalsmith-sass": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/metalsmith-sass/-/metalsmith-sass-1.6.0.tgz", - "integrity": "sha512-6VZ3uHkdL8XFSSa8LUiDKB+jNU0MBvDswvyCZeeedOjtvPOUNWCIs18agJwCsCeouYrB+rxvR/RzpkXTclR9WQ==", - "requires": { - "async": "^2.6.0", - "node-sass": "^4.11.0" - } - }, - "metalsmith-serve": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/metalsmith-serve/-/metalsmith-serve-0.0.7.tgz", - "integrity": "sha1-2zY2I0gpmZD5yePHRD7Cm21BEII=", - "requires": { - "chalk": "^0.4.0", - "http-status": "^0.2.0", - "node-static": "^0.7.7" - }, - "dependencies": { - "ansi-styles": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", - "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=" - }, - "chalk": { - "version": "0.4.0", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", - "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", - "requires": { - "ansi-styles": "~1.0.0", - "has-color": "~0.1.0", - "strip-ansi": "~0.1.0" - } - }, - "strip-ansi": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", - "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=" - } - } - }, - "metalsmith-sitemap": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/metalsmith-sitemap/-/metalsmith-sitemap-1.2.2.tgz", - "integrity": "sha512-6R1ocHu5MVWG5I6EvKWXG/kwpDiIEd3Ofq2hXB0MLi8n0yFkN7O900GscoQjtLTdcQ18v1+uHeQ/UjJHrPatPg==", - "requires": { - "is": "^3.0.1", - "lodash.get": "^3.7.0", - "lodash.identity": "^3.0.0", - "lodash.pick": "^3.1.0", - "multimatch": "^2.0.0", - "sitemap": "^1.1.1" - }, - "dependencies": { - "lodash.pick": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-3.1.0.tgz", - "integrity": "sha1-8lKoVbIEa2G805BLJvdr0u/GVVA=", - "requires": { - "lodash._baseflatten": "^3.0.0", - "lodash._bindcallback": "^3.0.0", - "lodash._pickbyarray": "^3.0.0", - "lodash._pickbycallback": "^3.0.0", - "lodash.restparam": "^3.0.0" - } - } - } - }, - "metalsmith-watch": { - "version": "github:scottinet/metalsmith-watch#21dd6b874178aa44812186fa9092bea103e11fd0", - "from": "github:scottinet/metalsmith-watch", - "requires": { - "chalk": "^2.4.1", - "chokidar": "^2.0.4", - "metalsmith-filenames": "^1.0.0", - "multimatch": "^2.1.0", - "tiny-lr": "^1.1.1", - "unyield": "0.0.1" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "chokidar": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.1.tgz", - "integrity": "sha512-gfw3p2oQV2wEt+8VuMlNsPjCxDxvvgnm/kz+uATu805mWVF8IJN7uz9DN7iBz+RMJISmiVbCOBFs9qBGMjtPfQ==", - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.0" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - } - } - }, - "metalsmith-webpack2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/metalsmith-webpack2/-/metalsmith-webpack2-1.0.2.tgz", - "integrity": "sha512-z4gENlgFjZAZquVMmiN+v4RVvbQJNriYe2P3kIKYQAo+25pAA69laUt/0BXW9MR28F+MknGKds2EwQwpmglomA==", - "requires": { - "webpack": "^2.7.0" - } - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "dependencies": { - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - } - }, - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" - }, - "mime-db": { - "version": "1.37.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==" - }, - "mime-types": { - "version": "2.1.21", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", - "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", - "requires": { - "mime-db": "~1.37.0" - } - }, - "mimic-fn": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.0.0.tgz", - "integrity": "sha512-jbex9Yd/3lmICXwYT6gA/j2mNQGU48wCh/VzRd+/Y/PjYQtlg1gLMdZqvu9s/xH7qKvngxRObl56XZR609IMbA==" - }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "requires": { - "dom-walk": "^0.1.0" - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -9760,9 +7063,9 @@ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, "mississippi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", - "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "requires": { "concat-stream": "^1.5.0", "duplexify": "^3.4.2", @@ -9770,21 +7073,10 @@ "flush-write-stream": "^1.0.0", "from2": "^2.1.0", "parallel-transform": "^1.1.0", - "pump": "^2.0.1", + "pump": "^3.0.0", "pumpify": "^1.3.3", "stream-each": "^1.1.0", "through2": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } } }, "mixin-deep": { @@ -9824,7 +7116,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" @@ -9832,15 +7124,15 @@ "dependencies": { "minimist": { "version": "0.0.8", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" } } }, "mocha": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.0.2.tgz", - "integrity": "sha512-RtTJsmmToGyeTznSOMoM6TPEk1A84FQaHIciKrRqARZx+B5ccJ5tXlmJzEKGBxZdqk9UjpRsesZTUkZmR5YnuQ==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.1.4.tgz", + "integrity": "sha512-PN8CIy4RXsIoxoFJzS4QNnCH4psUCPWc4/rPrst/ecSJJbLBkubMiyGCP2Kj/9YnWbotFqAoeXyXMucj7gwCFg==", "dev": true, "requires": { "ansi-colors": "3.2.3", @@ -9848,26 +7140,32 @@ "debug": "3.2.6", "diff": "3.5.0", "escape-string-regexp": "1.0.5", - "findup-sync": "2.0.0", + "find-up": "3.0.0", "glob": "7.1.3", "growl": "1.10.5", "he": "1.2.0", - "js-yaml": "3.12.0", + "js-yaml": "3.13.1", "log-symbols": "2.2.0", "minimatch": "3.0.4", "mkdirp": "0.5.1", "ms": "2.1.1", - "node-environment-flags": "1.0.4", + "node-environment-flags": "1.0.5", "object.assign": "4.1.0", "strip-json-comments": "2.0.1", "supports-color": "6.0.0", "which": "1.3.1", "wide-align": "1.1.3", - "yargs": "12.0.5", - "yargs-parser": "11.1.1", + "yargs": "13.2.2", + "yargs-parser": "13.0.0", "yargs-unparser": "1.5.0" }, "dependencies": { + "ansi-colors": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "dev": true + }, "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", @@ -9883,6 +7181,18 @@ "string-width": "^2.1.1", "strip-ansi": "^4.0.0", "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + } } }, "debug": { @@ -9894,28 +7204,24 @@ "ms": "^2.1.1" } }, + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, "invert-kv": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", "dev": true }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, "lcid": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", @@ -9936,14 +7242,38 @@ "mem": "^4.0.0" } }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { + "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } } }, "strip-ansi": { @@ -9971,29 +7301,28 @@ "dev": true }, "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz", + "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==", "dev": true, "requires": { "cliui": "^4.0.0", - "decamelize": "^1.2.0", "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", + "get-caller-file": "^2.0.1", + "os-locale": "^3.1.0", "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", + "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", - "string-width": "^2.0.0", + "string-width": "^3.0.0", "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" + "y18n": "^4.0.0", + "yargs-parser": "^13.0.0" } }, "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz", + "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==", "dev": true, "requires": { "camelcase": "^5.0.0", @@ -10010,6 +7339,17 @@ "requires": { "get-caller-file": "^1.0.2", "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } } }, "moment": { @@ -10030,93 +7370,34 @@ "run-queue": "^1.0.3" } }, - "mqtt": { - "version": "2.18.8", - "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-2.18.8.tgz", - "integrity": "sha512-3h6oHlPY/yWwtC2J3geraYRtVVoRM6wdI+uchF4nvSSafXPZnaKqF8xnX+S22SU/FcgEAgockVIlOaAX3fkMpA==", - "requires": { - "commist": "^1.0.0", - "concat-stream": "^1.6.2", - "end-of-stream": "^1.4.1", - "es6-map": "^0.1.5", - "help-me": "^1.0.1", - "inherits": "^2.0.3", - "minimist": "^1.2.0", - "mqtt-packet": "^5.6.0", - "pump": "^3.0.0", - "readable-stream": "^2.3.6", - "reinterval": "^1.1.0", - "split2": "^2.1.1", - "websocket-stream": "^5.1.2", - "xtend": "^4.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "mqtt-packet": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-5.6.0.tgz", - "integrity": "sha512-QECe2ivqcR1LRsPobRsjenEKAC3i1a5gmm+jNKJLrsiq9PaSQ18LlKFuxvhGxWkvGEPadWv6rKd31O4ICqS1Xw==", - "requires": { - "bl": "^1.2.1", - "inherits": "^2.0.3", - "process-nextick-args": "^2.0.0", - "safe-buffer": "^5.1.0" - } - }, "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" }, - "multimatch": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", - "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", "requires": { - "array-differ": "^1.0.0", - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "minimatch": "^3.0.0" + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" } }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" + }, "mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" }, "nan": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", - "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==" + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", + "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==" }, "nanomatch": { "version": "1.2.13", @@ -10134,48 +7415,23 @@ "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } } }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" }, "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, "neo-async": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==" }, - "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" - }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -10225,15 +7481,37 @@ "lower-case": "^1.1.1" } }, + "node-emoji": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz", + "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==", + "requires": { + "lodash.toarray": "^4.4.0" + } + }, "node-environment-flags": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.4.tgz", - "integrity": "sha512-M9rwCnWVLW7PX+NUWe3ejEdiLYinRpsEre9hMkU/6NS4h+EEulYaDH1gCEZ2gyXsmw+RXYDaV2JkkTNcsPDJ0Q==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz", + "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==", "dev": true, "requires": { - "object.getownpropertydescriptors": "^2.0.3" + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + }, + "dependencies": { + "semver": { + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", + "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "dev": true + } } }, + "node-forge": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", + "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==" + }, "node-gyp": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", @@ -10253,6 +7531,14 @@ "which": "1" }, "dependencies": { + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "requires": { + "abbrev": "1" + } + }, "semver": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", @@ -10261,9 +7547,9 @@ } }, "node-libs-browser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", - "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz", + "integrity": "sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA==", "requires": { "assert": "^1.1.1", "browserify-zlib": "^0.2.0", @@ -10272,7 +7558,7 @@ "constants-browserify": "^1.0.0", "crypto-browserify": "^3.11.0", "domain-browser": "^1.1.1", - "events": "^1.0.0", + "events": "^3.0.0", "https-browserify": "^1.0.0", "os-browserify": "^0.3.0", "path-browserify": "0.0.0", @@ -10286,55 +7572,21 @@ "timers-browserify": "^2.0.4", "tty-browserify": "0.0.0", "url": "^0.11.0", - "util": "^0.10.3", + "util": "^0.11.0", "vm-browserify": "0.0.4" }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" - }, + "dependencies": { "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } } } }, "node-releases": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.11.tgz", - "integrity": "sha512-8v1j5KfP+s5WOTa1spNUAOfreajQPN12JXbRR0oDE+YrJBQCXBnNqUDj27EKpPLOoSiU3tKi3xGPB+JaOdUEQQ==", + "version": "1.1.22", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.22.tgz", + "integrity": "sha512-O6XpteBuntW1j86mw6LlovBIwTe+sO2+7vi9avQffNeIW4upgnaCVm6xrBWH+KATz7mNNRNNeEpuWB7dT6Cr3w==", "requires": { "semver": "^5.3.0" } @@ -10370,6 +7622,20 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + } + }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", @@ -10382,53 +7648,190 @@ "supports-color": "^2.0.0" } }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "requires": { + "repeating": "^2.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "requires": { + "get-stdin": "^4.0.1" + } }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" } } }, - "node-static": { - "version": "0.7.11", - "resolved": "https://registry.npmjs.org/node-static/-/node-static-0.7.11.tgz", - "integrity": "sha512-zfWC/gICcqb74D9ndyvxZWaI1jzcoHmf4UTHWQchBNuNMxdBLJMDiUgZ1tjGLEIe/BMhj2DxKD8HOuc2062pDQ==", - "requires": { - "colors": ">=0.6.0", - "mime": "^1.2.9", - "optimist": ">=0.3.4" - } - }, "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", "requires": { "abbrev": "1" } }, "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "requires": { "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", + "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" + }, + "normalize-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz", + "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==", "requires": { - "remove-trailing-separator": "^1.0.1" + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" } }, "npm-run-path": { @@ -10450,6 +7853,11 @@ "set-blocking": "~2.0.0" } }, + "nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E=" + }, "nth-check": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", @@ -10458,17 +7866,16 @@ "boolbase": "~1.0.0" } }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" + }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, - "nwmatcher": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz", - "integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==", - "optional": true - }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", @@ -10508,9 +7915,9 @@ } }, "object-keys": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", - "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, "object-visit": { "version": "1.0.1", @@ -10524,7 +7931,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, "requires": { "define-properties": "^1.1.2", "function-bind": "^1.1.1", @@ -10541,15 +7947,6 @@ "es-abstract": "^1.5.1" } }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" - } - }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -10558,6 +7955,22 @@ "isobject": "^3.0.1" } }, + "object.values": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", + "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.12.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", @@ -10566,6 +7979,11 @@ "ee-first": "1.1.1" } }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -10578,7 +7996,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, "requires": { "mimic-fn": "^1.0.0" }, @@ -10586,25 +8003,25 @@ "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" } } }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - }, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" - } + "is-wsl": "^1.1.0" + } + }, + "optimize-css-assets-webpack-plugin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.1.tgz", + "integrity": "sha512-Rqm6sSjWtx9FchdP0uzTQDc7GXDKnwVEGoSxjezPkzMewx7gEWE9IMUYKmigTRC4U3RaNSwYVnUDLuIdtTpm0A==", + "requires": { + "cssnano": "^4.1.0", + "last-call-webpack-plugin": "^3.0.0" } }, "optionator": { @@ -10618,60 +8035,14 @@ "prelude-ls": "~1.1.2", "type-check": "~0.3.2", "wordwrap": "~1.0.0" - }, - "dependencies": { - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" - } } }, - "options": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz", - "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=" - }, - "opts": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/opts/-/opts-1.2.6.tgz", - "integrity": "sha1-0YXAQlz9652h0YKQi2W1wCOP67M=" - }, - "ordered-read-streams": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", - "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", "requires": { - "readable-stream": "^2.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } + "url-parse": "^1.4.3" } }, "os-browserify": { @@ -10686,7 +8057,7 @@ }, "os-locale": { "version": "1.4.0", - "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { "lcid": "^1.0.0" @@ -10717,14 +8088,14 @@ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, "p-is-promise": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.0.0.tgz", - "integrity": "sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==" }, "p-limit": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz", - "integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", + "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", "requires": { "p-try": "^2.0.0" } @@ -10737,15 +8108,20 @@ "p-limit": "^2.0.0" } }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==" + }, "p-try": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", - "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, "pako": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.7.tgz", - "integrity": "sha512-3HNK5tW4x8o5mO8RuHZp3Ydw9icZXx0RANAOMzlMzx7LVXhMJ4mo3MOBpzyd7r/+RUu8BmndP47LXT+vzjtWcQ==" + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", + "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==" }, "parallel-transform": { "version": "1.1.0", @@ -10755,35 +8131,6 @@ "cyclist": "~0.2.2", "inherits": "^2.0.3", "readable-stream": "^2.1.5" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "param-case": { @@ -10795,61 +8142,54 @@ } }, "parent-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.0.tgz", - "integrity": "sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA==", - "dev": true, + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "requires": { "callsites": "^3.0.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + } } }, "parse-asn1": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", - "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", + "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", "requires": { "asn1.js": "^4.0.0", "browserify-aes": "^1.0.0", "create-hash": "^1.1.0", "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3" - } - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" } }, "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "requires": { - "error-ex": "^1.2.0" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true - }, "parse5": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", - "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", - "optional": true + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "requires": { + "@types/node": "*" + } }, "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, "pascalcase": { "version": "0.1.1", @@ -10879,8 +8219,7 @@ "path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" }, "path-key": { "version": "2.0.1", @@ -10898,91 +8237,366 @@ "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" }, "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "requires": { + "pify": "^3.0.0" + } + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "requires": { + "find-up": "^3.0.0" + } + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "requires": { + "find-up": "^2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + } + } + }, + "pointer-symbol": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pointer-symbol/-/pointer-symbol-1.0.0.tgz", + "integrity": "sha1-YPkRAgTqepKbYmRKITFVQ8uz1Ec=" + }, + "portfinder": { + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz", + "integrity": "sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw==", + "requires": { + "async": "^1.5.2", + "debug": "^2.2.0", + "mkdirp": "0.5.x" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "postcss": { + "version": "7.0.16", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.16.tgz", + "integrity": "sha512-MOo8zNSlIqh22Uaa3drkdIAgUGEL+AD1ESiSdmElLUmE2uVDo1QloiT/IfW9qRw8Gw+Y/w69UVMGwbufMSftxA==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-calc": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.1.tgz", + "integrity": "sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ==", + "requires": { + "css-unit-converter": "^1.1.1", + "postcss": "^7.0.5", + "postcss-selector-parser": "^5.0.0-rc.4", + "postcss-value-parser": "^3.3.1" + }, + "dependencies": { + "cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==" + }, + "postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "requires": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-load-config": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.0.0.tgz", + "integrity": "sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ==", + "requires": { + "cosmiconfig": "^4.0.0", + "import-cwd": "^2.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz", + "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==", + "requires": { + "is-directory": "^0.3.1", + "js-yaml": "^3.9.0", + "parse-json": "^4.0.0", + "require-from-string": "^2.0.1" + } + } + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" }, "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "postcss-selector-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", + "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "requires": { + "dot-prop": "^4.1.1", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } } } }, - "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" } }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", "requires": { - "pinkie": "^2.0.0" + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" } }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", "requires": { - "find-up": "^3.0.0" + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" } }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" - }, - "postcss": { - "version": "7.0.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz", - "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==", + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "postcss-selector-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", + "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", "requires": { - "has-flag": "^3.0.0" + "dot-prop": "^4.1.1", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" } } } @@ -11023,6 +8637,143 @@ "postcss": "^7.0.6" } }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==" + } + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-safe-parser": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz", + "integrity": "sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ==", + "requires": { + "postcss": "^7.0.0" + } + }, "postcss-selector-parser": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", @@ -11033,6 +8784,27 @@ "uniq": "^1.0.1" } }, + "postcss-svgo": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", + "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "requires": { + "is-svg": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + } + }, "postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", @@ -11043,15 +8815,37 @@ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" }, "prettier": { - "version": "1.16.4", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.16.4.tgz", - "integrity": "sha512-ZzWuos7TI5CKUeQAtFd6Zhm2s6EpAD/ZLApIhsF9pRvRtM1RFo61dM/4MSRUA0SuLugA/zgrZD8m0BaY46Og7g==" + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.16.3.tgz", + "integrity": "sha512-kn/GU6SMRYPxUakNXhpP0EedT/KmaPzr0H5lIsDogrykbaxOpOfAFfk5XA7DZrJyMAv1wlMV3CPcZruGXVVUZw==" + }, + "pretty-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "requires": { + "renderkid": "^2.0.1", + "utila": "~0.4" + } + }, + "pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==" + }, + "prismjs": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.16.0.tgz", + "integrity": "sha512-OA4MKxjFZHSvZcisLGe14THYsug/nF6O1f0pAJc0KN0wTyAcLqmsbE+lTGKSpyh+9pEW57+k6pg2AfYR+coyHA==", + "requires": { + "clipboard": "^2.0.0" + } }, "private": { "version": "0.1.8", @@ -11059,9 +8853,9 @@ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" }, "process": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" }, "process-nextick-args": { "version": "2.0.0", @@ -11071,29 +8865,229 @@ "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + }, + "prompt-actions": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/prompt-actions/-/prompt-actions-3.0.2.tgz", + "integrity": "sha512-dhz2Fl7vK+LPpmnQ/S/eSut4BnH4NZDLyddHKi5uTU/2PDn3grEMGkgsll16V5RpVUh/yxdiam0xsM0RD4xvtg==", + "requires": { + "debug": "^2.6.8" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "prompt-base": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/prompt-base/-/prompt-base-4.1.0.tgz", + "integrity": "sha512-svGzgLUKZoqomz9SGMkf1hBG8Wl3K7JGuRCXc/Pv7xw8239hhaTBXrmjt7EXA9P/QZzdyT8uNWt9F/iJTXq75g==", + "requires": { + "component-emitter": "^1.2.1", + "debug": "^3.0.1", + "koalas": "^1.0.2", + "log-utils": "^0.2.1", + "prompt-actions": "^3.0.2", + "prompt-question": "^5.0.1", + "readline-ui": "^2.2.3", + "readline-utils": "^2.2.3", + "static-extend": "^0.1.2" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "prompt-choices": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/prompt-choices/-/prompt-choices-4.1.0.tgz", + "integrity": "sha512-ZNYLv6rW9z9n0WdwCkEuS+w5nUAGzRgtRt6GQ5aFNFz6MIcU7nHFlHOwZtzy7RQBk80KzUGPSRQphvMiQzB8pg==", + "requires": { + "arr-flatten": "^1.1.0", + "arr-swap": "^1.0.1", + "choices-separator": "^2.0.0", + "clone-deep": "^4.0.0", + "collection-visit": "^1.0.0", + "define-property": "^2.0.2", + "is-number": "^6.0.0", + "kind-of": "^6.0.2", + "koalas": "^1.0.2", + "log-utils": "^0.2.1", + "pointer-symbol": "^1.0.0", + "radio-symbol": "^2.0.0", + "set-value": "^3.0.0", + "strip-color": "^0.1.0", + "terminal-paginator": "^2.0.2", + "toggle-array": "^1.0.1" + }, + "dependencies": { + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "is-number": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-6.0.0.tgz", + "integrity": "sha512-Wu1VHeILBK8KAWJUAiSZQX94GmOE45Rg6/538fKwiloUu21KncEkYGPqob2oSZ5mUT73vLGrHQjKw3KMPwfDzg==" + }, + "set-value": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-3.0.0.tgz", + "integrity": "sha512-tqkg9wJ2TOsxbzIMG5NMAmzjdbDTAD0in7XuUzmFpJE4Ipi2QFBfgC2Z1/gfxcAmWCPsuutiEJyDIMRsrjrMOQ==", + "requires": { + "is-plain-object": "^2.0.4" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "requires": { + "kind-of": "^6.0.2" + } + } + } + }, + "prompt-confirm": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/prompt-confirm/-/prompt-confirm-2.0.4.tgz", + "integrity": "sha512-X5lzbC8/kMNHdPOqQPfMKpH4VV2f7v2OTRJoN69ZYBirSwTeQaf9ZhmzPEO9ybMA0YV2Pha5MV27u2/U4ahWfg==", + "requires": { + "ansi-cyan": "^0.1.1", + "prompt-base": "^4.0.1" + } + }, + "prompt-question": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/prompt-question/-/prompt-question-5.0.2.tgz", + "integrity": "sha512-wreaLbbu8f5+7zXds199uiT11Ojp59Z4iBi6hONlSLtsKGTvL2UY8VglcxQ3t/X4qWIxsNCg6aT4O8keO65v6Q==", "requires": { - "asap": "~2.0.3" + "clone-deep": "^1.0.0", + "debug": "^3.0.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "kind-of": "^5.0.2", + "koalas": "^1.0.2", + "prompt-choices": "^4.0.5" + }, + "dependencies": { + "clone-deep": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-1.0.0.tgz", + "integrity": "sha512-hmJRX8x1QOJVV+GUjOBzi6iauhPqc9hIF6xitWRBbiPZOBb6vGo/mDRIK9P74RTKSQK7AE8B0DDWY/vpRrPmQw==", + "requires": { + "for-own": "^1.0.0", + "is-plain-object": "^2.0.4", + "kind-of": "^5.0.0", + "shallow-clone": "^1.0.0" + } + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } } }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" - }, "proxy-addr": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", - "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", "requires": { "forwarded": "~0.1.2", - "ipaddr.js": "1.8.0" + "ipaddr.js": "1.9.0" } }, "prr": { @@ -11159,11 +9153,26 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + }, "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, + "query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", @@ -11174,27 +9183,25 @@ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" }, - "randomatic": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", - "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==" + }, + "radio-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/radio-symbol/-/radio-symbol-2.0.0.tgz", + "integrity": "sha1-eqm/xQSFY21S3XbWqOYxspB5muE=", "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" - } + "ansi-gray": "^0.1.1", + "ansi-green": "^0.1.1", + "is-windows": "^1.0.1" } }, "randombytes": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", - "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "requires": { "safe-buffer": "^5.1.0" } @@ -11211,54 +9218,107 @@ "range-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true }, "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + } } }, "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, "requires": { - "load-json-file": "^1.0.0", + "load-json-file": "^2.0.0", "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "path-type": "^2.0.0" + }, + "dependencies": { + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } } }, "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" }, "dependencies": { "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "locate-path": "^2.0.0" } }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true } } }, @@ -11269,16 +9329,30 @@ "requires": { "extend-shallow": "^2.0.1", "js-yaml": "^3.8.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } } }, "readable-stream": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz", - "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "readdirp": { @@ -11289,70 +9363,66 @@ "graceful-fs": "^4.1.11", "micromatch": "^3.1.10", "readable-stream": "^2.0.2" + } + }, + "readline-ui": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/readline-ui/-/readline-ui-2.2.3.tgz", + "integrity": "sha512-ix7jz0PxqQqcIuq3yQTHv1TOhlD2IHO74aNO+lSuXsRYm1d+pdyup1yF3zKyLK1wWZrVNGjkzw5tUegO2IDy+A==", + "requires": { + "component-emitter": "^1.2.1", + "debug": "^2.6.8", + "readline-utils": "^2.2.1", + "string-width": "^2.0.0" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "ms": "2.0.0" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, - "recursive-readdir": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", - "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", - "requires": { - "minimatch": "3.0.4" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "readline-utils": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/readline-utils/-/readline-utils-2.2.3.tgz", + "integrity": "sha1-b4R9a48ZFcORtYHDZ81HhzhiNRo=", "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" + "arr-flatten": "^1.1.0", + "extend-shallow": "^2.0.1", + "is-buffer": "^1.1.5", + "is-number": "^3.0.0", + "is-windows": "^1.0.1", + "koalas": "^1.0.2", + "mute-stream": "0.0.7", + "strip-color": "^0.1.0", + "window-size": "^1.1.0" }, "dependencies": { - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "requires": { - "repeating": "^2.0.0" + "is-extendable": "^0.1.0" } } } }, "reduce": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/reduce/-/reduce-1.0.1.tgz", - "integrity": "sha1-FPouX/H8VgcDoCDLtfuqtpFWWAQ=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/reduce/-/reduce-1.0.2.tgz", + "integrity": "sha512-xX7Fxke/oHO5IfZSk77lvPa/7bjMh9BuCk4OOoX5XTXrM7s0Z+MkPfSDfz0q7r91BhhGSs8gii/VEN/7zhCPpQ==", "requires": { - "object-keys": "~1.0.0" + "object-keys": "^1.1.0" } }, "regenerate": { @@ -11361,29 +9431,26 @@ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==" }, "regenerate-unicode-properties": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.0.2.tgz", - "integrity": "sha512-SbA/iNrBUf6Pv2zU8Ekv1Qbhv92yxL4hiDa2siuxs4KKn4oOoMDHXjAf7+Nz9qinUQ46B1LcWEi/PhJfPWpZWQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz", + "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==", "requires": { "regenerate": "^1.4.0" } }, + "regenerator-runtime": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", + "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==" + }, "regenerator-transform": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.4.tgz", - "integrity": "sha512-T0QMBjK3J0MtxjPmdIMXm72Wvj2Abb0Bd4HADdfijwMdoIsyQZ6fWC7kDFhk2YinBBEMZDL7Y7wh0J1sGx3S4A==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.0.tgz", + "integrity": "sha512-rtOelq4Cawlbmq9xuMR5gdFmv7ku/sFoB7sRiywx7aq53bc52b4j6zvH7Te1Vt/X2YveDKnCGUbioieU7FEL3w==", "requires": { "private": "^0.1.6" } }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "requires": { - "is-equal-shallow": "^0.1.3" - } - }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -11391,37 +9458,17 @@ "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } } }, "regexp-tree": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.5.tgz", - "integrity": "sha512-nUmxvfJyAODw+0B13hj8CFVAxhe7fDEAgJgaotBu3nnR+IgGgZq59YedJP5VYTlkEfqjuK6TuRpnymKdatLZfQ==" + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.10.tgz", + "integrity": "sha512-K1qVSbcedffwuIslMwpe6vGlj+ZXRnGkvjAtFHfDZZZuEdA/h0dxljAPu9vhUo6Rrx2U2AwJ+nSQ6hK+lrP5MQ==" }, "regexpp": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==" }, "regexpu-core": { "version": "4.5.4", @@ -11451,16 +9498,11 @@ "dependencies": { "jsesc": { "version": "0.5.0", - "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" } } }, - "reinterval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reinterval/-/reinterval-1.1.0.tgz", - "integrity": "sha1-M2Hs+jymwYKDOA3Qu5VG85D17Oc=" - }, "relateurl": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", @@ -11471,6 +9513,40 @@ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" }, + "renderkid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", + "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", + "requires": { + "css-select": "^1.1.0", + "dom-converter": "^0.2", + "htmlparser2": "^3.3.0", + "strip-ansi": "^3.0.0", + "utila": "^0.4.0" + }, + "dependencies": { + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + } + } + }, "repeat-element": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", @@ -11511,25 +9587,9 @@ "performance-now": "^2.1.0", "qs": "~6.5.2", "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - }, - "tough-cookie": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - } - } + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" } }, "require-directory": { @@ -11537,15 +9597,25 @@ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, - "require-one": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/require-one/-/require-one-1.0.3.tgz", - "integrity": "sha1-Dv68zpgP78PfhM4A8mnhnItvSZA=" + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "reselect": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz", + "integrity": "sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc=" }, "resolve": { "version": "1.10.0", @@ -11555,26 +9625,18 @@ "path-parse": "^1.0.6" } }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", - "dev": true, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" + "resolve-from": "^3.0.0" } }, "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "resolve-pathname": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-2.2.0.tgz", - "integrity": "sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" }, "resolve-url": { "version": "0.2.1", @@ -11585,7 +9647,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, "requires": { "onetime": "^2.0.0", "signal-exit": "^3.0.2" @@ -11596,13 +9657,15 @@ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "requires": { - "align-text": "^0.1.1" - } + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=" + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" }, "rimraf": { "version": "2.6.3", @@ -11625,7 +9688,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "dev": true, "requires": { "is-promise": "^2.1.0" } @@ -11639,10 +9701,9 @@ } }, "rxjs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz", - "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==", - "dev": true, + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz", + "integrity": "sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==", "requires": { "tslib": "^1.9.0" } @@ -11652,11 +9713,6 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "safe-json-parse": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz", - "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=" - }, "safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", @@ -11687,33 +9743,6 @@ "lodash": "^4.0.0", "scss-tokenizer": "^0.2.3", "yargs": "^7.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" - }, - "yargs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" - } - } } }, "sass-loader": { @@ -11732,8 +9761,7 @@ "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "optional": true + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "schema-utils": { "version": "1.0.0", @@ -11764,13 +9792,41 @@ } } }, - "select2": { - "version": "4.0.6-rc.1", - "resolved": "https://registry.npmjs.org/select2/-/select2-4.0.6-rc.1.tgz", - "integrity": "sha1-qmwwOKfw8ukf+t448KIcFeGBMnY=", + "section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "requires": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=" + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" + }, + "selfsigned": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.4.tgz", + "integrity": "sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw==", "requires": { - "almond": "~0.3.1", - "jquery-mousewheel": "~3.1.13" + "node-forge": "0.7.5" } }, "semver": { @@ -11779,9 +9835,9 @@ "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" }, "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", "requires": { "debug": "2.6.9", "depd": "~1.1.2", @@ -11790,12 +9846,58 @@ "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + } + } + }, + "serialize-javascript": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.7.0.tgz", + "integrity": "sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==" + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" }, "dependencies": { "debug": { @@ -11806,27 +9908,38 @@ "ms": "2.0.0" } }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" } } }, - "serialize-javascript": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.6.1.tgz", - "integrity": "sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw==" - }, "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" + "parseurl": "~1.3.3", + "send": "0.17.1" } }, "set-blocking": { @@ -11834,6 +9947,14 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, + "set-getter": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz", + "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=", + "requires": { + "to-object-path": "^0.3.0" + } + }, "set-value": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", @@ -11843,6 +9964,16 @@ "is-extendable": "^0.1.1", "is-plain-object": "^2.0.3", "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } } }, "setimmediate": { @@ -11851,9 +9982,9 @@ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" }, "sha.js": { "version": "2.4.11", @@ -11959,53 +10090,48 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + } + } + }, "sinon": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-7.3.0.tgz", - "integrity": "sha512-0pYvgRv46fODzT/PByqb79MVNpyxsxf38WEiXTABOF8RfIMcIARfZ+1ORuxwAmHkreZ/jST3UDBdKCRhUy/e1A==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-7.3.2.tgz", + "integrity": "sha512-thErC1z64BeyGiPvF8aoSg0LEnptSaWE7YhdWWbWXgelOyThent7uKOnnEh9zBxDbKixtr5dEko+ws1sZMuFMA==", "dev": true, "requires": { "@sinonjs/commons": "^1.4.0", "@sinonjs/formatio": "^3.2.1", - "@sinonjs/samsam": "^3.3.0", + "@sinonjs/samsam": "^3.3.1", "diff": "^3.5.0", - "lolex": "^3.1.0", + "lolex": "^4.0.1", "nise": "^1.4.10", "supports-color": "^5.5.0" - } - }, - "sitemap": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-1.13.0.tgz", - "integrity": "sha1-Vpy+IYAgKSamKiZs094Jyc60P4M=", - "requires": { - "underscore": "^1.7.0", - "url-join": "^1.1.0" - } - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" }, "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", "dev": true } } }, - "slugify": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.3.4.tgz", - "integrity": "sha512-KP0ZYk5hJNBS8/eIjGkFDCzGQIoZ1mnfQRYS5WM3273z+fxGWXeN0fkwf2ebEweydv9tioZIHGZKoF21U07/nw==" + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" }, "snapdragon": { "version": "0.8.2", @@ -12038,6 +10164,14 @@ "is-descriptor": "^0.1.0" } }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -12109,6 +10243,54 @@ } } }, + "sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" + } + }, + "sockjs-client": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz", + "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==", + "requires": { + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", + "json3": "^3.3.2", + "url-parse": "^1.4.3" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "faye-websocket": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", + "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "requires": { + "websocket-driver": ">=0.5.1" + } + } + } + }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "requires": { + "is-plain-obj": "^1.0.0" + } + }, "source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", @@ -12131,6 +10313,22 @@ "urix": "^0.1.0" } }, + "source-map-support": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", + "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", @@ -12164,39 +10362,49 @@ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.3.tgz", "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==" }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "spdy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.0.tgz", + "integrity": "sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q==", "requires": { - "extend-shallow": "^3.0.0" + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" }, "dependencies": { - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", "requires": { - "is-plain-object": "^2.0.4" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } } } }, - "split2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", - "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { - "through2": "^2.0.2" + "extend-shallow": "^3.0.0" } }, "sprintf-js": { @@ -12205,9 +10413,9 @@ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "sshpk": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.0.tgz", - "integrity": "sha512-Zhev35/y7hRMcID/upReIvRse+I9SVhyVre/KTJSJQWMz3C3+G+HpO7m1wK/yckEtujKZ7dS4hkVxAnmHaIGVQ==", + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -12221,17 +10429,22 @@ } }, "ssri": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", - "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", "requires": { - "safe-buffer": "^5.1.1" + "figgy-pudding": "^3.5.1" } }, - "stat-mode": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", - "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=" + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==" + }, + "stack-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", + "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==" }, "static-extend": { "version": "0.1.2", @@ -12253,83 +10466,33 @@ } }, "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, - "stdout-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", - "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "std-env": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-2.2.1.tgz", + "integrity": "sha512-IjYQUinA3lg5re/YMlwlfhqNRTzMZMqE+pezevdcTaHceqx8ngEi1alX9nNCk9Sc81fy1fLDeQoaCzeiW1yBOQ==", "requires": { - "readable-stream": "^2.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } + "ci-info": "^1.6.0" + } + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "requires": { + "readable-stream": "^2.0.1" } }, "stream-browserify": { - "version": "2.0.1", - "resolved": "http://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", - "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "requires": { "inherits": "~2.0.1", "readable-stream": "^2.0.2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "stream-each": { @@ -12351,35 +10514,6 @@ "readable-stream": "^2.3.6", "to-arraybuffer": "^1.0.0", "xtend": "^4.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } } }, "stream-shift": { @@ -12387,25 +10521,39 @@ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" }, - "string-template": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", - "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=" + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" }, "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } } }, "string_decoder": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", - "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" } @@ -12419,112 +10567,147 @@ } }, "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "requires": { - "is-utf8": "^0.2.0" - } + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=" + }, + "strip-color": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz", + "integrity": "sha1-EG9l09PmotlAHKwOsM6LinArT3s=" }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "requires": { - "get-stdin": "^4.0.1" - } - }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" }, - "substitute": { - "version": "https://github.com/segmentio/substitute/archive/0.1.0.tar.gz", - "integrity": "sha512-2ccHCDdgHt0ZrXAFM/7G/3zEwMhsUfOKfwzSAv2vqO2JQcPpNAlp10e8F5uMa6zpGFYRrdy7BGLvBZsthHrLag==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", "requires": { - "has-flag": "^3.0.0" + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz", + "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=", + "requires": { + "dot-prop": "^4.1.1", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } } }, - "symbol-tree": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", - "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", - "optional": true - }, - "table": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/table/-/table-5.2.3.tgz", - "integrity": "sha512-N2RsDAMvDLvYwFcwbPyF3VmVSSkuF+G1e+8inhBLtHpvwXGw4QRPEZhihQNeEN0i1up6/f6ObCJXNdlRG3YVyQ==", - "dev": true, + "stylus": { + "version": "0.54.5", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.5.tgz", + "integrity": "sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk=", "requires": { - "ajv": "^6.9.1", - "lodash": "^4.17.11", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" + "css-parse": "1.7.x", + "debug": "*", + "glob": "7.0.x", + "mkdirp": "0.5.x", + "sax": "0.5.x", + "source-map": "0.1.x" }, "dependencies": { - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, + "glob": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", + "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.2", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } + "sax": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz", + "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=" }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", "requires": { - "ansi-regex": "^4.1.0" + "amdefine": ">=0.0.4" } } } }, + "stylus-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz", + "integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==", + "requires": { + "loader-utils": "^1.0.2", + "lodash.clonedeep": "^4.5.0", + "when": "~3.6.x" + } + }, + "success-symbol": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/success-symbol/-/success-symbol-0.1.0.tgz", + "integrity": "sha1-JAIuSG878c3KCUKDt2nEctO3KJc=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=" + }, + "svgo": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.2.2.tgz", + "integrity": "sha512-rAfulcwp2D9jjdGu+0CuqlrAUin6bBWrpoqXWwKDZZZJfXcUXQSxLJOFJCQCSA0x0pP2U0TxSlJu2ROq5Bq6qA==", + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.28", + "css-url-regex": "^1.1.0", + "csso": "^3.5.1", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + } + }, "tapable": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz", - "integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" }, "tar": { "version": "2.2.1", @@ -12536,15 +10719,88 @@ "inherits": "2" } }, + "terminal-paginator": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/terminal-paginator/-/terminal-paginator-2.0.2.tgz", + "integrity": "sha512-IZMT5ECF9p4s+sNCV8uvZSW9E1+9zy9Ji9xz2oee8Jfo7hUFpauyjxkhfRcIH6Lu3Wdepv5D1kVRc8Hx74/LfQ==", + "requires": { + "debug": "^2.6.6", + "extend-shallow": "^2.0.1", + "log-utils": "^0.2.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "terser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.0.0.tgz", + "integrity": "sha512-dOapGTU0hETFl1tCo4t56FN+2jffoKyER9qBGoUFyZ6y7WLoKT0bF+lAYi6B6YsILcGF3q1C2FBh8QcKSCgkgA==", + "requires": { + "commander": "^2.19.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.10" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "terser-webpack-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.3.0.tgz", + "integrity": "sha512-W2YWmxPjjkUcOWa4pBEv4OP4er1aeQJlSo2UhtCFQCuRXEHjOFscO8VyWHj9JLlA0RzQb8Y2/Ta78XZvT54uGg==", + "requires": { + "cacache": "^11.3.2", + "find-cache-dir": "^2.0.0", + "is-wsl": "^1.1.0", + "loader-utils": "^1.2.3", + "schema-utils": "^1.0.0", + "serialize-javascript": "^1.7.0", + "source-map": "^0.6.1", + "terser": "^4.0.0", + "webpack-sources": "^1.3.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" }, "through": { "version": "2.3.8", - "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, "through2": { @@ -12554,58 +10810,17 @@ "requires": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "through2-filter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", - "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", - "requires": { - "through2": "~2.0.0", - "xtend": "~4.0.0" } }, - "thunkify": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz", - "integrity": "sha1-+qDp0jDFGsyVyhOjYawFyn4EVT0=" + "thunky": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz", + "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==" }, - "thunkify-wrap": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/thunkify-wrap/-/thunkify-wrap-1.0.4.tgz", - "integrity": "sha1-tSvlSN3+/aIOALWMYJZ2K0PdaIA=", - "requires": { - "enable": "1" - } + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=" }, "timers-browserify": { "version": "2.0.10", @@ -12615,52 +10830,34 @@ "setimmediate": "^1.0.4" } }, - "tiny-lr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz", - "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==", - "requires": { - "body": "^5.1.0", - "debug": "^3.1.0", - "faye-websocket": "~0.10.0", - "livereload-js": "^2.3.0", - "object-assign": "^4.1.0", - "qs": "^6.4.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - } - } - } + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=" + }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, "requires": { "os-tmpdir": "~1.0.2" } }, - "to-absolute-glob": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", - "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", - "requires": { - "is-absolute": "^1.0.0", - "is-negated-glob": "^1.0.0" - } - }, "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" }, + "to-factory": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-factory/-/to-factory-1.0.0.tgz", + "integrity": "sha1-hzivi9lxIK0dQEeXKtpVY7+UebE=" + }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -12693,25 +10890,6 @@ "extend-shallow": "^3.0.2", "regex-not": "^1.0.2", "safe-regex": "^1.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } } }, "to-regex-range": { @@ -12723,32 +10901,45 @@ "repeat-string": "^1.6.1" } }, + "toggle-array": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toggle-array/-/toggle-array-1.0.1.tgz", + "integrity": "sha1-y/WEB5K9UJfzMReugkyTKv/ofVg=", + "requires": { + "isobject": "^3.0.0" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, "toml": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.5.tgz", - "integrity": "sha512-ulY/Z2yPWKl/3JvGJvnEe7mXqVt2+TtDoRxJNgTAwO+3lwXefeCHS697NN0KRy6q7U/b1MnSnj/UGF/4U0U2WQ==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz", + "integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==" + }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=" }, "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "optional": true, + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } } }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", - "optional": true - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" - }, "trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", @@ -12773,8 +10964,7 @@ "tslib": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", - "dev": true + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" }, "tty-browserify": { "version": "0.0.0", @@ -12808,13 +10998,33 @@ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" + }, "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "requires": { "media-typer": "0.3.0", - "mime-types": "~2.1.18" + "mime-types": "~2.1.24" + }, + "dependencies": { + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "requires": { + "mime-db": "1.40.0" + } + } } }, "typedarray": { @@ -12823,150 +11033,31 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "uc.micro": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.5.tgz", - "integrity": "sha512-JoLI4g5zv5qNyT09f4YAvEZIIV1oOjqnewYg5D38dkQljIzpPT296dbIGvKro3digYI1bkb7W6EP1y4uDlmzLg==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" }, "uglify-js": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.2.tgz", - "integrity": "sha512-imog1WIsi9Yb56yRt5TfYVxGmnWs3WSGU73ieSOlMVFwhJCA9W8fqFFMMj4kgDqiS/80LGdsYnWL7O9UcjEBlg==", - "optional": true, + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", "requires": { "commander": "~2.19.0", "source-map": "~0.6.1" }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "optional": true - }, - "uglifyjs-webpack-plugin": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", - "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", - "requires": { - "cacache": "^10.0.4", - "find-cache-dir": "^1.0.0", - "schema-utils": "^0.4.5", - "serialize-javascript": "^1.4.0", - "source-map": "^0.6.1", - "uglify-es": "^3.3.4", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" - }, "dependencies": { "commander": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" - }, - "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "requires": { - "locate-path": "^2.0.0" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "requires": { - "p-try": "^1.0.0" - } - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "requires": { - "find-up": "^2.1.0" - } - }, - "schema-utils": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" - } + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "uglify-es": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", - "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", - "requires": { - "commander": "~2.13.0", - "source-map": "~0.6.1" - } } } }, - "ultron": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz", - "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=" - }, - "unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" - }, - "underscore": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", - "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" - }, "unicode-canonical-property-names-ecmascript": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", @@ -13002,6 +11093,14 @@ "set-value": "^0.4.3" }, "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, "set-value": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", @@ -13020,6 +11119,11 @@ "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + }, "unique-filename": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", @@ -13036,15 +11140,6 @@ "imurmurhash": "^0.1.4" } }, - "unique-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", - "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", - "requires": { - "json-stable-stringify-without-jsonify": "^1.0.1", - "through2-filter": "^3.0.0" - } - }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -13055,6 +11150,11 @@ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" + }, "unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", @@ -13088,26 +11188,13 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" } } }, - "unyield": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/unyield/-/unyield-0.0.1.tgz", - "integrity": "sha1-FQ5l2kK/d0JEW5WKZOubhdHSsYA=", - "requires": { - "co": "~3.1.0" - } - }, "upath": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", - "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", + "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==" }, "upper-case": { "version": "1.1.3", @@ -13143,10 +11230,24 @@ } } }, - "url-join": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/url-join/-/url-join-1.1.0.tgz", - "integrity": "sha1-dBxsL0WWxIMNZxhGCSDQySIC3Hg=" + "url-loader": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", + "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", + "requires": { + "loader-utils": "^1.1.0", + "mime": "^2.0.3", + "schema-utils": "^1.0.0" + } + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } }, "use": { "version": "3.1.1", @@ -13159,9 +11260,9 @@ "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=" }, "util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", "requires": { "inherits": "2.0.3" } @@ -13180,6 +11281,11 @@ "object.getownpropertydescriptors": "^2.0.3" } }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=" + }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -13199,16 +11305,16 @@ "spdx-expression-parse": "^3.0.0" } }, - "validator": { - "version": "10.11.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz", - "integrity": "sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==" - }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" }, + "vendors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.3.tgz", + "integrity": "sha512-fOi47nsJP5Wqefa43kyWSg80qF+Q3XA6MUkgi7Hp1HQaKDQW4cQrK2D0P7mmbFtsV1N89am55Yru/nyEwRubcw==" + }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", @@ -13232,11 +11338,6 @@ "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.10.tgz", "integrity": "sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ==" }, - "vue-cool-select": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/vue-cool-select/-/vue-cool-select-2.9.0.tgz", - "integrity": "sha512-K8+JOg25k0GJcGQ/9VGwkJNNSwvQd7HWb4ZIeMvfuavqrFnvWFRy/RqxGwJtRhtMRZzwpCAhAX8DUAlHYed0Dg==" - }, "vue-hot-reload-api": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.3.tgz", @@ -13254,6 +11355,55 @@ "vue-style-loader": "^4.1.0" } }, + "vue-router": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.0.6.tgz", + "integrity": "sha512-Ox0ciFLswtSGRTHYhGvx2L44sVbTPNS+uD2kRISuo8B39Y79rOo0Kw0hzupTmiVtftQYCZl87mwldhh2L9Aquw==" + }, + "vue-server-renderer": { + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/vue-server-renderer/-/vue-server-renderer-2.6.10.tgz", + "integrity": "sha512-UYoCEutBpKzL2fKCwx8zlRtRtwxbPZXKTqbl2iIF4yRZUNO/ovrHyDAJDljft0kd+K0tZhN53XRHkgvCZoIhug==", + "requires": { + "chalk": "^1.1.3", + "hash-sum": "^1.0.2", + "he": "^1.1.0", + "lodash.template": "^4.4.0", + "lodash.uniq": "^4.5.0", + "resolve": "^1.2.0", + "serialize-javascript": "^1.3.0", + "source-map": "0.5.6" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, "vue-style-loader": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz", @@ -13277,14 +11427,89 @@ "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==" }, - "ware": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz", - "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=", + "vuepress": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/vuepress/-/vuepress-1.0.0-beta.1.tgz", + "integrity": "sha512-g8WaGKwp8b/fXB5jWjBepeu93OZYKtBWJ/HbsRLb3un0zTWySF1UZV7yWVOMVwdbekyWIp0qGKZrRoFguyqCiQ==", + "requires": { + "@vuepress/core": "^1.0.0-alpha.50", + "@vuepress/theme-default": "^1.0.0-alpha.50", + "cac": "^6.3.9", + "envinfo": "^7.2.0" + } + }, + "vuepress-html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vuepress-html-webpack-plugin/-/vuepress-html-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-BebAEl1BmWlro3+VyDhIOCY6Gef2MCBllEVAP3NUAtMguiyOwo/dClbwJ167WYmcxHJKLl7b0Chr9H7fpn1d0A==", + "requires": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + } + } + }, + "vuepress-plugin-container": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/vuepress-plugin-container/-/vuepress-plugin-container-2.0.1.tgz", + "integrity": "sha512-SMlWJl0uZYkqAxD2RUZmIrANZWKgiZdM64K7WmdyHyQPYI+NUj3ugi5D+zDn62BoO9NfQTiskEIa2u619SRweA==", + "requires": { + "markdown-it-container": "^2.0.0" + } + }, + "vuepress-validate-frontmatter": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/vuepress-validate-frontmatter/-/vuepress-validate-frontmatter-2.0.10.tgz", + "integrity": "sha512-sR6xjyV472GhlbnU1NAEmRGq9D8HBMqikqQPYxeo+j9i1koUOjMBf90SWN9Ba3i+pep2fEpLmTyL6OejdNfRQw==", "requires": { - "wrap-fn": "^0.1.0" + "@types/node": "^12.0.2", + "chalk": "^2.4.2", + "commander": "^2.20.0", + "diff": "^4.0.1", + "lodash": "^4.17.11", + "node-emoji": "^1.10.0", + "prompt-confirm": "^2.0.4", + "yaml": "^1.5.1" + }, + "dependencies": { + "@types/node": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.2.tgz", + "integrity": "sha512-5tabW/i+9mhrfEOUcLDu2xBPsHJ+X5Orqy9FKpale3SjDA17j5AEpYq5vfy3oAeAHGcvANRCO3NV3d2D6q3NiA==" + } } }, + "warning-symbol": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/warning-symbol/-/warning-symbol-0.1.0.tgz", + "integrity": "sha1-uzHdEbeg+dZ6su2V9Fe2WCW7rSE=" + }, "watchpack": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", @@ -13293,260 +11518,242 @@ "chokidar": "^2.0.2", "graceful-fs": "^4.1.2", "neo-async": "^2.5.0" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "webpack": { + "version": "4.32.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.32.2.tgz", + "integrity": "sha512-F+H2Aa1TprTQrpodRAWUMJn7A8MgDx82yQiNvYMaj3d1nv3HetKU0oqEulL9huj8enirKi8KvEXQ3QtuHF89Zg==", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/wasm-edit": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "acorn": "^6.0.5", + "acorn-dynamic-import": "^4.0.0", + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0", + "chrome-trace-event": "^1.0.0", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.0", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "micromatch": "^3.1.8", + "mkdirp": "~0.5.0", + "neo-async": "^2.5.0", + "node-libs-browser": "^2.0.0", + "schema-utils": "^1.0.0", + "tapable": "^1.1.0", + "terser-webpack-plugin": "^1.1.0", + "watchpack": "^1.5.0", + "webpack-sources": "^1.3.0" + } + }, + "webpack-chain": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-4.12.1.tgz", + "integrity": "sha512-BCfKo2YkDe2ByqkEWe1Rw+zko4LsyS75LVr29C6xIrxAg9JHJ4pl8kaIZ396SUSNp6b4815dRZPSTAS8LlURRQ==", + "requires": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^1.6.0" + } + }, + "webpack-dev-middleware": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.6.0.tgz", + "integrity": "sha512-oeXA3m+5gbYbDBGo4SvKpAHJJEGMoekUbHgo1RK7CP1sz7/WOSeu/dWJtSTk+rzDCLkPwQhGocgIq6lQqOyOwg==", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.3.1", + "range-parser": "^1.0.3", + "webpack-log": "^2.0.0" }, "dependencies": { - "anymatch": { + "webpack-log": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" } + } + } + }, + "webpack-dev-server": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.5.1.tgz", + "integrity": "sha512-0IdMGddJcnK9zesZOeHWl4uAOVfypn7DSrdNWtclROkVBXy/TcBN+6eEG1wNfLT9dXVfaRZZsLTJt0mJtgTQgw==", + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.6", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.2.1", + "http-proxy-middleware": "^0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "killable": "^1.0.1", + "loglevel": "^1.6.2", + "opn": "^5.5.0", + "portfinder": "^1.0.20", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.4", + "semver": "^6.1.1", + "serve-index": "^1.9.1", + "sockjs": "0.3.19", + "sockjs-client": "1.3.0", + "spdy": "^4.0.0", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.0", + "webpack-log": "^2.0.0", + "yargs": "12.0.5" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, - "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" }, "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "is-extglob": "^2.1.0" + "ansi-regex": "^3.0.0" } } } }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "requires": { - "is-extglob": "^2.1.1" - } - } - } - }, - "webidl-conversions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-2.0.1.tgz", - "integrity": "sha1-O/glj30xjHRDw28uFpQCoaZwNQY=", - "optional": true - }, - "webpack": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-2.7.0.tgz", - "integrity": "sha512-MjAA0ZqO1ba7ZQJRnoCdbM56mmFpipOPUv/vQpwwfSI42p5PVDdoiuK2AL2FwFUVgT859Jr43bFZXRg/LNsqvg==", - "requires": { - "acorn": "^5.0.0", - "acorn-dynamic-import": "^2.0.0", - "ajv": "^4.7.0", - "ajv-keywords": "^1.1.1", - "async": "^2.1.2", - "enhanced-resolve": "^3.3.0", - "interpret": "^1.0.0", - "json-loader": "^0.5.4", - "json5": "^0.5.1", - "loader-runner": "^2.3.0", - "loader-utils": "^0.2.16", - "memory-fs": "~0.4.1", - "mkdirp": "~0.5.0", - "node-libs-browser": "^2.0.0", - "source-map": "^0.5.3", - "supports-color": "^3.1.0", - "tapable": "~0.2.5", - "uglify-js": "^2.8.27", - "watchpack": "^1.3.1", - "webpack-sources": "^1.0.1", - "yargs": "^6.0.0" - }, - "dependencies": { - "acorn": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", - "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==" + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" }, - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", "requires": { - "co": "^4.6.0", - "json-stable-stringify": "^1.0.1" + "invert-kv": "^2.0.0" } }, - "ajv-keywords": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", - "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=" - }, - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" - }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + "mime": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.3.tgz", + "integrity": "sha512-QgrPRJfE+riq5TPZMcHZOtm8c6K/yYrMbKIoRfapfiGLxS8OTeIfRhUGW5LU7MlRa52KOAGCfUNruqLrIBvWZw==" }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" } }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "json5": { - "version": "0.5.1", - "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } + "semver": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.1.1.tgz", + "integrity": "sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==" }, "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "requires": { - "has-flag": "^1.0.0" + "has-flag": "^3.0.0" } }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "webpack-dev-middleware": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.0.tgz", + "integrity": "sha512-qvDesR1QZRIAZHOE3iQ4CXLZZSQ1lAUsSpnQmlB1PBfoN/xdRjmge3Dok0W4IdaVLJOGJy3sGI4sZHwjRU0PCA==", "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" - }, - "dependencies": { - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" - } - } + "memory-fs": "^0.4.1", + "mime": "^2.4.2", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" } }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, "yargs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "version": "12.0.5", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", + "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", + "os-locale": "^3.0.0", "require-directory": "^2.1.1", "require-main-filename": "^1.0.1", "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^4.2.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - } - } - }, - "yargs-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", - "requires": { - "camelcase": "^3.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" - } + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" } } } }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "webpack-merge": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.1.tgz", + "integrity": "sha512-4p8WQyS98bUJcCvFMbdGZyZmsKuWjWVnVHnAS3FFg0HDaRVrPbkivx2RYCre8UiemD67RsiFFLfn4JhLAin8Vw==", + "requires": { + "lodash": "^4.17.5" + } + }, "webpack-sources": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", @@ -13563,6 +11770,72 @@ } } }, + "webpackbar": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-3.2.0.tgz", + "integrity": "sha512-PC4o+1c8gWWileUfwabe0gqptlXUDJd5E0zbpr2xHP1VSOVlZVPBZ8j6NCR8zM5zbKdxPhctHXahgpNK1qFDPw==", + "requires": { + "ansi-escapes": "^4.1.0", + "chalk": "^2.4.1", + "consola": "^2.6.0", + "figures": "^3.0.0", + "pretty-time": "^1.1.0", + "std-env": "^2.2.1", + "text-table": "^0.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-escapes": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.1.0.tgz", + "integrity": "sha512-2VY/iCUZTDLD/qxptS3Zn3c6k2MeIbYqjRXqM8T5oC7N2mMjh3xIU3oYru6cHGbldFa9h5i8N0fP65UaUqrMWA==", + "requires": { + "type-fest": "^0.3.0" + } + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "figures": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.0.0.tgz", + "integrity": "sha512-HKri+WoWoUgr83pehn/SIgLOMZ9nAWC6dcGj26RY2R4F50u4+RTUz0RCrUlOV3nKRAICW1UGzyb+kcX2qK1S/g==", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + } + } + }, "websocket-driver": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", @@ -13577,37 +11850,10 @@ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==" }, - "websocket-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/websocket-stream/-/websocket-stream-5.2.0.tgz", - "integrity": "sha512-2ZfiWuEK/bTi8AhXdYh/lFEUwXtGVcbO4vWUy5XJhf7F6nCMAC8hbXXTarxrmv2BFSwdk3P3bhvgiA9wzT+GFQ==", - "requires": { - "duplexify": "^3.6.1", - "inherits": "^2.0.1", - "readable-stream": "^3.0.0", - "safe-buffer": "^5.1.2", - "ws": "^6.1.2", - "xtend": "^4.0.0" - }, - "dependencies": { - "ws": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.0.tgz", - "integrity": "sha512-deZYUNlt2O4buFCa3t5bKLf8A7FPP/TVjwOeVNpw818Ma5nk4MLXls2eoEGS39o8119QIYxTrTDoPQ5B/gTD6w==", - "requires": { - "async-limiter": "~1.0.0" - } - } - } - }, - "whatwg-url-compat": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/whatwg-url-compat/-/whatwg-url-compat-0.6.5.tgz", - "integrity": "sha1-AImBEa9om7CXVBzVpFymyHmERb8=", - "optional": true, - "requires": { - "tr46": "~0.0.1" - } + "when": { + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz", + "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=" }, "which": { "version": "1.3.1", @@ -13630,44 +11876,91 @@ "string-width": "^1.0.2 || 2" } }, - "win-fork": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/win-fork/-/win-fork-1.1.1.tgz", - "integrity": "sha1-j1jgZW/KAK3IyGoriePNLWotXl4=" - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" - }, + "window-size": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-1.1.1.tgz", + "integrity": "sha512-5D/9vujkmVQ7pSmc0SCBmHXbkv6eaHwXEx65MywhmUMsI8sGqJ972APq1lotfcwMKPFLuCFfL8xGHLIp7jaBmA==", + "requires": { + "define-property": "^1.0.0", + "is-number": "^3.0.0" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" }, "worker-farm": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", - "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", "requires": { "errno": "~0.1.7" } }, "wrap-ansi": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" - } - }, - "wrap-fn": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz", - "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=", - "requires": { - "co": "3.1.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } } }, "wrappy": { @@ -13679,195 +11972,187 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, "requires": { "mkdirp": "^0.5.1" } }, - "ws": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz", - "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==", - "requires": { - "options": ">=0.0.5", - "ultron": "1.0.x" - } - }, - "xml-name-validator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", - "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", - "optional": true - }, - "xmldom": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", - "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=" - }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" }, "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" }, + "yaml": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.5.1.tgz", + "integrity": "sha512-btfJvMOgVthGZSgHBMrDkLuQu4YxOycw6kwuC67cUEOKJmmNozjIa02eKvuSq7usqqqpwwCvflGTF6JcDvSudw==", + "requires": { + "@babel/runtime": "^7.4.4" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.4.4.tgz", + "integrity": "sha512-w0+uT71b6Yi7i5SE0co4NioIpSYS6lLiXvCzWzGSKvpK5vdQtCbICHMj+gbAKAOtxiV6HsVh/MBdaF9EQ6faSg==", + "requires": { + "regenerator-runtime": "^0.13.2" + } + } + } + }, "yargs": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.2.tgz", - "integrity": "sha512-WyEoxgyTD3w5XRpAQNYUB9ycVH/PQrToaTXdYXRdOXvEy1l19br+VJsc0vcO8PTGg5ro/l/GY7F/JMEBmI0BxA==", - "requires": { - "cliui": "^4.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", + "require-main-filename": "^1.0.1", "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.0.0" + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" }, "dependencies": { - "ansi-regex": { + "camelcase": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, - "dependencies": { - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - } + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "requires": { - "invert-kv": "^2.0.0" + "pinkie-promise": "^2.0.0" } }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - } + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "requires": { - "ansi-regex": "^3.0.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" } }, - "which-module": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-bom": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } }, "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" }, "yargs-parser": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.0.0.tgz", - "integrity": "sha512-w2LXjoL8oRdRQN+hOyppuXs+V/fVAYtpcrRxZuF7Kt/Oc+Jr2uAcVntaUTNT6w5ihoWfFDpNY8CPx1QskxZ/pw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "camelcase": "^3.0.0" } } } }, "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", + "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", "requires": { - "camelcase": "^3.0.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" - } + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } }, "yargs-unparser": { @@ -13904,12 +12189,6 @@ "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", "dev": true }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, "lcid": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", @@ -13930,16 +12209,6 @@ "mem": "^4.0.0" } }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", @@ -13974,18 +12243,13 @@ "y18n": "^3.2.1 || ^4.0.0", "yargs-parser": "^11.1.1" } - }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } } } + }, + "zepto": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zepto/-/zepto-1.2.0.tgz", + "integrity": "sha1-4Se9nmb9hGvl6rSME5SIL3wOT5g=" } } } diff --git a/package.json b/package.json index 613422170..78d68ce00 100644 --- a/package.json +++ b/package.json @@ -1,94 +1,60 @@ { - "name": "kuzzleio-documentation", - "version": "2.1.1", - "description": "Kuzzle Documentation", + "name": "vuepress-poc", + "version": "1.0.0", + "description": "", "main": "index.js", "scripts": { - "build": "node index.js --gzip", - "dev": "node index.js --dev --watch", - "lint": "eslint --max-warnings=0 *.js ./test/lib ./test/test ./helpers ./scaffolding/lib ./plugins ./config", - "snippets-testing": "bash run-all-snippet-tests.sh", - "unit-testing": "mocha ./test/test", - "scaffold": "node scaffolding/index.js", - "test": "npm run --silent lint && npm run snippets-testing" + "dev": "vuepress dev src --no-clear-screen", + "build": "vuepress build src", + "debug": "node --nolazy --inspect-brk=9229 ./node_modules/.bin/vuepress dev src", + "lint": "eslint --max-warnings=0 ./test/lib/**/*.js ./test/test/**/*.js", + "snippet-test": "bash run-all-snippet-tests.sh", + "test": "npm run --silent lint && npm run snippet-test" }, - "repository": { - "type": "git", - "url": "git://github.com/kuzzleio/documentation-v2.git" - }, - "author": "The Kuzzle Team ", - "license": "Apache-2.0", + "author": "", + "license": "ISC", "dependencies": { - "@babel/core": "^7.4.0", - "@babel/preset-env": "^7.4.2", - "babel-loader": "^8.0.5", - "bluebird": "^3.5.3", - "cheerio": "^0.22.0", - "css-loader": "^2.1.1", - "express": "^4.16.4", - "fast-deepclone": "^1.0.1", - "handlebars": "^4.1.1", - "hoek": "^6.1.2", - "indent-string": "^3.2.0", - "jquery": "^3.3.1", - "jsonfile": "^5.0.0", - "jstransformer-handlebars": "^1.1.0", - "markdown-it": "^8.4.2", - "marked": "^0.6.1", - "metalsmith": "^2.3.0", - "metalsmith-algolia": "^0.1.0", - "metalsmith-ancestry": "^1.4.0", - "metalsmith-concat": "6.0.1", - "metalsmith-discover-partials": "^0.1.2", - "metalsmith-gzip": "^1.1.0", - "metalsmith-hbt-md": "^1.0.1", - "metalsmith-html-minifier": "^3.0.3", - "metalsmith-inline-svg": "^0.1.4", - "metalsmith-layouts": "^2.3.0", - "metalsmith-linkcheck": "^0.3.4", - "metalsmith-livereload": "^0.1.0", - "metalsmith-markdown": "^1.2.0", - "metalsmith-metallic": "^2.0.3", - "metalsmith-optipng": "0.0.2", - "metalsmith-permalinks": "^2.2.0", - "metalsmith-redirect": "^2.1.0", - "metalsmith-relative-links": "^1.2.0", - "metalsmith-sass": "^1.6.0", - "metalsmith-serve": "0.0.7", - "metalsmith-sitemap": "^1.2.2", - "metalsmith-watch": "github:scottinet/metalsmith-watch", - "metalsmith-webpack2": "^1.0.2", - "minimatch": "^3.0.4", - "mqtt": "^2.18.8", - "prettier": "^1.16.4", + "@babel/plugin-transform-react-jsx": "^7.3.0", + "@vuepress/plugin-google-analytics": "^1.0.0-alpha.47", + "@vuepress/shared-utils": "^1.0.1", + "algoliasearch": "^3.32.1", + "chalk": "^2.4.2", + "cheerio": "^1.0.0-rc.3", + "clipboard": "^2.0.4", + "commander": "^2.20.0", + "diff": "^4.0.1", + "docsearch.js": "^2.6.2", + "eslint": "^5.16.0", + "expose-loader": "^0.7.5", + "indent-string": "^4.0.0", + "js-cookie": "^2.1.4", + "lunr": "^2.3.6", + "moment": "^2.24.0", + "node-sass": "^4.11.0", + "prompt-confirm": "^2.0.4", "read-yaml": "^1.1.0", "sanitize-filename": "^1.6.1", "sass-loader": "^7.1.0", - "select2": "^4.0.6-rc.1", - "uglifyjs-webpack-plugin": "^1.3.0", - "vue": "^2.6.10", - "vue-cool-select": "^2.9.0", - "vue-loader": "^15.7.0", - "vue-style-loader": "^4.1.2", - "vue-template-compiler": "^2.6.10", - "yargs": "^13.2.2" + "vuepress": "1.0.0-beta.1", + "vuepress-plugin-container": "^2.0.1", + "vuepress-validate-frontmatter": "^2.0.10", + "yaml": "^1.5.1" }, "devDependencies": { - "commander": "^2.19.0", - "ejs": "^2.6.1", - "eslint": "^5.15.3", - "eslint-plugin-html": "^5.0.3", - "eslint-plugin-import": "^2.16.0", - "eslint-plugin-node": "^8.0.1", - "eslint-plugin-promise": "^4.0.1", + "colors": "^1.3.3", + "eslint-plugin-html": "^5.0.5", + "eslint-plugin-import": "^2.17.2", + "eslint-plugin-node": "^9.0.1", + "eslint-plugin-promise": "^4.1.1", "eslint-plugin-standard": "^4.0.0", "eslint-scope": "^4.0.3", "eslint-visitor-keys": "^1.0.0", "lodash": "^4.17.11", - "mocha": "^6.0.2", + "mocha": "^6.1.4", "mock-require": "^3.0.3", "should": "^13.2.3", "should-sinon": "0.0.6", - "sinon": "^7.3.0" + "sinon": "^7.3.2", + "webpack-dev-middleware": "^3.6.0" } } diff --git a/plugins/anchors.js b/plugins/anchors.js deleted file mode 100644 index 6b875baec..000000000 --- a/plugins/anchors.js +++ /dev/null @@ -1,34 +0,0 @@ -const cheerio = require('cheerio'); - -module.exports = { - process(filename, data) { - const anchors = [], - ids = new Set(), - $ = cheerio.load(data.contents.toString()); - - $('h1, h2').each((i, el) => { - const id = `${$(el) - .text() - .replace(/&.*?/g, '') - .replace(/\s+/g, '-') - .replace(/[^\w-]/g, '') - .replace(/[-]+/g, '-') - .toLowerCase()}`; - - if (!ids.has(id)) { - anchors.push({ - text: $(el).html(), - id - }); - ids.add(id); - } - - $(el).attr('id', id); - }); - - return { - anchors, - fileContent: Buffer.from($.html()) - }; - } -}; diff --git a/plugins/include.js b/plugins/include.js deleted file mode 100644 index dd1684410..000000000 --- a/plugins/include.js +++ /dev/null @@ -1,29 +0,0 @@ -const - path = require('path'); - -const INCLUDE_REGEX = /

\[include=(.*?)\]<\/p>/; - -module.exports = function plugin () { - const include = (file, files) => { - const content = files[file].contents.toString(); - - return Buffer.from(content.replace(INCLUDE_REGEX, (match, name) => { - if (name.endsWith('.md')) { - name = name.replace(/\.md$/, ''); - } - - const fn = path.join(`${path.dirname(file)}/${name}.html`); - return files[fn].contents.toString(); - })); - }; - - return function main (files, metalsmith, done) { - for (const file of Object.keys(files)) { - if (file.endsWith('.html')) { - files[file].contents = include(file, files); - } - } - - setImmediate(done); - }; -}; diff --git a/plugins/save-src.js b/plugins/save-src.js deleted file mode 100644 index a9de85e56..000000000 --- a/plugins/save-src.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = options => { - return (files, metalsmith, done) => { - setImmediate(done); - - for (const file in files) { - if (files.hasOwnProperty(file)) { - files[file].src = file; - } - } - }; -}; diff --git a/plugins/sectionManager.js b/plugins/sectionManager.js deleted file mode 100644 index a726b02cc..000000000 --- a/plugins/sectionManager.js +++ /dev/null @@ -1,54 +0,0 @@ -const - path = require('path'), - globby = require('globby').sync; - -const SECTION_REGEX = /\[section=([a-zA-Z0-9-]+)\]/g; - -module.exports = function plugin () { - const process = function process (file, files) { - const content = files[file].contents.toString(); - - let has_section = false; - let sections = []; - - const out = content.replace(SECTION_REGEX, (match, name) => { - let replacement = ''; - - for (const fn of globby(path.join(__dirname, `../src/${path.dirname(file)}/${name}*`))) { - has_section = true; - sections.push(name); - - const lng = fn.replace(/^.*\.([^.]+)\.[^.]+$/, '$1'); - const key = `${path.dirname(file)}/${path.basename(fn).replace(/\.[^.]+$/, '')}.html`; - const languageName = lng === 'js' ? 'javascript' : lng; - - replacement += `

- ${files[key].contents.toString()} -
`; - } - - return replacement; - }); - - return { - has_section, - sections, - contents: Buffer.from(out) - }; - }; - - return (files, metalsmith, done) => { - for (const file of Object.keys(files)) { - if (file.endsWith('index.html')) { - const processed = process(file, files); - - files[file].contents = processed.contents; - files[file].has_section = processed.has_section; - files[file].sections = processed.sections.join(','); - } - } - - setImmediate(done); - }; -}; - diff --git a/plugins/snippetManager.js b/plugins/snippetManager.js deleted file mode 100644 index 3d346a883..000000000 --- a/plugins/snippetManager.js +++ /dev/null @@ -1,54 +0,0 @@ -const - fs = require('fs'), - path = require('path'), - marked = require('marked'), - MarkdownIt = require('markdown-it'), - color = require('colors/safe'); - -const SNIPPET_REGEX = /(\[snippet=)[a-zA-Z0-9-]+\]/g; - - -module.exports = { - - process (filename, data) { - let - self = this, - fileString = data.contents.toString(), - match = fileString.match(SNIPPET_REGEX), - presentLanguages = [], - md = new MarkdownIt(); - - if(match) { - match.forEach(el => { - let - name = el.split('=')[1].slice(0, -1), - fullPath = path.join(__dirname, '../src/' + filename.split('/').slice(0, -1).join('/') + '/snippets'), - code = '', - filenames = fs.readdirSync(fullPath); - - filenames.forEach(file => { - - if (file.split('.')[0] === name && file.substr(-8) !== 'test.yml') { - presentLanguages.push(file.split('.')[1]); - let fileContent = fs.readFileSync(fullPath + '/' + file, 'utf8'); - const lng = file.split('.')[1]; - const languageName = lng === 'js' ? 'javascript' : lng; - - code += '``` ' + languageName + '\n' + fileContent + '\n```\n'; - } - - }); - const markdown = md.render(code); - fileString = fileString.replace(el, markdown); - }); - } - return { - has_code_example : (match) ? true : false, - fileContent: new Buffer(fileString) - }; - }, - - report (args) { - console.log(color.yellow('[TO-DO] =>'), args); - } -}; diff --git a/redirections.yml b/redirections.yml new file mode 100644 index 000000000..7ddbfbf24 --- /dev/null +++ b/redirections.yml @@ -0,0 +1,562 @@ +--- +redirections: + # API + - from: api/1/controller-admin + to: core/1/api/controllers/admin + + - from: api/1/controller-auth + to: core/1/api/controllers/auth + + - from: api/1/controller-bulk + to: core/1/api/controllers/bulk + + - from: api/1/controller-collection + to: core/1/api/controllers/collection + + - from: api/1/controller-document + to: core/1/api/controllers/document + + - from: api/1/controller-index + to: core/1/api/controllers/index + + - from: api/1/controller-memory-storage + to: core/1/api/controllers/memory-storage + + - from: api/1/controller-realtime + to: core/1/api/controllers/realtime + + - from: api/1/controller-security + to: core/1/api/controllers/security + + - from: api/1/controller-server + to: core/1/api/controllers/server + + - from: api/1/essentials + to: core/1/api/essentials + + # Guides + - from: guide/1/datavalidation + to: core/1/guides/cookbooks/datavalidation + + - from: guide/1/dbsearch + to: core/1/guides/code-examples/dbsearch + + - from: guide/1/elasticsearch + to: core/1/guides/cookbooks/elasticsearch + + - from: guide/1/essentials + to: core/1/guides/essentials + + - from: guide/1/geofencing + to: core/1/guides/code-examples/geofencing + + - from: guide/1/getting-started + to: core/1/guides/getting-started + + - from: guide/1/iot + to: core/1/guides/code-examples/iot + + - from: guide/1/kuzzle-depth + to: core/1/guides/kuzzle-depth + + - from: guide/1/pubsub + to: core/1/guides/code-examples/pubsub + + # Koncorde + - from: koncorde/1/essentials + to: core/1/koncorde/essentials + + # Plugin essentials + - from: plugins/1/essentials/available-plugins + to: core/1/plugins/essentials/available-plugins + + - from: plugins/1/essentials/getting-started + to: core/1/plugins/essentials/getting-started + + - from: plugins/1/essentials/introduction + to: core/1/plugins/essentials/introduction + + # Plugin guides + - from: plugins/1/controllers + to: core/1/plugins/guides/controllers + + - from: plugins/1/events + to: core/1/plugins/guides/events + + - from: plugins/1/hooks + to: core/1/plugins/guides/hooks + + - from: plugins/1/manual-setup + to: core/1/plugins/guides/manual-setup + + - from: plugins/1/pipes + to: core/1/plugins/guides/pipes + + - from: plugins/1/strategies + to: core/1/plugins/guides/strategies + + # Plugin context + - from: plugins/1/accessors + to: core/1/plugins/plugin-context/accessors + + - from: plugins/1/constructors + to: core/1/plugins/plugin-context/constructors + + - from: plugins/1/errors + to: core/1/plugins/plugin-context/errors + + - from: plugins/1/log + to: core/1/plugins/plugin-context/log + + # Protocols essentials + - from: protocols/1/essentials/getting-started + to: core/1/protocols/essentials/getting-started + + # Protocols api + - from: protocols/1/context + to: core/1/protocols/api/context + + - from: protocols/1/entrypoint + to: core/1/protocols/api/entrypoint + + - from: protocols/1/methods + to: core/1/protocols/api/methods + + # Protocols native protocols + - from: protocols/1/native-protocols + to: core/1/protocols/native-protocols + + # JS 6 essentials + - from: sdk-reference/js/6/getting-started + to: sdk/js/6/essentials/getting-started + + - from: sdk-reference/js/6/error-handling + to: sdk/js/6/essentials/error-handling + + - from: sdk-reference/js/6/events + to: sdk/js/6/essentials/events + + - from: sdk-reference/js/6/realtime-notifications + to: sdk/js/6/essentials/realtime-notifications + + - from: sdk-reference/js/6/offline-tools + to: sdk/js/6/essentials/offline-tools + + - from: sdk-reference/js/6/extend-sdk + to: sdk/js/6/essentials/extend-sdk + + # JS 6 core classes + - from: sdk-reference/js/6/base-controller + to: sdk/js/6/core-classes/base-controller + + - from: sdk-reference/js/6/kuzzle + to: sdk/js/6/core-classes/kuzzle + + - from: sdk-reference/js/6/kuzzle-error + to: sdk/js/6/core-classes/kuzzle-error + + - from: sdk-reference/js/6/kuzzle-event-emitter + to: sdk/js/6/core-classes/kuzzle-event-emitter + + - from: sdk-reference/js/6/profile + to: sdk/js/6/core-classes/profile + + - from: sdk-reference/js/6/role + to: sdk/js/6/core-classes/role + + - from: sdk-reference/js/6/search-result + to: sdk/js/6/core-classes/search-result + + - from: sdk-reference/js/6/user + to: sdk/js/6/core-classes/user + + # JS 6 protocols + - from: sdk-reference/js/6/http + to: sdk/js/6/protocols/http + + - from: sdk-reference/js/6/websocket + to: sdk/js/6/protocols/websocket + + - from: sdk-reference/js/6/socketio + to: sdk/js/6/protocols/socketio + + # JS 6 Controllers + - from: sdk-reference/js/6/auth + to: sdk/js/6/controllers/auth + + - from: sdk-reference/js/6/bulk + to: sdk/js/6/controllers/bulk + + - from: sdk-reference/js/6/collection + to: sdk/js/6/controllers/collection + + - from: sdk-reference/js/6/document + to: sdk/js/6/controllers/document + + - from: sdk-reference/js/6/index + to: sdk/js/6/controllers/index + + - from: sdk-reference/js/6/ms + to: sdk/js/6/controllers/ms + + - from: sdk-reference/js/6/realtime + to: sdk/js/6/controllers/realtime + + - from: sdk-reference/js/6/server + to: sdk/js/6/controllers/server + + # JS 5 essentials + - from: sdk-reference/js/5/handling-errors + to: sdk/js/5/essentials/error-handling + + - from: sdk-reference/js/5/events + to: sdk/js/5/essentials/events + + - from: sdk-reference/js/5/offline-first + to: sdk/js/5/essentials/offline-tools + + - from: sdk-reference/js/5/notifications + to: sdk/js/5/essentials/realtime-notifications + + # JS 5 core classes + - from: sdk-reference/js/5/collection + to: sdk/js/5/core-classes/collection + + - from: sdk-reference/js/5/collection-mapping + to: sdk/js/5/core-classes/collection-mapping + + - from: sdk-reference/js/5/document + to: sdk/js/5/core-classes/document + + - from: sdk-reference/js/5/kuzzle + to: sdk/js/5/core-classes/kuzzle + + - from: sdk-reference/js/5/memory-storage + to: sdk/js/5/core-classes/memory-storage + + - from: sdk-reference/js/5/profile + to: sdk/js/5/core-classes/profile + + - from: sdk-reference/js/5/role + to: sdk/js/5/core-classes/role + + - from: sdk-reference/js/5/room + to: sdk/js/5/core-classes/room + + - from: sdk-reference/js/5/search-result + to: sdk/js/5/core-classes/search-result + + - from: sdk-reference/js/5/security + to: sdk/js/5/core-classes/security + + - from: sdk-reference/js/5/user + to: sdk/js/5/core-classes/user + + # Java 1 essentials + - from: sdk-reference/java/1/error-handling + to: sdk/java/1/essentials/error-handling + + - from: sdk-reference/java/1/events + to: sdk/java/1/essentials/events + + - from: sdk-reference/java/1/getting-started + to: sdk/java/1/essentials/getting-started + + - from: sdk-reference/java/1/offline-tools + to: sdk/java/1/essentials/offline-tools + + - from: sdk-reference/java/1/realtime-notifications + to: sdk/java/1/essentials/realtime-notifications + + # Java 1 core classes + - from: sdk-reference/java/1/kuzzle + to: sdk/java/1/core-classes/kuzzle + + - from: sdk-reference/java/1/search-result + to: sdk/java/1/core-classes/search-result + + # Java 1 protocols + - from: sdk-reference/java/1/protocol/websocket + to: sdk/java/1/protocols/websocket + + # Java 1 controllers + - from: sdk-reference/java/1/auth + to: sdk/java/1/controllers/auth + + - from: sdk-reference/java/1/collection + to: sdk/java/1/controllers/collection + + - from: sdk-reference/java/1/document + to: sdk/java/1/controllers/document + + - from: sdk-reference/java/1/index + to: sdk/java/1/controllers/index + + - from: sdk-reference/java/1/realtime + to: sdk/java/1/controllers/realtime + + - from: sdk-reference/java/1/server + to: sdk/java/1/controllers/server + + # Go 1 essentials + - from: sdk-reference/go/1/error-handling + to: sdk/go/1/essentials/error-handling + + - from: sdk-reference/go/1/events + to: sdk/go/1/essentials/events + + - from: sdk-reference/go/1/getting-started + to: sdk/go/1/essentials/getting-started + + - from: sdk-reference/go/1/offline-tools + to: sdk/go/1/essentials/offline-tools + + - from: sdk-reference/go/1/realtime-notifications + to: sdk/go/1/essentials/realtime-notifications + + # Go 1 core structs + - from: sdk-reference/go/1/kuzzle + to: sdk/go/1/core-structs/kuzzle + + - from: sdk-reference/go/1/search-result + to: sdk/go/1/core-structs/search-result + + - from: sdk-reference/go/1/kuzzle-event-emitter + to: sdk/go/1/core-structs/kuzzle-event-emitter + + # Go 1 protocols + - from: sdk-reference/go/1/protocols/websocket + to: sdk/go/1/protocols/websocket + + # Go 1 controllers + - from: sdk-reference/go/1/auth + to: sdk/go/1/controllers/auth + + - from: sdk-reference/go/1/collection + to: sdk/go/1/controllers/collection + + - from: sdk-reference/go/1/document + to: sdk/go/1/controllers/document + + - from: sdk-reference/go/1/index + to: sdk/go/1/controllers/index + + - from: sdk-reference/go/1/realtime + to: sdk/go/1/controllers/realtime + + - from: sdk-reference/go/1/server + to: sdk/go/1/controllers/server + + # Cpp 1 essentials + - from: sdk-reference/cpp/1/error-handling + to: sdk/cpp/1/essentials/error-handling + + - from: sdk-reference/cpp/1/events + to: sdk/cpp/1/essentials/events + + - from: sdk-reference/cpp/1/getting-started + to: sdk/cpp/1/essentials/getting-started + + - from: sdk-reference/cpp/1/offline-tools + to: sdk/cpp/1/essentials/offline-tools + + - from: sdk-reference/cpp/1/realtime-notifications + to: sdk/cpp/1/essentials/realtime-notifications + + # Cpp 1 core classes + - from: sdk-reference/cpp/1/kuzzle + to: sdk/cpp/1/core-classes/kuzzle + + - from: sdk-reference/cpp/1/search-result + to: sdk/cpp/1/core-classes/search-result + + - from: sdk-reference/cpp/1/user + to: sdk/cpp/1/core-classes/user + + - from: sdk-reference/cpp/1/user-right + to: sdk/cpp/1/core-classes/user-right + + # Cpp 1 virtual classes + - from: sdk-reference/cpp/1/protocol + to: sdk/cpp/1/virtual-classes/protocol + + # Cpp 1 protocols + - from: sdk-reference/cpp/1/websocket + to: sdk/cpp/1/protocols/websocket + + # Cpp 1 controllers + - from: sdk-reference/cpp/1/auth + to: sdk/cpp/1/controllers/auth + + - from: sdk-reference/cpp/1/collection + to: sdk/cpp/1/controllers/collection + + - from: sdk-reference/cpp/1/document + to: sdk/cpp/1/controllers/document + + - from: sdk-reference/cpp/1/index + to: sdk/cpp/1/controllers/index + + - from: sdk-reference/cpp/1/realtime + to: sdk/cpp/1/controllers/realtime + + - from: sdk-reference/cpp/1/server + to: sdk/cpp/1/controllers/server + + # Android 3 essentials + - from: sdk-reference/android/3/handling-errors + to: sdk/android/3/essentials/error-handling + + - from: sdk-reference/android/3/events + to: sdk/android/3/essentials/events + + - from: sdk-reference/android/3/offline-first + to: sdk/android/3/essentials/offline-tools + + - from: sdk-reference/android/3/notifications + to: sdk/android/3/essentials/realtime-notifications + + # Android 3 core classes + - from: sdk-reference/android/3/collection + to: sdk/android/3/core-classes/collection + + - from: sdk-reference/android/3/collection-mapping + to: sdk/android/3/core-classes/collection-mapping + + - from: sdk-reference/android/3/document + to: sdk/android/3/core-classes/document + + - from: sdk-reference/android/3/kuzzle + to: sdk/android/3/core-classes/kuzzle + + - from: sdk-reference/android/3/memory-storage + to: sdk/android/3/core-classes/memory-storage + + - from: sdk-reference/android/3/profile + to: sdk/android/3/core-classes/profile + + - from: sdk-reference/android/3/role + to: sdk/android/3/core-classes/role + + - from: sdk-reference/android/3/room + to: sdk/android/3/core-classes/room + + - from: sdk-reference/android/3/search-result + to: sdk/android/3/core-classes/search-result + + - from: sdk-reference/android/3/security + to: sdk/android/3/core-classes/security + + - from: sdk-reference/android/3/user + to: sdk/android/3/core-classes/user + + # PHP 3 essentials + - from: sdk-reference/php/3/handling-errors + to: sdk/php/3/essentials/error-handling + + - from: sdk-reference/php/3/events + to: sdk/php/3/essentials/events + + # PHP 3 core classes + - from: sdk-reference/php/3/collection + to: sdk/php/3/core-classes/collection + + - from: sdk-reference/php/3/collection-mapping + to: sdk/php/3/core-classes/collection-mapping + + - from: sdk-reference/php/3/document + to: sdk/php/3/core-classes/document + + - from: sdk-reference/php/3/kuzzle + to: sdk/php/3/core-classes/kuzzle + + - from: sdk-reference/php/3/memory-storage + to: sdk/php/3/core-classes/memory-storage + + - from: sdk-reference/php/3/profile + to: sdk/php/3/core-classes/profile + + - from: sdk-reference/php/3/role + to: sdk/php/3/core-classes/role + + - from: sdk-reference/php/3/search-result + to: sdk/php/3/core-classes/search-result + + - from: sdk-reference/php/3/security + to: sdk/php/3/core-classes/security + + - from: sdk-reference/php/3/user + to: sdk/php/3/core-classes/user + + # Legacy (doc v1) + - from: api-documentation + to: core/1/api + + - from: sdk-reference/essentials + to: sdk + + - from: elasticsearch-cookbook/bool-query + to: core/1/guides/cookbooks/elasticsearch/bool-query + + - from: guide/getting-started + to: core/1/guides/getting-started + + - from: guide/essentials/installing-kuzzle + to: core/1/guides/essentials/installing-kuzzle + + - from: guide/essentials/installing-console + to: core/1/guides/essentials/admin-console + + - from: guide/code-examples/geofencing/javascript + to: core/1/guides/code-examples/geofencing/javascript + + - from: guide/essentials + to: core/1/guides/essentials + + - from: sdk-reference/collection + to: sdk + + - from: elasticsearch-cookbook/useful-commands + to: core/1/guides/cookbooks/elasticsearch/useful-commands + + - from: guide/code-examples/dbsearch/javascript + to: core/1/guides/code-examples/dbsearch/javascript + + - from: guide/essentials/plugins + to: core/1/plugins/essentials/available-plugins + + - from: guide/kuzzle-depth + to: core/1/guides/kuzzle-depth + + - from: plugins-reference/plugins-features + to: core/1/plugins/essentials/getting-started + + - from: sdk-reference/essentials/events + to: sdk/js/6/essentials/events + + - from: sdk-reference/essentials/notifications + to: sdk/js/6/essentials/realtime-notifications + + - from: elasticsearch-cookbook/basic-queries + to: core/1/guides/cookbooks/elasticsearch/basic-queries + + - from: guide/essentials/real-time + to: core/1/guides/essentials/real-time + + - from: sdk-reference/collection/search + to: sdk + + - from: sdk-reference/kuzzle + to: sdk + + - from: api-documentation/query-syntax + to: core/1/api/essentials/query-syntax + + - from: kuzzle-events/plugin-events + to: core/1/plugins/guides/events + + - from: sdk-reference/kuzzle/login + to: sdk/js/6/controllers/auth/login + + - from: sdk-reference/memory-storage/pfadd + to: sdk/js/6/controllers/ms/pfadd diff --git a/run-all-snippet-tests.sh b/run-all-snippet-tests.sh index cadd60250..7249f0f2f 100755 --- a/run-all-snippet-tests.sh +++ b/run-all-snippet-tests.sh @@ -26,8 +26,8 @@ function start_sdk_tests() { start_sdk_tests js 5 start_sdk_tests js 6 start_sdk_tests go 1 -start_sdk_tests cpp 1 -start_sdk_tests java 1 +# start_sdk_tests cpp 1 +# start_sdk_tests java 1 start_sdk_tests csharp 1 exit $error diff --git a/scaffolding/templates/action.js.md b/scaffolding/templates/action.js.md index 58851ccd7..c9d9c740c 100644 --- a/scaffolding/templates/action.js.md +++ b/scaffolding/templates/action.js.md @@ -8,7 +8,7 @@ description: ## Arguments -```javascript +```js <%= _.camelCase(action) %>() ``` diff --git a/src/.vuepress/components/CodeSnippet.vue b/src/.vuepress/components/CodeSnippet.vue new file mode 100644 index 000000000..74355daa4 --- /dev/null +++ b/src/.vuepress/components/CodeSnippet.vue @@ -0,0 +1,10 @@ + + + + + diff --git a/src/.vuepress/components/DeprecatedBadge.vue b/src/.vuepress/components/DeprecatedBadge.vue new file mode 100644 index 000000000..6cfa7e941 --- /dev/null +++ b/src/.vuepress/components/DeprecatedBadge.vue @@ -0,0 +1,22 @@ + + + + + diff --git a/src/.vuepress/components/Hello.vue b/src/.vuepress/components/Hello.vue new file mode 100644 index 000000000..2aff63f2d --- /dev/null +++ b/src/.vuepress/components/Hello.vue @@ -0,0 +1,11 @@ + + + diff --git a/src/.vuepress/components/Redirect.vue b/src/.vuepress/components/Redirect.vue new file mode 100644 index 000000000..ed45e912b --- /dev/null +++ b/src/.vuepress/components/Redirect.vue @@ -0,0 +1,17 @@ + + + diff --git a/src/.vuepress/components/RedirectToFirstChild.vue b/src/.vuepress/components/RedirectToFirstChild.vue new file mode 100644 index 000000000..79896e781 --- /dev/null +++ b/src/.vuepress/components/RedirectToFirstChild.vue @@ -0,0 +1,18 @@ + + + diff --git a/src/.vuepress/components/SDKIndex.vue b/src/.vuepress/components/SDKIndex.vue new file mode 100644 index 000000000..9c2b7933f --- /dev/null +++ b/src/.vuepress/components/SDKIndex.vue @@ -0,0 +1,88 @@ + + + + + diff --git a/src/.vuepress/components/SDKSelector.vue b/src/.vuepress/components/SDKSelector.vue new file mode 100644 index 000000000..4bd81d17c --- /dev/null +++ b/src/.vuepress/components/SDKSelector.vue @@ -0,0 +1,126 @@ + + + + + \ No newline at end of file diff --git a/src/.vuepress/components/SinceBadge.vue b/src/.vuepress/components/SinceBadge.vue new file mode 100644 index 000000000..64f12ccb5 --- /dev/null +++ b/src/.vuepress/components/SinceBadge.vue @@ -0,0 +1,22 @@ + + + + + diff --git a/src/.vuepress/config.js b/src/.vuepress/config.js new file mode 100644 index 000000000..6bb20406b --- /dev/null +++ b/src/.vuepress/config.js @@ -0,0 +1,335 @@ +const webpack = require('webpack'); + +const siteTitle = 'Kuzzle Docs'; +const siteDescription = 'Kuzzle Documentation'; + +module.exports = { + title: siteTitle, + description: siteDescription, + base: process.env.SITE_BASE || '/', + shouldPrefetch: () => false, + head: [ + [ + 'meta', + { 'http-equiv': 'Content-Type', content: 'text/html; charset=utf-8' } + ], + ['meta', { 'http-equiv': 'X-UA-Compatible', content: 'IE=edge,chrome=1' }], + [ + 'meta', + { + name: 'viewport', + content: 'width=device-width, initial-scale=1, maximum-scale=1' + } + ], + [ + 'meta', + { + name: 'google-site-verification', + content: 'luspUdq52gkUU0FFChQ2xmeXSs5HDafpARQ7fVXVBp4' + } + ], + + // -- Schema.org markup for Google+ + ['meta', { itemprop: 'name', content: siteTitle }], + ['meta', { itemprop: 'image', content: '/favicon/favicon-196x196.png' }], + + // -- Twitter Card data + ['meta', { name: 'twitter:card', value: 'summary' }], + ['meta', { name: 'twitter:site', content: '@kuzzleio' }], + ['meta', { name: 'twitter:title', content: siteTitle }], + ['meta', { name: 'twitter:creator', content: '@kuzzleio' }], + [ + 'meta', + { + name: 'twitter:image', + content: '/favicon-196x196.png' + } + ], + + // -- Open Graph data + ['meta', { property: 'og:title', content: siteTitle }], + ['meta', { property: 'og:type', content: 'article' }], + ['meta', { property: 'og:site_name', content: siteTitle }], + [ + 'meta', + { + property: 'og:image', + content: 'favicon/favicon-96x96.png' + } + ], + // The following two fields don't seem to be meaningful + // [ + // 'meta', + // { + // property: 'article:published_time', + // content: new Date().toISOString() // '{{dateToISO stats.ctime}}' + // } + // ], + // [ + // 'meta', + // { + // property: 'article:modified_time', + // content: '{{dateToISO stats.mtime}}' + // } + // ], + + // -- Favicons + [ + 'meta', + { + name: 'msapplication-TileImage', + content: '/favicon/mstile-144x144.png' + } + ], + [ + 'meta', + { + name: 'msapplication-square70x70logo', + content: '/favicon/mstile-70x70.png' + } + ], + [ + 'meta', + { + name: 'msapplication-square150x150logo', + content: '/favicon/mstile-150x150.png' + } + ], + [ + 'meta', + { + name: 'msapplication-square310x310logo', + content: '/favicon/mstile-310x310.png' + } + ], + [ + 'meta', + { + name: 'msapplication-square310x150logo', + content: '/favicon/mstile-310x150.png' + } + ], + [ + 'link', + { + rel: 'icon', + type: 'image/png', + href: '/favicon/favicon-196x196.png', + sizes: '196x196' + } + ], + [ + 'link', + { + rel: 'icon', + type: 'image/png', + href: '/favicon/favicon-96x96.png', + sizes: '96x96' + } + ], + [ + 'link', + { + rel: 'icon', + type: 'image/png', + href: '/favicon/favicon-32x32.png', + sizes: '32x32' + } + ], + [ + 'link', + { + rel: 'icon', + type: 'image/png', + href: '/favicon/favicon-16x16.png', + sizes: '16x16' + } + ], + [ + 'link', + { + rel: 'icon', + type: 'image/png', + href: '/favicon/favicon-128.png', + sizes: '128' + } + ], + [ + 'link', + { + rel: 'apple-touch-icon-precomposed', + href: '/favicon/apple-touch-icon-57x57.png', + sizes: '57x57' + } + ], + [ + 'link', + { + rel: 'apple-touch-icon-precomposed', + href: '/favicon/apple-touch-icon-114x114.png', + sizes: '114x114' + } + ], + [ + 'link', + { + rel: 'apple-touch-icon-precomposed', + href: '/favicon/apple-touch-icon-114x114.png', + sizes: '114x114' + } + ], + [ + 'link', + { + rel: 'apple-touch-icon-precomposed', + href: '/favicon/apple-touch-icon-72x72.png', + sizes: '72x72' + } + ], + [ + 'link', + { + rel: 'apple-touch-icon-precomposed', + href: '/favicon/apple-touch-icon-144x144.png', + sizes: '144x144' + } + ], + [ + 'link', + { + rel: 'apple-touch-icon-precomposed', + href: '/favicon/apple-touch-icon-60x60.png', + sizes: '60x60' + } + ], + [ + 'link', + { + rel: 'apple-touch-icon-precomposed', + href: '/favicon/apple-touch-icon-120x120.png', + sizes: '120x120' + } + ], + [ + 'link', + { + rel: 'apple-touch-icon-precomposed', + href: '/favicon/apple-touch-icon-76x76.png', + sizes: '76x76' + } + ], + [ + 'link', + { + rel: 'apple-touch-icon-precomposed', + href: '/favicon/apple-touch-icon-152x152.png', + sizes: '152x152' + } + ] + ], + markdown: { + anchor: { + permalink: true, + permalinkBefore: false, + permalinkSymbol: '' + }, + extendMarkdown: md => { + md.use(require('./markdown/relative-snippet')); + md.use(require('./markdown/copy-paste-snippet-btn')); + } + }, + configureWebpack: { + plugins: [ + new webpack.DefinePlugin({ + GA_ID: + JSON.stringify(process.env.GA_ID) || JSON.stringify('UA-67035328-7'), + 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV), + 'process.env.RESET_APP_DATA_TIMER': JSON.stringify( + process.env.RESET_APP_DATA_TIMER + ), + ALGOLIA_APP_ID: + JSON.stringify(process.env.ALGOLIA_APP_ID) || + JSON.stringify('4RFBRWISJR'), + ALGOLIA_SEARCH_KEY: + JSON.stringify(process.env.ALGOLIA_SEARCH_KEY) || + JSON.stringify('34968884815f91ed23d6fd7058bc561a'), + ALGOLIA_INDEX: + JSON.stringify(process.env.ALGOLIA_INDEX) || + JSON.stringify('kuzzle-documentation'), + REPO_SLUG: + JSON.stringify(process.env.TRAVIS_REPO_SLUG) || + JSON.stringify('kuzzleio/documentation') + }) + ] + }, + plugins: [ + require('./meta-tags-plugin/index.js'), + process.env.ALGOLIA_WRITE_KEY + ? [ + require('./index-to-algolia/index.js'), + { + algoliaAppId: process.env.ALGOLIA_APP_ID || '4RFBRWISJR', + algoliaWriteKey: process.env.ALGOLIA_WRITE_KEY, + algoliaIndex: process.env.ALGOLIA_INDEX || 'kuzzle-documentation' + } + ] + : {}, + [ + require('vuepress-validate-frontmatter'), + // require('./validate-frontmatter/index'), + { + dumpToFile: true, + abortBuild: true, + postProcessErrors: require('./validate-frontmatter/append-fixes'), + specs: { + type: { + type: String, + allowedValues: ['root', 'branch', 'page'], + required: true + }, + order: { + type: Number + }, + title: { + type: String, + required: true + }, + description: { + type: String + }, + nosidebar: { + type: Boolean + }, + code: { + type: Boolean, + required: true + } + } + } + ], + [ + 'container', + { + type: 'info', + before: '
', + after: '
' + } + ], + [ + 'container', + { + type: 'success', + before: '
', + after: '
' + } + ], + [ + 'container', + { + type: 'warning', + before: '
', + after: '
' + } + ] + ] +}; diff --git a/src/.vuepress/enhanceApp.js b/src/.vuepress/enhanceApp.js new file mode 100644 index 000000000..5b2004531 --- /dev/null +++ b/src/.vuepress/enhanceApp.js @@ -0,0 +1,40 @@ +export default ({ + Vue, // the version of Vue being used in the VuePress app + options, // the options for the root Vue instance + router, // the router instance for the app + siteData // site metadata +}) => { + if (typeof window !== 'undefined') { + (function(i, s, o, g, r, a, m) { + i['GoogleAnalyticsObject'] = r; + i[r] = + i[r] || + function() { + (i[r].q = i[r].q || []).push(arguments); + }; + i[r].l = 1 * new Date(); + a = s.createElement(o); + m = s.getElementsByTagName(o)[0]; + a.async = 1; + a.src = g; + m.parentNode.insertBefore(a, m); + })( + window, + document, + 'script', + 'https://www.google-analytics.com/analytics.js', + 'ga' + ); + + ga('create', GA_ID, 'auto'); + ga('set', 'anonymizeIp', true); + ga('send', 'pageview'); + + router.afterEach(function(to) { + ga('set', 'page', to.fullPath); + ga('send', 'pageview'); + }); + + Vue.prototype.$ga = ga; + } +}; diff --git a/src/.vuepress/index-to-algolia/index.js b/src/.vuepress/index-to-algolia/index.js new file mode 100644 index 000000000..1cc8839e5 --- /dev/null +++ b/src/.vuepress/index-to-algolia/index.js @@ -0,0 +1,109 @@ +const { readFileSync, writeFileSync } = require('fs'); +const { resolve } = require('path'); +const cheerio = require('cheerio'); +const algolia = require('algoliasearch'); +const { findRootNode, getParentNode } = require('./util.js'); +const records = []; + +module.exports = (options, ctx) => ({ + name: 'index-to-algolia', + + extendPageData($page) { + const { + _filePath, // file's absolute path + _computed, // access the client global computed mixins at build time, e.g _computed.$localePath. + _content, // file's raw content string + _strippedContent, // file's content string without frontmatter + key, // page's unique hash key + frontmatter, // page's frontmatter object + regularPath, // current page's default link (follow the file hierarchy) + path: pagePath // current page's real link (use regularPath when permalink does not exist) + } = $page; + + if (frontmatter.type !== 'page') { + return; + } + + const rootNode = findRootNode($page, ctx.pages); + const parentNode = getParentNode($page, ctx.pages); + records.push({ + objectID: key, + title: frontmatter.title, + description: frontmatter.description ? frontmatter.description : '', + path: pagePath, + tags: extractTags(pagePath), + root: rootNode ? rootNode.title : '', + parent: parentNode ? parentNode.title : '', + toc: _computed.$page.headers + }); + }, + + ready() {}, + + async generated(pagePaths) { + enrichRecordsWithContent(records, ctx.outDir, true); + pushRecords(records, { + appId: options.algoliaAppId, + writeKey: options.algoliaWriteKey, + index: options.algoliaIndex + }); + } +}); + +function enrichRecordsWithContent(records, outDir, write = false) { + records.forEach(record => { + const generatedFilePath = resolve( + outDir, + record.path.replace(/^\//, ''), // Strip first slash so that this path is not considered as absolute + 'index.html' + ); + const fileContent = readFileSync(generatedFilePath).toString(); + const $ = cheerio.load(fileContent, { + normalizeWhitespace: true + }); + const content = $('.md-content'); + + // remove useless content + $('h1, pre, .md-clipboard__message, .ContentFeedback', content).remove(); + + record.content = content.text(); + }); + + if (write) { + writeFileSync('./algolia-records.json', JSON.stringify(records, null, 4)); + } +} + +function pushRecords(records, algoliaOptions) { + if (!algoliaOptions.writeKey) { + throw new Error('Please provide a valid Algolia Write Key'); + } + + const client = algolia(algoliaOptions.appId, algoliaOptions.writeKey); + const index = client.initIndex(algoliaOptions.index); + + index.addObjects(records, (err, content) => { + if (err) { + return console.error(err); + } + console.log('Successfully added records to Algolia!'); + }); +} + +function extractTags(path) { + const start = 0, + end = 4; + + return path + .split('/') + .slice(start, end) + .map(tag => { + if (tag === 'sdk-reference') { + return 'sdk'; + } + if (/^[0-9]+$/.test(tag)) { + return `${tag}.x`; + } + return tag; + }); +} diff --git a/src/.vuepress/index-to-algolia/util.js b/src/.vuepress/index-to-algolia/util.js new file mode 100644 index 000000000..7065df41d --- /dev/null +++ b/src/.vuepress/index-to-algolia/util.js @@ -0,0 +1,39 @@ +const path = require('path'); +const { get, endsWith } = require('lodash'); + +function getNodeByPath(path, nodes) { + return nodes.find(p => p.path === path); +} + +function getPageDir(page) { + if (endsWith(page.path, '/')) { + return page.path; + } else { + return path.parse(page.path).dir; + } +} + +function getParentPath(node) { + return path.normalize(`${getPageDir(node)}../`); +} + +function getParentNode(node, nodes) { + return getNodeByPath(getParentPath(node), nodes); +} + +function findRootNode(node, nodes) { + if (node.frontmatter.type === 'root') { + return node; + } + const parent = getParentNode(node, nodes); + if (!parent) { + return node; + } + + return findRootNode(parent, nodes); +} + +module.exports = { + findRootNode, + getParentNode +}; diff --git a/src/.vuepress/markdown/copy-paste-snippet-btn.js b/src/.vuepress/markdown/copy-paste-snippet-btn.js new file mode 100644 index 000000000..cda00f181 --- /dev/null +++ b/src/.vuepress/markdown/copy-paste-snippet-btn.js @@ -0,0 +1,24 @@ +module.exports = md => { + const fence = md.renderer.rules.fence; + md.renderer.rules.fence = (...args) => { + const [tokens, idx] = args; + const rawCode = fence(...args); + const codeWithButton = rawCode.replace( + '', + `${renderButton(idx)}` + ); + return codeWithButton; + }; +}; + +function renderButton(index) { + return ` +
+
`; +} diff --git a/src/.vuepress/markdown/relative-snippet.js b/src/.vuepress/markdown/relative-snippet.js new file mode 100644 index 000000000..36c2d2fd3 --- /dev/null +++ b/src/.vuepress/markdown/relative-snippet.js @@ -0,0 +1,60 @@ +const { fs, path } = require('@vuepress/shared-utils'); +const SNIPPET_EXTRACT = /\/\* *snippet:start *\*\/\n?((.|\n)*?)\/\* *snippet:end *\*\//; + +module.exports = function snippet(md, options = {}) { + const root = options.root || process.cwd(); + function parser(state, startLine, endLine, silent) { + const CH = '<'.charCodeAt(0); + const pos = state.bMarks[startLine] + state.tShift[startLine]; + const max = state.eMarks[startLine]; + + // if it's indented more than 3 spaces, it should be a code block + if (state.sCount[startLine] - state.blkIndent >= 4) { + return false; + } + + for (let i = 0; i < 3; ++i) { + const ch = state.src.charCodeAt(pos + i); + if (ch !== CH || pos + i >= max) return false; + } + + if (silent) { + return true; + } + + const start = pos + 3; + const end = state.skipSpacesBack(max, pos); + const sourcePath = state.src.slice(start, end).trim(); + let rawPath = sourcePath; + if (/^@/.exec(sourcePath)) { + rawPath = sourcePath.replace(/^@/, root); + } + if (/^\./.exec(sourcePath)) { + rawPath = sourcePath.replace( + /^\./, + path.dirname(path.normalize(`${root}/src/${state.env.relativePath}`)) + ); + } + const filename = rawPath.split(/[{:\s]/).shift(); + let content = fs.existsSync(filename) + ? fs.readFileSync(filename).toString() + : 'Not found: ' + filename; + const match = SNIPPET_EXTRACT.exec(content); + if (match) { + content = match[1]; + } + const meta = rawPath.replace(filename, ''); + + state.line = startLine + 1; + + const token = state.push('fence', 'code', 0); + token.info = filename.split('.').pop() + meta; + token.content = content; + token.markup = '```'; + token.map = [startLine, startLine + 1]; + + return true; + } + + md.block.ruler.at('snippet', parser); +}; diff --git a/src/.vuepress/meta-tags-plugin/index.js b/src/.vuepress/meta-tags-plugin/index.js new file mode 100644 index 000000000..f4901fdb9 --- /dev/null +++ b/src/.vuepress/meta-tags-plugin/index.js @@ -0,0 +1,6 @@ +const path = require('path'); + +module.exports = { + name: 'meta-tags', + clientRootMixin: path.resolve(__dirname, 'mixin.js') +}; diff --git a/src/.vuepress/meta-tags-plugin/mixin.js b/src/.vuepress/meta-tags-plugin/mixin.js new file mode 100644 index 000000000..46766642a --- /dev/null +++ b/src/.vuepress/meta-tags-plugin/mixin.js @@ -0,0 +1,10 @@ +export default { + mounted() { + const head = document.head; + const tag = document.createElement('meta'); + tag.setAttribute('property', 'article:tag'); + tag.setAttribute('content', this.$page.title); + head.appendChild(tag); + // TODO add article:section tag + } +}; diff --git a/src/assets/images/gifs/demo_aws_console.gif b/src/.vuepress/public/demo_aws_console.gif similarity index 100% rename from src/assets/images/gifs/demo_aws_console.gif rename to src/.vuepress/public/demo_aws_console.gif diff --git a/src/assets/images/favicon/apple-touch-icon-114x114.png b/src/.vuepress/public/favicon/apple-touch-icon-114x114.png similarity index 100% rename from src/assets/images/favicon/apple-touch-icon-114x114.png rename to src/.vuepress/public/favicon/apple-touch-icon-114x114.png diff --git a/src/assets/images/favicon/apple-touch-icon-120x120.png b/src/.vuepress/public/favicon/apple-touch-icon-120x120.png similarity index 100% rename from src/assets/images/favicon/apple-touch-icon-120x120.png rename to src/.vuepress/public/favicon/apple-touch-icon-120x120.png diff --git a/src/assets/images/favicon/apple-touch-icon-144x144.png b/src/.vuepress/public/favicon/apple-touch-icon-144x144.png similarity index 100% rename from src/assets/images/favicon/apple-touch-icon-144x144.png rename to src/.vuepress/public/favicon/apple-touch-icon-144x144.png diff --git a/src/assets/images/favicon/apple-touch-icon-152x152.png b/src/.vuepress/public/favicon/apple-touch-icon-152x152.png similarity index 100% rename from src/assets/images/favicon/apple-touch-icon-152x152.png rename to src/.vuepress/public/favicon/apple-touch-icon-152x152.png diff --git a/src/assets/images/favicon/apple-touch-icon-57x57.png b/src/.vuepress/public/favicon/apple-touch-icon-57x57.png similarity index 100% rename from src/assets/images/favicon/apple-touch-icon-57x57.png rename to src/.vuepress/public/favicon/apple-touch-icon-57x57.png diff --git a/src/assets/images/favicon/apple-touch-icon-60x60.png b/src/.vuepress/public/favicon/apple-touch-icon-60x60.png similarity index 100% rename from src/assets/images/favicon/apple-touch-icon-60x60.png rename to src/.vuepress/public/favicon/apple-touch-icon-60x60.png diff --git a/src/assets/images/favicon/apple-touch-icon-72x72.png b/src/.vuepress/public/favicon/apple-touch-icon-72x72.png similarity index 100% rename from src/assets/images/favicon/apple-touch-icon-72x72.png rename to src/.vuepress/public/favicon/apple-touch-icon-72x72.png diff --git a/src/assets/images/favicon/apple-touch-icon-76x76.png b/src/.vuepress/public/favicon/apple-touch-icon-76x76.png similarity index 100% rename from src/assets/images/favicon/apple-touch-icon-76x76.png rename to src/.vuepress/public/favicon/apple-touch-icon-76x76.png diff --git a/src/assets/images/favicon/favicon-128.png b/src/.vuepress/public/favicon/favicon-128.png similarity index 100% rename from src/assets/images/favicon/favicon-128.png rename to src/.vuepress/public/favicon/favicon-128.png diff --git a/src/assets/images/favicon/favicon-16x16.png b/src/.vuepress/public/favicon/favicon-16x16.png similarity index 100% rename from src/assets/images/favicon/favicon-16x16.png rename to src/.vuepress/public/favicon/favicon-16x16.png diff --git a/src/assets/images/favicon/favicon-196x196.png b/src/.vuepress/public/favicon/favicon-196x196.png similarity index 100% rename from src/assets/images/favicon/favicon-196x196.png rename to src/.vuepress/public/favicon/favicon-196x196.png diff --git a/src/assets/images/favicon/favicon-32x32.png b/src/.vuepress/public/favicon/favicon-32x32.png similarity index 100% rename from src/assets/images/favicon/favicon-32x32.png rename to src/.vuepress/public/favicon/favicon-32x32.png diff --git a/src/assets/images/favicon/favicon-96x96.png b/src/.vuepress/public/favicon/favicon-96x96.png similarity index 100% rename from src/assets/images/favicon/favicon-96x96.png rename to src/.vuepress/public/favicon/favicon-96x96.png diff --git a/src/assets/images/favicon/favicon.ico b/src/.vuepress/public/favicon/favicon.ico similarity index 100% rename from src/assets/images/favicon/favicon.ico rename to src/.vuepress/public/favicon/favicon.ico diff --git a/src/assets/images/favicon/mstile-144x144.png b/src/.vuepress/public/favicon/mstile-144x144.png similarity index 100% rename from src/assets/images/favicon/mstile-144x144.png rename to src/.vuepress/public/favicon/mstile-144x144.png diff --git a/src/assets/images/favicon/mstile-150x150.png b/src/.vuepress/public/favicon/mstile-150x150.png similarity index 100% rename from src/assets/images/favicon/mstile-150x150.png rename to src/.vuepress/public/favicon/mstile-150x150.png diff --git a/src/assets/images/favicon/mstile-310x150.png b/src/.vuepress/public/favicon/mstile-310x150.png similarity index 100% rename from src/assets/images/favicon/mstile-310x150.png rename to src/.vuepress/public/favicon/mstile-310x150.png diff --git a/src/assets/images/favicon/mstile-310x310.png b/src/.vuepress/public/favicon/mstile-310x310.png similarity index 100% rename from src/assets/images/favicon/mstile-310x310.png rename to src/.vuepress/public/favicon/mstile-310x310.png diff --git a/src/assets/images/favicon/mstile-70x70.png b/src/.vuepress/public/favicon/mstile-70x70.png similarity index 100% rename from src/assets/images/favicon/mstile-70x70.png rename to src/.vuepress/public/favicon/mstile-70x70.png diff --git a/src/assets/images/icons.svg b/src/.vuepress/public/icons.svg similarity index 100% rename from src/assets/images/icons.svg rename to src/.vuepress/public/icons.svg diff --git a/src/assets/images/logo-57x57.png b/src/.vuepress/public/logo-57x57.png similarity index 100% rename from src/assets/images/logo-57x57.png rename to src/.vuepress/public/logo-57x57.png diff --git a/src/assets/images/logo-min.png b/src/.vuepress/public/logo-min.png similarity index 100% rename from src/assets/images/logo-min.png rename to src/.vuepress/public/logo-min.png diff --git a/src/assets/images/logos/android.png b/src/.vuepress/public/logos/android.png similarity index 100% rename from src/assets/images/logos/android.png rename to src/.vuepress/public/logos/android.png diff --git a/src/assets/images/logos/android.svg b/src/.vuepress/public/logos/android.svg similarity index 100% rename from src/assets/images/logos/android.svg rename to src/.vuepress/public/logos/android.svg diff --git a/src/.vuepress/public/logos/cluster.svg b/src/.vuepress/public/logos/cluster.svg new file mode 100644 index 000000000..81b787bd7 --- /dev/null +++ b/src/.vuepress/public/logos/cluster.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/.vuepress/public/logos/computed.svg b/src/.vuepress/public/logos/computed.svg new file mode 100644 index 000000000..3c1ffadc6 --- /dev/null +++ b/src/.vuepress/public/logos/computed.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/images/logos/cpp.png b/src/.vuepress/public/logos/cpp.png similarity index 100% rename from src/assets/images/logos/cpp.png rename to src/.vuepress/public/logos/cpp.png diff --git a/src/assets/images/logos/cpp.svg b/src/.vuepress/public/logos/cpp.svg similarity index 100% rename from src/assets/images/logos/cpp.svg rename to src/.vuepress/public/logos/cpp.svg diff --git a/src/assets/images/logos/csharp.png b/src/.vuepress/public/logos/csharp.png similarity index 100% rename from src/assets/images/logos/csharp.png rename to src/.vuepress/public/logos/csharp.png diff --git a/src/assets/images/logos/csharp.svg b/src/.vuepress/public/logos/csharp.svg similarity index 100% rename from src/assets/images/logos/csharp.svg rename to src/.vuepress/public/logos/csharp.svg diff --git a/src/assets/images/logos/dart.svg b/src/.vuepress/public/logos/dart.svg similarity index 100% rename from src/assets/images/logos/dart.svg rename to src/.vuepress/public/logos/dart.svg diff --git a/src/.vuepress/public/logos/extend-sdk/index.md b/src/.vuepress/public/logos/extend-sdk/index.md new file mode 100644 index 000000000..f56c4991f --- /dev/null +++ b/src/.vuepress/public/logos/extend-sdk/index.md @@ -0,0 +1,100 @@ +--- +title: Extend the SDK +description: Extend the SDK +order: 410 +--- + +# Extend the SDK with a custom SDK controller + + + +It is possible to extend the SDK's API by adding new controllers. + +These controllers correspond to [custom controllers created in a plugin](/core/1/plugins/guides/controllers). Thus, it is possible to use the actions of a core plugin in the SDK in the same way as the other actions of the Kuzzle API. + +## Define a custom SDK controller + +A custom SDK controller is a class inheriting from the [BaseController](/sdk/js/6/core-classes/base-controller) class and defining methods matching Kuzzle API actions. + +This base class is exposed alongside the other classes of the SDK module. + +After defining your new controller based on `BaseController`, you can add it to the SDK with the [Kuzzle.useController](/sdk/js/6/core-classes/kuzzle/use-controller) method. + +## Constructor + +The constructor of a custom SDK controller will be called by passing the SDK instance to it. It must call the parent constructor with this instance of the SDK and its name as defined in the API. + +For instance, if there is a plugin named `nyc-open-data-plugin`, extending Kuzzle's API with the following controller: + +```js +this.controllers = { + taxi: { + startDuty: request => this.startDuty(request) + } +} +``` + +Then the constructor of the custom SDK controller must specify its name as follows (see [how to query a custom API route](/core/1/plugins/guides/controllers/#querying-plugins-controllers) documentation): + +```js +const { BaseController } = require('kuzzle-sdk'); + +class TaxiController extends BaseController { + constructor (kuzzle) { + super(kuzzle, 'nyc-open-data-plugin/taxi'); + } +} +``` + +The controller name will then be injected into the requests sent with the [BaseController.query](/sdk/js/6/core-classes/base-controller/query) method. + +## Define custom SDK controller actions + +Each action of your custom SDK controller is a method of the class. + +These methods have to use the [BaseController.query](/sdk/js/6/core-classes/base-controller/query) method to invoke an API action. + +Extending the previous example, we now have: + +```js +const { BaseController } = require('kuzzle-sdk'); + +class TaxiController extends BaseController { + constructor (kuzzle) { + super(kuzzle, 'nyc-open-data-plugin/taxi'); + } + + startDuty (driver) { + const apiRequest = { + action: 'startDuty', + body: { + driver + } + }; + + return this.query(apiRequest) + .then(response => response.result); + } +} +``` + +## Add a custom SDK controller to the SDK + +Once you have defined your custom SDK controller, you can add it to the SDK with the [Kuzzle.useController](/sdk/js/6/core-classes/kuzzle/use-controller) method. + + +You can then use the actions of your plugins in the same way as the rest of the Kuzzle API by taking advantage of authentication, offline mode management, etc. + +```js +const + TaxiController = require('./taxiController'), + { Kuzzle, WebSocket } = require('kuzzle-sdk'); + +const kuzzle = new Kuzzle(new WebSocket('localhost')); + +kuzzle.useController(TaxiController, 'taxi'); + +await kuzzle.connect(); + +await kuzzle.taxi.startDuty('lia meh ry'); +``` diff --git a/src/assets/images/logos/go.png b/src/.vuepress/public/logos/go.png similarity index 100% rename from src/assets/images/logos/go.png rename to src/.vuepress/public/logos/go.png diff --git a/src/assets/images/logos/go.svg b/src/.vuepress/public/logos/go.svg similarity index 100% rename from src/assets/images/logos/go.svg rename to src/.vuepress/public/logos/go.svg diff --git a/src/assets/images/logos/java.png b/src/.vuepress/public/logos/java.png similarity index 100% rename from src/assets/images/logos/java.png rename to src/.vuepress/public/logos/java.png diff --git a/src/assets/images/logos/java.svg b/src/.vuepress/public/logos/java.svg similarity index 100% rename from src/assets/images/logos/java.svg rename to src/.vuepress/public/logos/java.svg diff --git a/src/assets/images/logos/javascript.png b/src/.vuepress/public/logos/javascript.png similarity index 100% rename from src/assets/images/logos/javascript.png rename to src/.vuepress/public/logos/javascript.png diff --git a/src/assets/images/logos/javascript.svg b/src/.vuepress/public/logos/javascript.svg similarity index 100% rename from src/assets/images/logos/javascript.svg rename to src/.vuepress/public/logos/javascript.svg diff --git a/src/assets/images/logos/js.png b/src/.vuepress/public/logos/js.png similarity index 100% rename from src/assets/images/logos/js.png rename to src/.vuepress/public/logos/js.png diff --git a/src/assets/images/logos/js.svg b/src/.vuepress/public/logos/js.svg similarity index 100% rename from src/assets/images/logos/js.svg rename to src/.vuepress/public/logos/js.svg diff --git a/src/.vuepress/public/logos/logger.svg b/src/.vuepress/public/logos/logger.svg new file mode 100644 index 000000000..79fb726b7 --- /dev/null +++ b/src/.vuepress/public/logos/logger.svg @@ -0,0 +1,7 @@ + + + + + Svg Vector Icons : http://www.onlinewebfonts.com/icon + + \ No newline at end of file diff --git a/src/assets/images/logos/lua.png b/src/.vuepress/public/logos/lua.png similarity index 100% rename from src/assets/images/logos/lua.png rename to src/.vuepress/public/logos/lua.png diff --git a/src/assets/images/logos/lua.svg b/src/.vuepress/public/logos/lua.svg similarity index 100% rename from src/assets/images/logos/lua.svg rename to src/.vuepress/public/logos/lua.svg diff --git a/src/.vuepress/public/logos/passport.svg b/src/.vuepress/public/logos/passport.svg new file mode 100644 index 000000000..1bad6f83c --- /dev/null +++ b/src/.vuepress/public/logos/passport.svg @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/images/logos/php.png b/src/.vuepress/public/logos/php.png similarity index 100% rename from src/assets/images/logos/php.png rename to src/.vuepress/public/logos/php.png diff --git a/src/assets/images/logos/php.svg b/src/.vuepress/public/logos/php.svg similarity index 100% rename from src/assets/images/logos/php.svg rename to src/.vuepress/public/logos/php.svg diff --git a/src/.vuepress/public/logos/plugin-s3.svg b/src/.vuepress/public/logos/plugin-s3.svg new file mode 100644 index 000000000..74e37cdb3 --- /dev/null +++ b/src/.vuepress/public/logos/plugin-s3.svg @@ -0,0 +1,24 @@ + + + + + + + diff --git a/src/.vuepress/public/logos/probe.svg b/src/.vuepress/public/logos/probe.svg new file mode 100644 index 000000000..6828ae4b0 --- /dev/null +++ b/src/.vuepress/public/logos/probe.svg @@ -0,0 +1,7 @@ + + + + + Svg Vector Icons : http://www.onlinewebfonts.com/icon + + \ No newline at end of file diff --git a/src/assets/images/logos/python.png b/src/.vuepress/public/logos/python.png similarity index 100% rename from src/assets/images/logos/python.png rename to src/.vuepress/public/logos/python.png diff --git a/src/assets/images/logos/python.svg b/src/.vuepress/public/logos/python.svg similarity index 100% rename from src/assets/images/logos/python.svg rename to src/.vuepress/public/logos/python.svg diff --git a/src/assets/images/logos/ruby.png b/src/.vuepress/public/logos/ruby.png similarity index 100% rename from src/assets/images/logos/ruby.png rename to src/.vuepress/public/logos/ruby.png diff --git a/src/assets/images/logos/ruby.svg b/src/.vuepress/public/logos/ruby.svg similarity index 100% rename from src/assets/images/logos/ruby.svg rename to src/.vuepress/public/logos/ruby.svg diff --git a/src/assets/images/logos/rust.svg b/src/.vuepress/public/logos/rust.svg similarity index 100% rename from src/assets/images/logos/rust.svg rename to src/.vuepress/public/logos/rust.svg diff --git a/src/.vuepress/sdk.json b/src/.vuepress/sdk.json new file mode 100644 index 000000000..2c6424090 --- /dev/null +++ b/src/.vuepress/sdk.json @@ -0,0 +1,44 @@ +[ + { + "language": "js", + "name": "Javascript 6.x", + "version": "6", + "icon": "/logos/js.svg" + }, + { + "language": "js", + "name": "Javascript 5.x", + "version": "5", + "icon": "/logos/js.svg" + }, + { + "language": "cpp", + "name": "C++ 1.x", + "version": "1", + "icon": "/logos/cpp.svg" + }, + { + "language": "go", + "name": "Golang 1.x", + "version": "1", + "icon": "/logos/go.svg" + }, + { + "language": "java", + "name": "Java 1.x", + "version": "1", + "icon": "/logos/java.svg" + }, + { + "language": "android", + "name": "Android 3.x", + "version": "3", + "icon": "/logos/android.svg" + }, + { + "language": "php", + "name": "PHP 3.x", + "version": "3", + "icon": "/logos/php.svg" + } +] diff --git a/src/.vuepress/theme/ContentFeedback.vue b/src/.vuepress/theme/ContentFeedback.vue new file mode 100644 index 000000000..b5675332b --- /dev/null +++ b/src/.vuepress/theme/ContentFeedback.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/.vuepress/theme/Footer.vue b/src/.vuepress/theme/Footer.vue new file mode 100644 index 000000000..b493c0535 --- /dev/null +++ b/src/.vuepress/theme/Footer.vue @@ -0,0 +1,51 @@ + + + + + diff --git a/src/.vuepress/theme/Header.vue b/src/.vuepress/theme/Header.vue new file mode 100644 index 000000000..671268006 --- /dev/null +++ b/src/.vuepress/theme/Header.vue @@ -0,0 +1,94 @@ + + + + + diff --git a/src/.vuepress/theme/Layout.vue b/src/.vuepress/theme/Layout.vue new file mode 100644 index 000000000..70b9a3e23 --- /dev/null +++ b/src/.vuepress/theme/Layout.vue @@ -0,0 +1,167 @@ + + + + + + + + diff --git a/src/.vuepress/theme/NotFound.vue b/src/.vuepress/theme/NotFound.vue new file mode 100644 index 000000000..ef10c9438 --- /dev/null +++ b/src/.vuepress/theme/NotFound.vue @@ -0,0 +1,72 @@ + + + + + \ No newline at end of file diff --git a/src/.vuepress/theme/Search.vue b/src/.vuepress/theme/Search.vue new file mode 100644 index 000000000..62b94f076 --- /dev/null +++ b/src/.vuepress/theme/Search.vue @@ -0,0 +1,203 @@ + + + + + diff --git a/src/.vuepress/theme/Sidebar.vue b/src/.vuepress/theme/Sidebar.vue new file mode 100644 index 000000000..47f2f44d5 --- /dev/null +++ b/src/.vuepress/theme/Sidebar.vue @@ -0,0 +1,138 @@ + + + + + diff --git a/src/.vuepress/theme/TOC.vue b/src/.vuepress/theme/TOC.vue new file mode 100644 index 000000000..eae91c4ee --- /dev/null +++ b/src/.vuepress/theme/TOC.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/src/.vuepress/theme/Tabs.vue b/src/.vuepress/theme/Tabs.vue new file mode 100644 index 000000000..481521ff7 --- /dev/null +++ b/src/.vuepress/theme/Tabs.vue @@ -0,0 +1,72 @@ + + + + + diff --git a/src/.vuepress/theme/TabsMobile.vue b/src/.vuepress/theme/TabsMobile.vue new file mode 100644 index 000000000..4113a85c6 --- /dev/null +++ b/src/.vuepress/theme/TabsMobile.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/src/.vuepress/theme/search.svg b/src/.vuepress/theme/search.svg new file mode 100644 index 000000000..03d83913e --- /dev/null +++ b/src/.vuepress/theme/search.svg @@ -0,0 +1 @@ + diff --git a/src/assets/stylesheets/_config.scss b/src/.vuepress/theme/styles/_config.scss similarity index 96% rename from src/assets/stylesheets/_config.scss rename to src/.vuepress/theme/styles/_config.scss index 203cad933..80542cddb 100644 --- a/src/assets/stylesheets/_config.scss +++ b/src/.vuepress/theme/styles/_config.scss @@ -67,10 +67,10 @@ $md-icon-margin: $ms-base * 0.25; // Code blocks $md-code-background: #002835; -$md-code-color: #282c34; +$md-code-color: #c2c6cf; // Keystrokes $md-keyboard-background: #fcfcfc; $md-keyboard-color: #555555; -$md-code-background-inline: rgba(27,31,35,0.1); +$md-code-background-inline: rgba(27, 31, 35, 0.1); diff --git a/src/assets/stylesheets/base/_icons.scss b/src/.vuepress/theme/styles/base/_icons.scss similarity index 100% rename from src/assets/stylesheets/base/_icons.scss rename to src/.vuepress/theme/styles/base/_icons.scss diff --git a/src/assets/stylesheets/base/_reset.scss b/src/.vuepress/theme/styles/base/_reset.scss similarity index 100% rename from src/assets/stylesheets/base/_reset.scss rename to src/.vuepress/theme/styles/base/_reset.scss diff --git a/src/assets/stylesheets/base/_typeset.scss b/src/.vuepress/theme/styles/base/_typeset.scss similarity index 100% rename from src/assets/stylesheets/base/_typeset.scss rename to src/.vuepress/theme/styles/base/_typeset.scss diff --git a/src/assets/stylesheets/extensions/_admonition.scss b/src/.vuepress/theme/styles/extensions/_admonition.scss similarity index 100% rename from src/assets/stylesheets/extensions/_admonition.scss rename to src/.vuepress/theme/styles/extensions/_admonition.scss diff --git a/src/assets/stylesheets/extensions/_alert.scss b/src/.vuepress/theme/styles/extensions/_alert.scss similarity index 92% rename from src/assets/stylesheets/extensions/_alert.scss rename to src/.vuepress/theme/styles/extensions/_alert.scss index a61b465ae..e85193318 100644 --- a/src/assets/stylesheets/extensions/_alert.scss +++ b/src/.vuepress/theme/styles/extensions/_alert.scss @@ -17,6 +17,11 @@ font-family: 'FontAwesome'; } + p { + margin-top: 0; + margin-bottom: 0; + } + &.alert-success { background-color: #bae8f5; diff --git a/src/assets/stylesheets/extensions/_codehilite.scss b/src/.vuepress/theme/styles/extensions/_codehilite.scss similarity index 100% rename from src/assets/stylesheets/extensions/_codehilite.scss rename to src/.vuepress/theme/styles/extensions/_codehilite.scss diff --git a/src/assets/stylesheets/extensions/_footnotes.scss b/src/.vuepress/theme/styles/extensions/_footnotes.scss similarity index 100% rename from src/assets/stylesheets/extensions/_footnotes.scss rename to src/.vuepress/theme/styles/extensions/_footnotes.scss diff --git a/src/assets/stylesheets/extensions/_material-color.scss b/src/.vuepress/theme/styles/extensions/_material-color.scss similarity index 100% rename from src/assets/stylesheets/extensions/_material-color.scss rename to src/.vuepress/theme/styles/extensions/_material-color.scss diff --git a/src/assets/stylesheets/extensions/_material-shadows.scss b/src/.vuepress/theme/styles/extensions/_material-shadows.scss similarity index 100% rename from src/assets/stylesheets/extensions/_material-shadows.scss rename to src/.vuepress/theme/styles/extensions/_material-shadows.scss diff --git a/src/assets/stylesheets/extensions/_permalinks.scss b/src/.vuepress/theme/styles/extensions/_permalinks.scss similarity index 100% rename from src/assets/stylesheets/extensions/_permalinks.scss rename to src/.vuepress/theme/styles/extensions/_permalinks.scss diff --git a/src/assets/stylesheets/extensions/_ribbon.scss b/src/.vuepress/theme/styles/extensions/_ribbon.scss similarity index 100% rename from src/assets/stylesheets/extensions/_ribbon.scss rename to src/.vuepress/theme/styles/extensions/_ribbon.scss diff --git a/src/assets/stylesheets/extensions/_select2.scss b/src/.vuepress/theme/styles/extensions/_select2.scss similarity index 100% rename from src/assets/stylesheets/extensions/_select2.scss rename to src/.vuepress/theme/styles/extensions/_select2.scss diff --git a/src/.vuepress/theme/styles/extensions/_tiles.scss b/src/.vuepress/theme/styles/extensions/_tiles.scss new file mode 100644 index 000000000..d50856ff0 --- /dev/null +++ b/src/.vuepress/theme/styles/extensions/_tiles.scss @@ -0,0 +1,61 @@ +.Tiles { + &-item { + width: 20%; + height: 20%; + display: inline-block; + margin: 0 3% 3% 0; + padding: 15px 5px 5px 5px; + border-radius: 0.2rem; + box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), + 0 3px 1px -2px rgba(0, 0, 0, 0.2); + background-image: linear-gradient(to top, #f5f5fa, #fff); + text-align: center; + position: relative; + + &.min { + width: 11%; + height: 11%; + } + } + + &-item:last-of-type { + margin-right: 0; + } + + &-item-logo { + width: 70%; + height: 70%; + position: relative; + margin: 0; + } + + &-item-name { + color: $md-color-blue; + } + + @include break-to-device(mobile) { + &-item { + width: 35%; + height: 35%; + margin: 0 16px 25px 0; + &.min { + width: 20%; + height: 20%; + } + } + } + + &-item:hover { + top: -2px; + left: -1px; + + &.min { + top: 0px; + left: 0px; + } + + .Languages-item-name { + color: $md-color-pink; + } + } +} diff --git a/src/assets/stylesheets/extensions/modularscale/_function.scss b/src/.vuepress/theme/styles/extensions/modularscale/_function.scss similarity index 100% rename from src/assets/stylesheets/extensions/modularscale/_function.scss rename to src/.vuepress/theme/styles/extensions/modularscale/_function.scss diff --git a/src/assets/stylesheets/extensions/modularscale/_pow.scss b/src/.vuepress/theme/styles/extensions/modularscale/_pow.scss similarity index 100% rename from src/assets/stylesheets/extensions/modularscale/_pow.scss rename to src/.vuepress/theme/styles/extensions/modularscale/_pow.scss diff --git a/src/assets/stylesheets/extensions/modularscale/_respond.scss b/src/.vuepress/theme/styles/extensions/modularscale/_respond.scss similarity index 100% rename from src/assets/stylesheets/extensions/modularscale/_respond.scss rename to src/.vuepress/theme/styles/extensions/modularscale/_respond.scss diff --git a/src/assets/stylesheets/extensions/modularscale/_round-px.scss b/src/.vuepress/theme/styles/extensions/modularscale/_round-px.scss similarity index 100% rename from src/assets/stylesheets/extensions/modularscale/_round-px.scss rename to src/.vuepress/theme/styles/extensions/modularscale/_round-px.scss diff --git a/src/assets/stylesheets/extensions/modularscale/_settings.scss b/src/.vuepress/theme/styles/extensions/modularscale/_settings.scss similarity index 100% rename from src/assets/stylesheets/extensions/modularscale/_settings.scss rename to src/.vuepress/theme/styles/extensions/modularscale/_settings.scss diff --git a/src/assets/stylesheets/extensions/modularscale/_sort.scss b/src/.vuepress/theme/styles/extensions/modularscale/_sort.scss similarity index 100% rename from src/assets/stylesheets/extensions/modularscale/_sort.scss rename to src/.vuepress/theme/styles/extensions/modularscale/_sort.scss diff --git a/src/assets/stylesheets/extensions/modularscale/_strip-units.scss b/src/.vuepress/theme/styles/extensions/modularscale/_strip-units.scss similarity index 100% rename from src/assets/stylesheets/extensions/modularscale/_strip-units.scss rename to src/.vuepress/theme/styles/extensions/modularscale/_strip-units.scss diff --git a/src/assets/stylesheets/extensions/modularscale/_sugar.scss b/src/.vuepress/theme/styles/extensions/modularscale/_sugar.scss similarity index 100% rename from src/assets/stylesheets/extensions/modularscale/_sugar.scss rename to src/.vuepress/theme/styles/extensions/modularscale/_sugar.scss diff --git a/src/assets/stylesheets/extensions/modularscale/_target.scss b/src/.vuepress/theme/styles/extensions/modularscale/_target.scss similarity index 100% rename from src/assets/stylesheets/extensions/modularscale/_target.scss rename to src/.vuepress/theme/styles/extensions/modularscale/_target.scss diff --git a/src/assets/stylesheets/extensions/modularscale/_vars.scss b/src/.vuepress/theme/styles/extensions/modularscale/_vars.scss similarity index 100% rename from src/assets/stylesheets/extensions/modularscale/_vars.scss rename to src/.vuepress/theme/styles/extensions/modularscale/_vars.scss diff --git a/src/assets/stylesheets/extensions/pymdown/_arithmatex.scss b/src/.vuepress/theme/styles/extensions/pymdown/_arithmatex.scss similarity index 100% rename from src/assets/stylesheets/extensions/pymdown/_arithmatex.scss rename to src/.vuepress/theme/styles/extensions/pymdown/_arithmatex.scss diff --git a/src/assets/stylesheets/extensions/pymdown/_critic.scss b/src/.vuepress/theme/styles/extensions/pymdown/_critic.scss similarity index 100% rename from src/assets/stylesheets/extensions/pymdown/_critic.scss rename to src/.vuepress/theme/styles/extensions/pymdown/_critic.scss diff --git a/src/assets/stylesheets/extensions/pymdown/_details.scss b/src/.vuepress/theme/styles/extensions/pymdown/_details.scss similarity index 100% rename from src/assets/stylesheets/extensions/pymdown/_details.scss rename to src/.vuepress/theme/styles/extensions/pymdown/_details.scss diff --git a/src/assets/stylesheets/extensions/pymdown/_emoji.scss b/src/.vuepress/theme/styles/extensions/pymdown/_emoji.scss similarity index 100% rename from src/assets/stylesheets/extensions/pymdown/_emoji.scss rename to src/.vuepress/theme/styles/extensions/pymdown/_emoji.scss diff --git a/src/assets/stylesheets/extensions/pymdown/_inlinehilite.scss b/src/.vuepress/theme/styles/extensions/pymdown/_inlinehilite.scss similarity index 100% rename from src/assets/stylesheets/extensions/pymdown/_inlinehilite.scss rename to src/.vuepress/theme/styles/extensions/pymdown/_inlinehilite.scss diff --git a/src/assets/stylesheets/extensions/pymdown/_tasklist.scss b/src/.vuepress/theme/styles/extensions/pymdown/_tasklist.scss similarity index 100% rename from src/assets/stylesheets/extensions/pymdown/_tasklist.scss rename to src/.vuepress/theme/styles/extensions/pymdown/_tasklist.scss diff --git a/src/assets/stylesheets/fonts/FontAwesome.otf b/src/.vuepress/theme/styles/fonts/FontAwesome.otf similarity index 100% rename from src/assets/stylesheets/fonts/FontAwesome.otf rename to src/.vuepress/theme/styles/fonts/FontAwesome.otf diff --git a/src/assets/stylesheets/fonts/fontawesome-webfont.eot b/src/.vuepress/theme/styles/fonts/fontawesome-webfont.eot similarity index 100% rename from src/assets/stylesheets/fonts/fontawesome-webfont.eot rename to src/.vuepress/theme/styles/fonts/fontawesome-webfont.eot diff --git a/src/assets/stylesheets/fonts/fontawesome-webfont.svg b/src/.vuepress/theme/styles/fonts/fontawesome-webfont.svg similarity index 100% rename from src/assets/stylesheets/fonts/fontawesome-webfont.svg rename to src/.vuepress/theme/styles/fonts/fontawesome-webfont.svg diff --git a/src/assets/stylesheets/fonts/fontawesome-webfont.ttf b/src/.vuepress/theme/styles/fonts/fontawesome-webfont.ttf similarity index 100% rename from src/assets/stylesheets/fonts/fontawesome-webfont.ttf rename to src/.vuepress/theme/styles/fonts/fontawesome-webfont.ttf diff --git a/src/assets/stylesheets/fonts/fontawesome-webfont.woff b/src/.vuepress/theme/styles/fonts/fontawesome-webfont.woff similarity index 100% rename from src/assets/stylesheets/fonts/fontawesome-webfont.woff rename to src/.vuepress/theme/styles/fonts/fontawesome-webfont.woff diff --git a/src/assets/stylesheets/fonts/fontawesome-webfont.woff2 b/src/.vuepress/theme/styles/fonts/fontawesome-webfont.woff2 similarity index 100% rename from src/assets/stylesheets/fonts/fontawesome-webfont.woff2 rename to src/.vuepress/theme/styles/fonts/fontawesome-webfont.woff2 diff --git a/src/assets/stylesheets/fonts/material-icons.woff2 b/src/.vuepress/theme/styles/fonts/material-icons.woff2 similarity index 100% rename from src/assets/stylesheets/fonts/material-icons.woff2 rename to src/.vuepress/theme/styles/fonts/material-icons.woff2 diff --git a/src/assets/stylesheets/helpers/_break.scss b/src/.vuepress/theme/styles/helpers/_break.scss similarity index 100% rename from src/assets/stylesheets/helpers/_break.scss rename to src/.vuepress/theme/styles/helpers/_break.scss diff --git a/src/assets/stylesheets/helpers/_px2em.scss b/src/.vuepress/theme/styles/helpers/_px2em.scss similarity index 100% rename from src/assets/stylesheets/helpers/_px2em.scss rename to src/.vuepress/theme/styles/helpers/_px2em.scss diff --git a/src/assets/stylesheets/layout/_base.scss b/src/.vuepress/theme/styles/layout/_base.scss similarity index 98% rename from src/assets/stylesheets/layout/_base.scss rename to src/.vuepress/theme/styles/layout/_base.scss index 1559d24ce..9922d5fe0 100644 --- a/src/assets/stylesheets/layout/_base.scss +++ b/src/.vuepress/theme/styles/layout/_base.scss @@ -50,6 +50,13 @@ body { } } +#app { + height: 100%; +} + +.md-layout { + height: 100%; +} // Horizontal separators hr { @@ -83,7 +90,6 @@ hr { display: table; width: 100%; height: 100%; - padding-top: 4.8rem; table-layout: fixed; } @@ -95,7 +101,6 @@ hr { // Increase top spacing of content area to give typography more room &__inner { height: 100%; - padding-top: 5rem; // Hack: induce margin-collapse, because otherwise the sidebar height is // not calculated correctly and the overflow property on this element must // be left in initial state for targetted link offsets to work properly @@ -213,7 +218,6 @@ hr { margin: 25mm; } - // ---------------------------------------------------------------------------- // Rules: show element only on mobile // ---------------------------------------------------------------------------- @@ -223,4 +227,4 @@ hr { @include break-to-device(tablet) { display: block !important; } -} \ No newline at end of file +} diff --git a/src/assets/stylesheets/layout/_clipboard.scss b/src/.vuepress/theme/styles/layout/_clipboard.scss similarity index 94% rename from src/assets/stylesheets/layout/_clipboard.scss rename to src/.vuepress/theme/styles/layout/_clipboard.scss index c8050907d..546f7d16a 100644 --- a/src/assets/stylesheets/layout/_clipboard.scss +++ b/src/.vuepress/theme/styles/layout/_clipboard.scss @@ -26,20 +26,21 @@ @extend %md-icon; transition: color 0.25s, opacity 0.25s; - color: $md-color-black--lightest; + opacity: 0.75; + color: $md-code-color; content: '\E14D'; // content_copy // Show on container hover pre:hover &, .codehilite:hover & { - color: $md-color-black--light; + opacity: 1; } } // Focused or hovered icon &:focus::before, &:hover::before { - color: $md-color-accent; + opacity: 1; } // Message @@ -58,6 +59,7 @@ white-space: nowrap; opacity: 0; pointer-events: none; + z-index: 1; // Active message &--active { diff --git a/src/assets/stylesheets/layout/_content.scss b/src/.vuepress/theme/styles/layout/_content.scss similarity index 100% rename from src/assets/stylesheets/layout/_content.scss rename to src/.vuepress/theme/styles/layout/_content.scss diff --git a/src/assets/stylesheets/layout/_footer.scss b/src/.vuepress/theme/styles/layout/_footer.scss similarity index 100% rename from src/assets/stylesheets/layout/_footer.scss rename to src/.vuepress/theme/styles/layout/_footer.scss diff --git a/src/assets/stylesheets/layout/_header.scss b/src/.vuepress/theme/styles/layout/_header.scss similarity index 100% rename from src/assets/stylesheets/layout/_header.scss rename to src/.vuepress/theme/styles/layout/_header.scss diff --git a/src/assets/stylesheets/layout/_hero.scss b/src/.vuepress/theme/styles/layout/_hero.scss similarity index 100% rename from src/assets/stylesheets/layout/_hero.scss rename to src/.vuepress/theme/styles/layout/_hero.scss diff --git a/src/assets/stylesheets/layout/_nav.scss b/src/.vuepress/theme/styles/layout/_nav.scss similarity index 97% rename from src/assets/stylesheets/layout/_nav.scss rename to src/.vuepress/theme/styles/layout/_nav.scss index b7093c346..83c50a4c4 100644 --- a/src/assets/stylesheets/layout/_nav.scss +++ b/src/.vuepress/theme/styles/layout/_nav.scss @@ -6,7 +6,7 @@ .md-nav { font-size: 1.4rem; line-height: 1.3; - + &--primary { .md-nav__item { padding-left: 0; @@ -35,7 +35,7 @@ font-size: 13px; font-weight: 600; } - + a { font-size: 11px; font-weight: 400; @@ -50,7 +50,7 @@ text-overflow: ellipsis; overflow: hidden; width: 100%; - + // Icon, hidden by default &::before { @extend %md-icon, %md-icon__button; @@ -68,7 +68,6 @@ .md-nav__button { display: none; } - } // List of items @@ -81,24 +80,24 @@ padding-left: 16px; } } - + &__separator { margin-top: 22px; margin-bottom: 22px; padding-bottom: 4px; width: 90%; - border-bottom: 1px solid rgba(233,78,119,0.3); + border-bottom: 1px solid rgba(233, 78, 119, 0.3); text-transform: uppercase; - + &:first-child { margin-top: 8px; } - + @include break-to-device(tablet) { display: none; } } - + // List item &__item { padding: 5px 1.2rem; @@ -123,6 +122,9 @@ padding-bottom: 0; } } + &--code { + font-family: 'Roboto Mono', 'Courier New', monospace, sans-serif; + } } // Button with logo @@ -144,7 +146,7 @@ text-overflow: ellipsis; cursor: pointer; overflow: hidden; - + code { background-color: $md-code-background-inline; padding: 2px; @@ -264,9 +266,9 @@ .md-nav__item { border-top: 0; - .md-nav__link--active { - padding-left: 14px; - } + // .md-nav__link--active { + // padding-left: 14px; + // } } } } @@ -286,8 +288,8 @@ width: 6.4rem; height: 6.4rem; font-size: 4.8rem; - - @include break-to-device(tablet) { + + @include break-to-device(tablet) { width: 4rem; height: 4rem; top: -1.6rem; @@ -358,7 +360,7 @@ .md-nav__link { position: relative; margin-top: 0; - padding: 0.1rem 1.6rem; + // padding: 0.1rem 1.6rem; // Rotate icon &::after { @@ -499,7 +501,6 @@ padding-right: 1.6rem; padding-left: 4.8rem; } - } // [screen +]: Tree-like navigation diff --git a/src/assets/stylesheets/layout/_search.scss b/src/.vuepress/theme/styles/layout/_search.scss similarity index 98% rename from src/assets/stylesheets/layout/_search.scss rename to src/.vuepress/theme/styles/layout/_search.scss index b96ae39a0..052442c79 100644 --- a/src/assets/stylesheets/layout/_search.scss +++ b/src/.vuepress/theme/styles/layout/_search.scss @@ -13,7 +13,7 @@ $md-toggle__search--checked: '[data-md-toggle="search"]:checked ~ .md-header'; .md-search { position: relative; left: 1.4rem; - + // Hide search, if JavaScript is not available. .no-js & { display: none; @@ -310,7 +310,7 @@ $md-toggle__search--checked: '[data-md-toggle="search"]:checked ~ .md-header'; // Reset button &[type='reset'] { - top: 0; + top: 7px; right: 1rem; transform: scale(0.125); transition: transform 0.15s cubic-bezier(0.1, 0.7, 0.1, 1), opacity 0.15s; @@ -468,7 +468,8 @@ $md-toggle__search--checked: '[data-md-toggle="search"]:checked ~ .md-header'; // Active or hovered link &:focus, - &:hover { + &:hover, + &[data-rt='active'] { background-color: transparentize($md-color-accent, 0.9); // Slightly transparent icon @@ -541,15 +542,15 @@ $md-toggle__search--checked: '[data-md-toggle="search"]:checked ~ .md-header'; font-size: ms(-1); font-weight: 700; line-height: 1.4; - + .tag { padding: 3px; margin-left: 6px; border-radius: 0.2rem; - background-color: #EDEDED; + background-color: #ededed; color: black; font-weight: normal; - font-family: "Roboto Mono", "Courier New", Courier, monospace; + font-family: 'Roboto Mono', 'Courier New', Courier, monospace; } } diff --git a/src/assets/stylesheets/layout/_sidebar.scss b/src/.vuepress/theme/styles/layout/_sidebar.scss similarity index 87% rename from src/assets/stylesheets/layout/_sidebar.scss rename to src/.vuepress/theme/styles/layout/_sidebar.scss index dcfe674c1..49c2a6b22 100644 --- a/src/assets/stylesheets/layout/_sidebar.scss +++ b/src/.vuepress/theme/styles/layout/_sidebar.scss @@ -15,7 +15,6 @@ $md-toggle__drawer--checked: '[data-md-toggle="drawer"]:checked ~ .md-container' width: 23.2rem; padding: 2.4rem 0; overflow: hidden; - // Hide for print @media print { @@ -48,26 +47,24 @@ $md-toggle__drawer--checked: '[data-md-toggle="drawer"]:checked ~ .md-container' display: none; } - // Expanded drawer - #{$md-toggle__drawer--checked} & { - @include z-depth(8); - - transform: translateX($sidebar-width-tablet); + // Hide overflow for nested navigation + .md-sidebar__scrollwrap { + overflow: hidden; + } + } + &--open { + @include z-depth(8); - // Adjust for RTL languages - [dir='rtl'] & { - transform: translateX(-$sidebar-width-tablet); - } + transform: translateX($sidebar-width-tablet); - // Just show drawer, if browser doesn't support 3D transforms - .no-csstransforms3d & { - display: block; - } + // Adjust for RTL languages + [dir='rtl'] & { + transform: translateX(-$sidebar-width-tablet); } - // Hide overflow for nested navigation - .md-sidebar__scrollwrap { - overflow: hidden; + // Just show drawer, if browser doesn't support 3D transforms + .no-csstransforms3d & { + display: block; } } } @@ -75,6 +72,7 @@ $md-toggle__drawer--checked: '[data-md-toggle="drawer"]:checked ~ .md-container' // Secondary sidebar with table of contents &--secondary { display: none; + height: 100%; // [tablet landscape +]: Show table of contents next to body copy @include break-from-device(tablet landscape) { @@ -99,11 +97,11 @@ $md-toggle__drawer--checked: '[data-md-toggle="drawer"]:checked ~ .md-container' margin-left: initial; } } - + .md-sidebar__inner { overflow-x: hidden; } - + .md-nav__list li:not(:first-child) { margin-left: 10px; } @@ -153,36 +151,35 @@ $md-toggle__drawer--checked: '[data-md-toggle="drawer"]:checked ~ .md-container' @include break-from-device(screen) { .md-sidebar { display: none; - } + } } @include break-from-device(tablet) { .md-sidebar--secondary { display: none; - } + } } @include break-from-device(mobile) { .md-nav__list { display: none; } - } + } } - .overlay { width: 100%; height: 100%; position: fixed; - background-color: rgba(0,0,0,0.54); + background-color: rgba(0, 0, 0, 0.54); opacity: 1; z-index: 10; overflow: hidden; cursor: pointer; - - &.hidden{ + + &.hidden { display: none; } } -.noscroll{ +.noscroll { overflow: hidden; -} \ No newline at end of file +} diff --git a/src/assets/stylesheets/layout/_source.scss b/src/.vuepress/theme/styles/layout/_source.scss similarity index 98% rename from src/assets/stylesheets/layout/_source.scss rename to src/.vuepress/theme/styles/layout/_source.scss index 1078d4511..bced3511f 100644 --- a/src/assets/stylesheets/layout/_source.scss +++ b/src/.vuepress/theme/styles/layout/_source.scss @@ -37,7 +37,7 @@ // Source container .md-source { display: block; - padding-right: 1.2rem; + // padding-right: 1.2rem; transition: opacity 0.25s; font-size: 1.3rem; line-height: 1.2; @@ -104,7 +104,7 @@ &__repository { display: inline-block; max-width: 100%; - margin-left: 1.2rem; + margin-left: 1rem; font-weight: 700; text-overflow: ellipsis; overflow: hidden; diff --git a/src/assets/stylesheets/layout/_tabs.scss b/src/.vuepress/theme/styles/layout/_tabs.scss similarity index 100% rename from src/assets/stylesheets/layout/_tabs.scss rename to src/.vuepress/theme/styles/layout/_tabs.scss diff --git a/src/assets/stylesheets/layout/_versions.scss b/src/.vuepress/theme/styles/layout/_versions.scss similarity index 100% rename from src/assets/stylesheets/layout/_versions.scss rename to src/.vuepress/theme/styles/layout/_versions.scss diff --git a/src/assets/stylesheets/libs/_font-awesome.scss b/src/.vuepress/theme/styles/libs/_font-awesome.scss similarity index 100% rename from src/assets/stylesheets/libs/_font-awesome.scss rename to src/.vuepress/theme/styles/libs/_font-awesome.scss diff --git a/src/assets/stylesheets/libs/_googleFonts.scss b/src/.vuepress/theme/styles/libs/_googleFonts.scss similarity index 100% rename from src/assets/stylesheets/libs/_googleFonts.scss rename to src/.vuepress/theme/styles/libs/_googleFonts.scss diff --git a/src/assets/stylesheets/libs/_material-icons.scss b/src/.vuepress/theme/styles/libs/_material-icons.scss similarity index 100% rename from src/assets/stylesheets/libs/_material-icons.scss rename to src/.vuepress/theme/styles/libs/_material-icons.scss diff --git a/src/assets/stylesheets/libs/_monokai.scss b/src/.vuepress/theme/styles/libs/_monokai.scss similarity index 100% rename from src/assets/stylesheets/libs/_monokai.scss rename to src/.vuepress/theme/styles/libs/_monokai.scss diff --git a/src/assets/stylesheets/libs/_prism.scss b/src/.vuepress/theme/styles/libs/_prism.scss similarity index 100% rename from src/assets/stylesheets/libs/_prism.scss rename to src/.vuepress/theme/styles/libs/_prism.scss diff --git a/src/assets/stylesheets/libs/_select2.scss b/src/.vuepress/theme/styles/libs/_select2.scss similarity index 100% rename from src/assets/stylesheets/libs/_select2.scss rename to src/.vuepress/theme/styles/libs/_select2.scss diff --git a/src/assets/stylesheets/main.scss b/src/.vuepress/theme/styles/main.scss similarity index 89% rename from src/assets/stylesheets/main.scss rename to src/.vuepress/theme/styles/main.scss index 76cf86e80..901510ca0 100644 --- a/src/assets/stylesheets/main.scss +++ b/src/.vuepress/theme/styles/main.scss @@ -53,8 +53,8 @@ @import 'extensions/permalinks'; @import 'extensions/select2'; @import 'extensions/alert'; -@import "extensions/languages"; -@import "extensions/ribbon"; +@import 'extensions/tiles'; +@import 'extensions/ribbon'; @import 'extensions/pymdown/arithmatex'; @import 'extensions/pymdown/critic'; @@ -69,3 +69,14 @@ @import 'libs/monokai'; @import 'libs/prism'; @import 'libs/select2'; + +body, +input { + font-family: 'Roboto', 'Helvetica Neue', Helvetica, Arial, sans-serif; +} + +code, +kbd, +pre { + font-family: 'Roboto Mono', 'Courier New', Courier, monospace; +} diff --git a/src/.vuepress/util.js b/src/.vuepress/util.js new file mode 100644 index 000000000..2f3dfc62b --- /dev/null +++ b/src/.vuepress/util.js @@ -0,0 +1,301 @@ +const path = require('path'); +const { get, endsWith } = require('lodash'); + +const hashRE = /#.*$/; +const extRE = /\.(md|html)$/; +const endingSlashRE = /\/$/; +const outboundRE = /^(https?:|mailto:|tel:)/; + +function normalize(path) { + return decodeURI(path) + .replace(hashRE, '') + .replace(extRE, ''); +} + +function getHash(path) { + const match = path.match(hashRE); + if (match) { + return match[0]; + } +} + +function isExternal(path) { + return outboundRE.test(path); +} + +function isMailto(path) { + return /^mailto:/.test(path); +} + +function isTel(path) { + return /^tel:/.test(path); +} + +function ensureExt(path) { + if (isExternal(path)) { + return path; + } + const hashMatch = path.match(hashRE); + const hash = hashMatch ? hashMatch[0] : ''; + const normalized = normalize(path); + + if (endingSlashRE.test(normalized)) { + return path; + } + return normalized + '.html' + hash; +} + +function isActive(route, path) { + const routeHash = route.hash; + const linkHash = getHash(path); + if (linkHash && routeHash !== linkHash) { + return false; + } + const routePath = normalize(route.path); + const pagePath = normalize(path); + return routePath === pagePath; +} + +function resolvePage(pages, rawPath, base) { + if (base) { + rawPath = resolvePath(rawPath, base); + } + const path = normalize(rawPath); + for (let i = 0; i < pages.length; i++) { + if (normalize(pages[i].path) === path) { + return Object.assign({}, pages[i], { + type: 'page', + path: ensureExt(rawPath) + }); + } + } + console.error( + `[vuepress] No matching page found for sidebar item "${rawPath}"` + ); + return {}; +} + +function resolvePath(relative, base, append) { + const firstChar = relative.charAt(0); + if (firstChar === '/') { + return relative; + } + + if (firstChar === '?' || firstChar === '#') { + return base + relative; + } + + const stack = base.split('/'); + + // remove trailing segment if: + // - not appending + // - appending to trailing slash (last segment is empty) + if (!append || !stack[stack.length - 1]) { + stack.pop(); + } + + // resolve relative path + const segments = relative.replace(/^\//, '').split('/'); + for (let i = 0; i < segments.length; i++) { + const segment = segments[i]; + if (segment === '..') { + stack.pop(); + } else if (segment !== '.') { + stack.push(segment); + } + } + + // ensure leading slash + if (stack[0] !== '') { + stack.unshift(''); + } + + return stack.join('/'); +} + +function getPageDir(page) { + if (endsWith(page.path, '/')) { + return page.path; + } else { + return path.parse(page.path).dir; + } +} + +function getParentPath(node) { + return path.normalize(`${getPageDir(node)}../`); +} + +function groupPagesByPath(pages) { + const sections = []; + let currentSection = null; + let currentSectionRE = null; + pages.forEach(p => { + if (!currentSection || !p.path.match(currentSectionRE)) { + if (currentSection) { + currentSection.children.sort(sortPagesByOrderAndTitle); + } + currentSection = Object.assign({}, p, { children: [] }); + currentSectionRE = new RegExp(`^${currentSection.path}.+`); + sections.push(currentSection); + } else { + currentSection.children.push(p); + } + }); + return sections.sort(sortPagesByOrderAndTitle); +} + +function sortPagesByOrderAndTitle(p1, p2) { + const o1 = +get(p1, 'frontmatter.order', NaN); + const o2 = +get(p2, 'frontmatter.order', NaN); + + if (isNaN(o1) && !isNaN(o2)) { + return 1; + } + if (isNaN(o2) && !isNaN(o1)) { + return -1; + } + if (isNaN(o1) || o1 === o2) { + return p1.title < p2.title ? -1 : 1; + } + + return o1 < o2 ? -1 : 1; +} + +function groupHeaders(headers) { + // group h3s under h2 + headers = headers.map(h => Object.assign({}, h)); + let lastH2; + headers.forEach(h => { + if (h.level === 2) { + lastH2 = h; + } else if (lastH2) { + (lastH2.children || (lastH2.children = [])).push(h); + } + }); + return headers.filter(h => h.level === 2); +} + +function resolveNavLinkItem(linkItem) { + return Object.assign(linkItem, { + type: linkItem.items && linkItem.items.length ? 'links' : 'link' + }); +} + +function resolveMatchingConfig(route, config) { + if (Array.isArray(config)) { + return { + base: '/', + config: config + }; + } + for (const base in config) { + if (ensureEndingSlash(route.path).indexOf(base) === 0) { + return { + base, + config: config[base] + }; + } + } + return {}; +} + +function ensureEndingSlash(path) { + return /(\.html|\/)$/.test(path) ? path : path + '/'; +} + +function resolveItem(item, pages, base, isNested) { + if (typeof item === 'string') { + return resolvePage(pages, item, base); + } else if (Array.isArray(item)) { + return Object.assign(resolvePage(pages, item[0], base), { + title: item[1] + }); + } else { + if (isNested) { + console.error( + '[vuepress] Nested sidebar groups are not supported. ' + + 'Consider using navbar + categories instead.' + ); + } + const children = item.children || []; + return { + type: 'group', + title: item.title, + children: children.map(child => resolveItem(child, pages, base, true)), + collapsable: item.collapsable !== false + }; + } +} + +export const getPageChildren = (page, pages) => { + const pathRE = new RegExp(`^${getPageDir(page)}[a-zA-z_0-9\-]+/?$`); + + return pages + .filter(p => p.path.match(pathRE) && p.path !== page.path) + .sort(sortPagesByOrderAndTitle); +}; + +export const findRootNode = (node, nodes) => { + if (node.frontmatter.type === 'root') { + return node; + } + const parent = getParentNode(node, nodes); + if (!parent) { + return node; + } + + return findRootNode(parent, nodes); +}; + +export const getFirstValidChild = (node, nodes) => { + const children = getPageChildren(node, nodes); + + if (!children.length) { + return node; + } + + return getFirstValidChild(children[0], nodes); +}; + +export const getValidLinkByRootPath = (pagePath, pages) => { + const page = getNodeByPath(pagePath, pages); + + if (!page) { + console.warn(`Unable to find tree node for path ${pagePath}`); + return; + } + + const validPage = getFirstValidChild(page, pages); + + if (!validPage) { + return; + } + + return validPage.path; +}; + +export const getNodeByPath = (path, nodes) => { + return nodes.find(p => p.path === path); +}; + +export const getParentNode = (node, nodes) => { + return getNodeByPath(getParentPath(node), nodes); +}; + +export const resolveHeaders = page => { + const headers = groupHeaders(page.headers || []); + return [ + { + type: 'group', + collapsable: false, + title: page.title, + children: headers.map(h => ({ + type: 'auto', + title: h.title, + basePath: page.path, + path: page.path + '#' + h.slug, + children: h.children || [] + })) + } + ]; +}; diff --git a/src/.vuepress/validate-frontmatter/append-fixes.js b/src/.vuepress/validate-frontmatter/append-fixes.js new file mode 100644 index 000000000..ed574363b --- /dev/null +++ b/src/.vuepress/validate-frontmatter/append-fixes.js @@ -0,0 +1,70 @@ +const { mapValues, assign, endsWith } = require('lodash'); +const path = require('path'); + +const codeRE = /api-reference\/.+|protocols\/context\/|protocols\/entrypoint\/|protocols\/methods\/|plugins\/events\/.+|plugin-context|controllers\/.+|core-classes\/.+|virtual-classes\/.+|sdk\/.+\/protocols\/.+|core-structs\/.+|sdk\/.+\/classes\/.+/; + +module.exports = (errorsByPath, ctx) => { + return mapValues(errorsByPath, (errors, url) => { + return errors.map(e => { + if (e.error !== 'MISSING_KEY') { + return e; + } + const fix = computeFix(url, e, ctx.pages); + if (fix) { + return assign({ fix }, e); + } else { + return e; + } + }); + }); +}; + +function computeFix(url, error, nodes) { + const node = getNodeByPath(url, nodes); + if (!node) { + return; + } + if (error.key === 'code') { + if (codeRE.test(node.path)) { + return { + code: true + }; + } else { + return { + code: false + }; + } + } + if (error.key === 'type') { + const children = getChildren(node, nodes); + if (children.length) { + if ( + node.frontmatter.type !== 'branch' && + node.frontmatter.type !== 'root' + ) { + return { type: 'branch' }; + } + } else { + if (node.frontmatter.type !== 'page') { + return { type: 'page' }; + } + } + } +} + +function getChildren(node, nodes) { + const pathRE = new RegExp(`^${getNodeDirectory(node)}[a-zA-z_0-9\-]+/?$`); + return nodes.filter(p => p.path.match(pathRE) && p.path !== node.path); +} + +function getNodeDirectory(node) { + if (endsWith(node.path, '/')) { + return node.path; + } else { + return path.parse(node.path).dir; + } +} + +function getNodeByPath(path, nodes) { + return nodes.find(p => p.path === path); +} diff --git a/src/404.md b/src/404.md deleted file mode 100644 index b006c0793..000000000 --- a/src/404.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 404 -layout: full.html.hbs -nosidebar: true -noredirect: true ---- - -# 404 Page not found - -## Sorry, we can't find this page. diff --git a/src/api/1/controller-admin/dump/index.md b/src/api/1/controller-admin/dump/index.md deleted file mode 100644 index 807cd34bb..000000000 --- a/src/api/1/controller-admin/dump/index.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -layout: full.html.hbs -title: dump ---- - -# dump - -{{{since "1.4.0"}}} - -Asynchronously create a snapshot of Kuzzle's state. -Depending on the configuration of Kuzzle, it may include the following: - -* a coredump of Kuzzle -* the current Kuzzle configuration -* server logs -* Node.js binary & properties -* a list of OS properties -* plugins configuration -* usage statistics of the dumped instance - -(See [configuration]({{ site_base_path }}guide/1/essentials/configuration)) - -The generated directory can be used to feed a complete report to the support team. -This report is the same as the one generated during a crash. - -**Note:** in a Cluster environment, the dump action will be propagated across all nodes. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/admin/_dump -Method: POST -``` - -### Other protocols - -```json -{ - "controller": "admin", - "action": "dump" -} -``` - ---- - -## Response - -Return an acknowledgement. - -```javascript -{ - "requestId": "d16d5e8c-464a-4589-938f-fd84f46080b9", - "status": 200, - "error": null, - "controller": "admin", - "action": "dump", - "collection": null, - "index": null, - "volatile": null, - "result": { - "acknowledge": true - } -} -``` diff --git a/src/api/1/controller-admin/index.md b/src/api/1/controller-admin/index.md deleted file mode 100644 index 7ff4a0d05..000000000 --- a/src/api/1/controller-admin/index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: full.html.hbs -title: admin -separator: API reference ---- diff --git a/src/api/1/controller-admin/load-fixtures/index.md b/src/api/1/controller-admin/load-fixtures/index.md deleted file mode 100644 index 785aab1ae..000000000 --- a/src/api/1/controller-admin/load-fixtures/index.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -layout: full.html.hbs -title: loadFixtures ---- - -# loadFixtures - -{{{since "1.7.0"}}} - -Load fixtures into the storage layer. - -**Notes:** - -* The fixtures can contain any number of index and collection configurations. -* Each collection contains an array of data to load, just like the [bulk:import API]({{ site_base_path }}api/1/controller-bulk/import/). -* If an index or collection does not exist, the load will fail. -* Fixtures are loaded sequentially, one index/collection pair at a time. If a failure occurs, Kuzzle immediately interrupts the sequence, without rollbacking the previously loaded fixtures. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/admin/_loadFixtures[?refresh=wait_for] -Method: POST -Body: -``` - -```js -{ - "index-name": { - "collection-name": [ - {"create": { "_id": "uniq-id-123456" }}, - {"field": "value", "field2": "value", "field...", "value"} - ] - } -} -``` - - -### Other protocols - - -```js -{ - "controller": "admin", - "action": "loadFixtures", - "body": { - "index-name": { - "collection-name": [ - {"create": { "_id": "uniq-id-123456" }}, - {"field": "value", "field2": "value", "field...", "value"} - ] - } - } -} -``` - -## Arguments - -### Optional: - -* `refresh`: if set to `wait_for`, Kuzzle will not respond until the fixtures are loaded - ---- - -## Response - -Returns a confirmation that the command is being executed. - -```js -{ - "requestId": "d16d5e8c-464a-4589-938f-fd84f46080b9", - "status": 200, - "error": null, - "controller": "admin", - "action": "loadFixtures", - "collection": null, - "index": null, - "result": { "acknowledge": true } -} -``` diff --git a/src/api/1/controller-admin/load-mappings/index.md b/src/api/1/controller-admin/load-mappings/index.md deleted file mode 100644 index 3964355e2..000000000 --- a/src/api/1/controller-admin/load-mappings/index.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -layout: full.html.hbs -title: loadMappings ---- - -# loadMappings - -{{{since "1.7.0"}}} - -Apply mappings to the storage layer. - -**Notes:** - -* The mapping can contain any number of index and collection configurations. -* Field definitions follow the [Elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/5.6/mapping.html) mapping format. -* If an index or collection does not exist, it will be created automatically. -* Mappings are loaded sequentially, one index/collection pair at a time. If a failure occurs, Kuzzle immediately interrupts the sequence. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/admin/_loadMappings[?refresh=wait_for] -Method: POST -Body: -``` - -```js -{ - "index-name": { - "collection-name": { - "properties": { - "field1": {}, - "field2": {}, - "field...": {} - } - } - } -} -``` - -### Other protocols - - -```js -{ - "controller": "admin", - "action": "loadMappings", - "body": { - "index-name": { - "collection-name": { - "properties": { - "field1": {}, - "field2": {}, - "field...": {} - } - } - } - } -} -``` - -## Arguments - -### Optional: - -* `refresh`: if set to `wait_for`, Kuzzle will respond only once the mappings are loaded - ---- - -## Response - -Returns a confirmation that the command is being executed. - -```js -{ - "requestId": "d16d5e8c-464a-4589-938f-fd84f46080b9", - "status": 200, - "error": null, - "controller": "admin", - "action": "loadMappings", - "collection": null, - "index": null, - "result": { "acknowledge": true } -} -``` diff --git a/src/api/1/controller-admin/load-securities/index.md b/src/api/1/controller-admin/load-securities/index.md deleted file mode 100644 index 6209e0a6e..000000000 --- a/src/api/1/controller-admin/load-securities/index.md +++ /dev/null @@ -1,107 +0,0 @@ ---- -layout: full.html.hbs -title: loadSecurities ---- - -# loadSecurities - -{{{since "1.7.0"}}} - -Load roles, profiles and users into the storage layer. - -The roles, profiles and users definitions follow the same structure as in the body parameter of these corresponding API routes: - - - [createRole]({{ site_base_path }}api/1/controller-security/create-role) - - [createProfile]({{ site_base_path }}api/1/controller-security/create-profile) - - [createUser]({{ site_base_path }}api/1/controller-security/create-user) - -**Notes:** - -* The body can contain any number of roles, profiles and users. -* If a role, profile or user already exists, it will be replaced. -* Fixtures are loaded sequentially: first the roles, then the profiles and finally the users. If a failure occurs, Kuzzle immediately interrupts the sequence, without rollbacking what has already been loaded. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/admin/_loadSecurities[?refresh=wait_for] -Method: POST -Body: -``` - -```js -{ - "roles": { - "role-id": { - /* role definition */ - } - }, - "profiles": { - "profile-id": { - /* profile definition */ - } - }, - "users": { - "user-id": { - /* user definition */ - } - } -} -``` - - -### Other protocols - - -```js -{ - "controller": "admin", - "action": "loadSecurities", - "body": { - "roles": { - "role-id": { - /* role definition */ - } - }, - "profiles": { - "profile-id": { - /* profile definition */ - } - }, - "users": { - "user-id": { - /* user definition */ - } - } - } -} -``` - -## Arguments - -### Optional: - -* `refresh`: if set to `wait_for`, Kuzzle will not respond until the fixtures are loaded - ---- - -## Response - -Returns a confirmation that the command is being executed. - -```js -{ - "requestId": "d16d5e8c-464a-4589-938f-fd84f46080b9", - "status": 200, - "error": null, - "controller": "admin", - "action": "loadSecurities", - "collection": null, - "index": null, - "result": { "acknowledge": true } -} -``` diff --git a/src/api/1/controller-admin/reset-cache/index.md b/src/api/1/controller-admin/reset-cache/index.md deleted file mode 100644 index 6f2a354ae..000000000 --- a/src/api/1/controller-admin/reset-cache/index.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -layout: full.html.hbs -title: resetCache ---- - -# resetCache - -{{{since "1.4.0"}}} - -Asynchronously clears the cache database. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/admin/_resetCache?database=[internalCache|memoryStorage] -Method: POST -``` - -### Other protocols - -```js -{ - "controller": "admin", - "action": "resetCache", - "database": "internalCache" -} -``` - ---- - -## Arguments - -* `database`: there are two Redis databases that you can clear - * `internalCache` : used by Kuzzle to cache internal data, such as authentication tokens, documents followed by real-time subscriptions, active paginated search queries, API usage statistics or cluster state - * `memoryStorage` : memory cache managed by Kuzzle's [memoryStorage]({{ site_base_path }}api/1/controller-memory-storage/) API - ---- - -## Response - -Returns a confirmation that the command is being executed. - -```js -{ - "requestId": "d16d5e8c-464a-4589-938f-fd84f46080b9", - "status": 200, - "error": null, - "controller": "admin", - "action": "resetCache", - "collection": null, - "index": null, - "result": { "acknowledge": true } -} -``` diff --git a/src/api/1/controller-admin/reset-database/index.md b/src/api/1/controller-admin/reset-database/index.md deleted file mode 100644 index 231465e1d..000000000 --- a/src/api/1/controller-admin/reset-database/index.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -layout: full.html.hbs -title: resetDatabase ---- - -# resetDatabase - -{{{since "1.4.0"}}} - -Asynchronously deletes all indexes created by users. - -Neither Kuzzle internal indexes nor Plugin indexes are deleted. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/admin/_resetDatabase[?refresh=wait_for] -Method: POST -``` - -### Other protocols - - -```js -{ - "controller": "admin", - "action": "resetDatabase" -} -``` - -## Arguments - -### Optional: - -* `refresh`: if set to `wait_for`, Kuzzle will not respond until indexes are deleted - ---- - -## Response - -Returns a confirmation that the command is being executed. - -```js -{ - "requestId": "d16d5e8c-464a-4589-938f-fd84f46080b9", - "status": 200, - "error": null, - "controller": "admin", - "action": "resetDatabase", - "collection": null, - "index": null, - "result": { "acknowledge": true } -} -``` diff --git a/src/api/1/controller-admin/reset-kuzzle-data/index.md b/src/api/1/controller-admin/reset-kuzzle-data/index.md deleted file mode 100644 index 8ff2c17c6..000000000 --- a/src/api/1/controller-admin/reset-kuzzle-data/index.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -layout: full.html.hbs -title: resetKuzzleData ---- - -# resetKuzzleData - -{{{since "1.4.0"}}} - -Asynchronously starts the following sequence, in this order: - -* Invalidates and deletes all users along with their associated credentials -* Deletes all user-defined roles and profiles -* Resets the default roles and profiles to their default values -* Deletes all document validation specifications - -This action has no impact on Plugin and Document storages. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/admin/_resetKuzzleData -Method: POST -``` - -### Other protocols - -```js -{ - "controller": "admin", - "action": "resetKuzzleData" -} -``` - ---- - -## Response - -Returns a confirmation that the command is being executed. - -```js -{ - "requestId": "d16d5e8c-464a-4589-938f-fd84f46080b9", - "status": 200, - "error": null, - "controller": "admin", - "action": "resetKuzzleData", - "collection": null, - "index": null, - "result": { "acknowledge": true } -} -``` diff --git a/src/api/1/controller-admin/reset-security/index.md b/src/api/1/controller-admin/reset-security/index.md deleted file mode 100644 index d54623878..000000000 --- a/src/api/1/controller-admin/reset-security/index.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -layout: full.html.hbs -title: resetSecurity ---- - -# resetSecurity - -{{{since "1.4.0"}}} - -Asynchronously deletes all users, profiles and roles. -Then resets `anonymous`, `default` and `admin` profiles and roles to default values, specified in Kuzzle configuration files. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/admin/_resetSecurity[?refresh=wait_for] -Method: POST -``` - -### Other protocols - - -```js -{ - "controller": "admin", - "action": "resetSecurity" -} -``` -## Arguments - -### Optional: - -* `refresh`: if set to `wait_for`, Kuzzle will not respond until roles, profiles and users are deleted - ---- - -## Response - -Returns a confirmation that the command is being executed. - -```js -{ - "requestId": "d16d5e8c-464a-4589-938f-fd84f46080b9", - "status": 200, - "error": null, - "controller": "admin", - "action": "resetSecurity", - "collection": null, - "index": null, - "result": { "acknowledge": true } -} -``` diff --git a/src/api/1/controller-admin/shutdown/index.md b/src/api/1/controller-admin/shutdown/index.md deleted file mode 100644 index ab0d18804..000000000 --- a/src/api/1/controller-admin/shutdown/index.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -layout: full.html.hbs -title: shutdown ---- - -# shutdown - -{{{since "1.4.0"}}} - -Safely stops a Kuzzle instance after all remaining requests are processed. - -In a cluster environment, the shutdown action will be propagated across all nodes. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/admin/_shutdown -Method: POST -``` - -### Other protocols - -```js -{ - "controller": "admin", - "action": "shutdown" -} -``` - ---- - -## Response - -Returns a confirmation that the command is being executed. - -```js -{ - "requestId": "d16d5e8c-464a-4589-938f-fd84f46080b9", - "status": 200, - "error": null, - "controller": "admin", - "action": "shutdown", - "collection": null, - "index": null, - "result": { "acknowledge": true } -} -``` diff --git a/src/api/1/controller-auth/check-token/index.md b/src/api/1/controller-auth/check-token/index.md deleted file mode 100644 index 8eb993530..000000000 --- a/src/api/1/controller-auth/check-token/index.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -layout: full.html.hbs -title: checkToken ---- - -# checkToken - -{{{since "1.0.0"}}} - -Checks the validity of an authentication token. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/_checkToken -Method: POST -Body: -``` - -```json -{ - "token": "" -} -``` - -### Other protocols - -```json -{ - "controller": "auth", - "action": "checkToken", - "body": { - "token": "" - } -} -``` - ---- - -## Body properties - -* `token`: the authentication token to be tested - ---- - -## Response - -The returned result contains the following properties: - -* `valid`: a boolean telling whether the provided token is valid -* `state`: the reason why a token is invalid. Present only if `valid` is false -* `expiresAt`: token expiration timestamp. Present only if `valid` is true - -Example: - -```json -{ - "status": 200, - "error": null, - "controller": "auth", - "action": "checkToken", - "requestId": "", - "result": { - "valid": true, - "expiresAt": 1538557452248 - } -} -``` diff --git a/src/api/1/controller-auth/create-my-credentials/index.md b/src/api/1/controller-auth/create-my-credentials/index.md deleted file mode 100644 index b07c94e86..000000000 --- a/src/api/1/controller-auth/create-my-credentials/index.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -layout: full.html.hbs -title: createMyCredentials ---- - -# createMyCredentials - -{{{since "1.0.0"}}} - -Creates new credentials for the current user. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/credentials//_me/_create -Method: POST -Headers: Authorization: "Bearer " -Body: -``` - -```js -{ - // example with the "local" authentication strategy - "username": "MyUser", - "password": "MyPassword" -} -``` - - -### Other protocols - -```js -{ - "controller": "auth", - "action": "createMyCredentials", - "strategy": "", - "jwt": "", - "body": { - "username": "MyUser", - "password": "MyPassword" - } -} -``` - ---- - -## Arguments - -* `jwt`: valid authentication token (for the HTTP protocol, the token is to be passed to the `Authorization` header instead) -* `strategy`: name of the authentication strategy to use - ---- - -## Body properties - -Credentials to be created. The properties to send will depend on the chosen authentication strategy. - ---- - -## Response - -The result content depends on the authentication strategy. - -Example with the `local` authentication strategy: - -```js -{ - "status": 200, - "error": null, - "action": "createMyCredentials", - "controller": "auth", - "result": { - "username": "MyUser", - "kuid": "" - } -} -``` diff --git a/src/api/1/controller-auth/credentials-exists/index.md b/src/api/1/controller-auth/credentials-exists/index.md deleted file mode 100644 index 2d3c58d67..000000000 --- a/src/api/1/controller-auth/credentials-exists/index.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -layout: full.html.hbs -title: credentialsExist ---- - -# credentialsExist - -{{{since "1.0.0"}}} - -Checks that the current authenticated user has credentials for the specified authentication strategy. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/credentials//_me/_exists -Method: GET -Headers: Authorization: "Bearer " -``` - -### Other protocols - -```js -{ - "controller": "auth", - "action": "credentialsExist", - "strategy": "", - "jwt": "" -} -``` - ---- - -## Arguments - -* `jwt`: valid authentication token (for the HTTP protocol, the token is to be passed to the `Authorization` header instead) -* `strategy`: name of the authentication strategy to be tested - ---- - -## Response - -Result is a boolean telling whether credentials exist for the provided authentication strategy: - -```js -{ - "status": 200, - "error": null, - "action": "credentialsExist", - "controller": "auth", - "result": true -} -``` diff --git a/src/api/1/controller-auth/delete-my-credentials/index.md b/src/api/1/controller-auth/delete-my-credentials/index.md deleted file mode 100644 index 0591790ff..000000000 --- a/src/api/1/controller-auth/delete-my-credentials/index.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -layout: full.html.hbs -title: deleteMyCredentials ---- - -# deleteMyCredentials - -{{{since "1.0.0"}}} - -Deletes credentials associated to the current user. - -If the credentials that generated the current JWT are removed, the user will remain logged in until they log out or their session expire. After that, they will no longer be able to log in with the deleted credentials. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/credentials//_me -Method: DELETE -Headers: Authorization: "Bearer " -``` - -### Other protocols - -```js -{ - "controller": "auth", - "action": "deleteMyCredentials", - "strategy": "", - "jwt": "" -} -``` - ---- - -## Arguments - -* `jwt`: valid authentication token (for the HTTP protocol, the token is to be passed to the `Authorization` header instead) -* `strategy`: name of the authentication strategy to delete - ---- - -## Response - -Returns a confirmation that the credentials are being deleted: - -```js -{ - "status": 200, - "error": null, - "action": "deleteMyCredentials", - "controller": "auth", - "result": { - "acknowledged": true - } -} -``` diff --git a/src/api/1/controller-auth/get-current-user/index.md b/src/api/1/controller-auth/get-current-user/index.md deleted file mode 100644 index 6c107f1b7..000000000 --- a/src/api/1/controller-auth/get-current-user/index.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -layout: full.html.hbs -title: getCurrentUser ---- - -# getCurrentUser - -{{{since "1.0.0"}}} - -Returns information about the currently logged in user. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/users/_me -Method: GET -Headers: Authorization: "Bearer " -``` - -### Other protocols - -```js -{ - "controller": "auth", - "action": "getCurrentUser", - "jwt": "" -} -``` - ---- - -## Arguments - -* `jwt`: valid authentication token (for the HTTP protocol, the token is to be passed to the `Authorization` header instead) - ---- - -## Response - -The result contains the following properties: - -* `_id`: current user's [kuid]({{site_base_path}}guide/1/essentials/user-authentication/#kuzzle-user-identifier-kuid) -* `_source`: user information - * `profileIds`: list of [profile]({{site_base_path}}guide/1/essentials/security/#users-profiles-and-roles) names associated to the user - * any other properties: additional (and optional) user information -* `strategies`: available authentication strategies for that user - -```js -{ - "status": 200, - "error": null, - "controller": "auth", - "action": "getCurrentUser", - "requestId": "", - "result": { - "_id": "", - "_source": { - "profileIds": ["customProfile1", "customProfile2"], - "name": { - "first": "Steve", - "last": "Wozniak" - } - }, - "strategies": ["local"] - } -} -``` diff --git a/src/api/1/controller-auth/get-my-credentials/index.md b/src/api/1/controller-auth/get-my-credentials/index.md deleted file mode 100644 index e8abb8bc4..000000000 --- a/src/api/1/controller-auth/get-my-credentials/index.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -layout: full.html.hbs -title: getMyCredentials ---- - -# getMyCredentials - -{{{since "1.0.0"}}} - -Returns credential information for the currently logged in user. - -The data returned will depend on the specified authentication strategy, and they should not include any sensitive information. - -The result can be an empty object. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/credentials//_me -Method: GET -Headers: Authorization: "Bearer " -``` - -### Other protocols - -```js -{ - "controller": "auth", - "action": "getMyCredentials", - "strategy": "", - "jwt": "" -} -``` - ---- - -## Arguments - -* `jwt`: valid authentication token (for the HTTP protocol, the token is to be passed to the `Authorization` header instead) -* `strategy`: name of the authentication strategy to retrieve - ---- - -## Response - -The result content depends on the authentication strategy. - -Example with the `local` authentication strategy: - -```javascript -{ - "status": 200, - "error": null, - "action": "getMyCredentials", - "controller": "auth", - "result": { - "username": "MyUser", - "kuid": "" - } -} -``` diff --git a/src/api/1/controller-auth/get-my-rights/index.md b/src/api/1/controller-auth/get-my-rights/index.md deleted file mode 100644 index f35374847..000000000 --- a/src/api/1/controller-auth/get-my-rights/index.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -layout: full.html.hbs -title: getMyRights ---- - -# getMyRights - -{{{since "1.0.0"}}} - -Returns the exhaustive list of granted or denied rights for the currently logged in user. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/users/_me/_rights -Method: GET -Headers: Authorization: "Bearer " -``` - -### Other protocols - -```js -{ - "controller": "auth", - "action": "getMyRights", - "jwt": "" -} -``` - ---- - -## Arguments - -* `jwt`: valid authentication token (for the HTTP protocol, the token is to be passed to the `Authorization` header instead) - ---- - -## Response - -The result contains a `hits` array, listing the rights for the current user. - -Each right is an object with the following properties: - -* `controller`: API controller -* `action`: controller's action -* `index`: authorized or denied index -* `collection`: authorized or denied collection -* `value`: one of the following value: `denied`, `allowed`, or `conditional` - -```javascript -{ - "status": 200, - "error": null, - "result": { - "hits": [ - { - "controller": "document", - "action": "get", - "index": "foo", - "collection": "bar", - "value": "allowed" - }, - { - "controller": "document", - "action": "search", - "index": "foo", - "collection": "bar", - "value": "allowed" - }, - { - "controller": "document", - "action": "write", - "index": "foo", - "collection": "bar", - "value": "denied" - } - ] -} -``` diff --git a/src/api/1/controller-auth/get-strategies/index.md b/src/api/1/controller-auth/get-strategies/index.md deleted file mode 100644 index b24342a8d..000000000 --- a/src/api/1/controller-auth/get-strategies/index.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -layout: full.html.hbs -title: getStrategies ---- - -# getStrategies - -{{{since "1.0.0"}}} - -Gets the exhaustive list of registered authentication strategies. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/strategies -Method: GET -``` - -### Other protocols - -```js -{ - "controller": "auth", - "action": "getStrategies" -} -``` - ---- - -## Response - -The result is an array of available strategy names: - -```javascript -{ - "status": 200, - "error": null, - "action": "getStrategies", - "controller": "auth", - "result": [ - "local", - "facebook" - ] -} -``` diff --git a/src/api/1/controller-auth/index.md b/src/api/1/controller-auth/index.md deleted file mode 100644 index 1e1c11af2..000000000 --- a/src/api/1/controller-auth/index.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -layout: full.html.hbs -title: auth ---- diff --git a/src/api/1/controller-auth/login/index.md b/src/api/1/controller-auth/login/index.md deleted file mode 100644 index cd4f684b5..000000000 --- a/src/api/1/controller-auth/login/index.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -layout: full.html.hbs -title: login ---- - -# login - -{{{since "1.0.0"}}} - -Authenticates a user. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/_login/[?expiresIn=] -Method: POST -Body: -``` - -```javascript -{ - "username": "", - "password": "" -} -``` - -### Other protocols - -```js -{ - "controller": "auth", - "action": "login", - "strategy": "", - "expiresIn": "", - "body": { - "username": "", - "password": "" - } -} -``` - ---- - -## Arguments - -* `strategy`: the name of the authentication [strategy]({{ site_base_path }}guide/1/kuzzle-depth/authentication/#authentication) used to log the user in. - -### Optional: - -* `expiresIn`: set the expiration duration (default: depends on [Kuzzle configuration file]({{ site_base_path }}guide/1/essentials/configuration/)) - * if a raw number is provided (not enclosed between quotes), then the expiration delay is in milliseconds. Example: `86400000` - * if this value is a string, then its content is parsed by the [ms](https://www.npmjs.com/package/ms) library. Examples: `"6d"`, `"10h"` - ---- - -## Body properties - -Depending on the chosen authentication strategy, additional [credential arguments]({{ site_base_path }}guide/1/kuzzle-depth/authentication/#authentication) may be required. - -The API request example in this page provides the necessary arguments for the [`local` authentication plugin](https://github.com/kuzzleio/kuzzle-plugin-auth-passport-local). - -Check the appropriate [authentication plugin]({{ site_base_path }}plugins/1/essentials/strategies/) documentation to get the list of additional arguments to provide. - ---- - -## Response - -The result contains the following properties: - -* `_id`: user's [kuid]({{ site_base_path }}guide/1/kuzzle-depth/authentication#the-kuzzle-user-identifier) -* `jwt`: encrypted JSON Web Token, that must then be sent in the [requests headers]({{ site_base_path }}api/1/essentials/query-syntax/#http-default) or in the [query]({{ site_base_path }}api/1/essentials/query-syntax/#other-protocols-default) -* `expiresAt`: token expiration date, in Epoch-millis (UTC) -* `ttl`: token time to live, in milliseconds - -```javascript -{ - "status": 200, - "error": null, - "controller": "auth", - "action": "login", - "requestId": "", - "volatile": {}, - "result": { - "_id": "", - "jwt": "", - "expiresAt": 1321085955000, - "ttl": 360000 - } -} -``` diff --git a/src/api/1/controller-auth/logout/index.md b/src/api/1/controller-auth/logout/index.md deleted file mode 100644 index b83efed15..000000000 --- a/src/api/1/controller-auth/logout/index.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -layout: full.html.hbs -title: logout ---- - -# logout - -{{{since "1.0.0"}}} - -Revokes the provided authentication token. - -If there were any, real-time subscriptions are cancelled. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/_logout -Method: POST -Headers: Authorization: "Bearer " -``` - -### Other protocols - -```js -{ - "controller": "auth", - "action": "logout", - "jwt": "" -} -``` - ---- - -## Arguments - -* `jwt`: valid authentication token (for the HTTP protocol, the token is to be passed to the `Authorization` header instead) - ---- - -## Response - -```js -{ - "status": 200, - "error": null, - "controller": "auth", - "action": "logout", - "requestId": "", - "result": {} -} -``` diff --git a/src/api/1/controller-auth/refresh-token/index.md b/src/api/1/controller-auth/refresh-token/index.md deleted file mode 100644 index 19fd65c0d..000000000 --- a/src/api/1/controller-auth/refresh-token/index.md +++ /dev/null @@ -1,73 +0,0 @@ ---- -layout: full.html.hbs -title: refreshToken ---- - -# refreshToken - -{{{since "1.7.0"}}} - -Refreshes an authentication token: - -* a valid, non-expired authentication must be provided -* the provided authentication token is revoked -* a new authentication token is generated and returned - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/_refreshToken[?expiresIn=] -Method: POST -``` - -### Other protocols - -```js -{ - "controller": "auth", - "action": "refreshToken", - "expiresIn": "" -} -``` - ---- - -## Arguments - -### Optional: - -* `expiresIn`: set the expiration duration (default: depends on [Kuzzle configuration file]({{ site_base_path }}guide/1/essentials/configuration/)) - * if a raw number is provided (not enclosed between quotes), then the expiration delay is in milliseconds. Example: `86400000` - * if this value is a string, then its content is parsed by the [ms](https://www.npmjs.com/package/ms) library. Examples: `"6d"`, `"10h"` - ---- - -## Response - -The result contains the following properties: - -* `_id`: user's [kuid]({{ site_base_path }}guide/1/kuzzle-depth/authentication#the-kuzzle-user-identifier) -* `jwt`: encrypted JSON Web Token, that must then be sent in the [requests headers]({{ site_base_path }}api/1/essentials/query-syntax/#http-default) or in the [query]({{ site_base_path }}api/1/essentials/query-syntax/#other-protocols-default) -* `expiresAt`: new token expiration date, in Epoch-millis (UTC) -* `ttl`: new token time to live, in milliseconds - -```javascript -{ - "status": 200, - "error": null, - "controller": "auth", - "action": "refreshToken", - "requestId": "", - "volatile": {}, - "result": { - "_id": "", - "jwt": "", - "expiresAt": 1321085955000, - "ttl": 360000 - } -} -``` diff --git a/src/api/1/controller-auth/update-my-credentials/index.md b/src/api/1/controller-auth/update-my-credentials/index.md deleted file mode 100644 index c507b9ed4..000000000 --- a/src/api/1/controller-auth/update-my-credentials/index.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -layout: full.html.hbs -title: updateMyCredentials ---- - -# updateMyCredentials - -{{{since "1.0.0"}}} - -Updates the credentials of the currently logged in user. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/credentials//_me/_update -Method: PUT -Headers: Authorization: "Bearer " -Body: -``` - -```js -{ - "password": "MyPassword" -} -``` - -### Other protocols - -```javascript -{ - "controller": "auth", - "action": "updateMyCredentials", - "strategy": "", - "jwt": "", - "body": { - "password": "MyPassword" - } -} -``` - ---- - -## Arguments - -* `jwt`: valid authentication token (for the HTTP protocol, the token is to be passed to the `Authorization` header instead) -* `strategy`: name of the authentication strategy to update - ---- - -## Body properties - -The body contains the credential properties to update, and their new values. - -The properties that can be updated depend on the chosen authentication strategy. - -The API request examples in this page are for the [`local` authentication plugin](https://github.com/kuzzleio/kuzzle-plugin-auth-passport-local). - ---- - -## Response - -The result content depends on the authentication strategy. - -Example with the "local" authentication strategy: - -```js -{ - "status": 200, - "error": null, - "action": "updateMyCredentials", - "controller": "auth", - "result": { - "username": "MyUser", - "kuid": "" - } -} -``` diff --git a/src/api/1/controller-auth/update-self/index.md b/src/api/1/controller-auth/update-self/index.md deleted file mode 100644 index 60bd10927..000000000 --- a/src/api/1/controller-auth/update-self/index.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -layout: full.html.hbs -title: updateSelf ---- - -# updateSelf - -{{{since "1.0.0"}}} - -Updates the currently logged in user information. - -This route cannot update the list of associated security profiles. To change a user's security profiles, the route [security:updateUser]({{ site_base_path }}api/1/controller-security/update-user) must be used instead. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/_updateSelf -Method: PUT -Headers: Authorization: "Bearer " -Body: -``` - -```js -{ - "foo": "bar", - "fullname": "Walter Smith" -} -``` - -### Other protocols - -```js -{ - "controller": "auth", - "action": "updateSelf", - "jwt": "", - "body": { - "foo": "bar", - "name": "Walter Smith" - } -} -``` - ---- - -## Arguments - -* `jwt`: valid authentication token (for the HTTP protocol, the token is to be passed to the `Authorization` header instead) - ---- - -## Body properties - -User properties that can be set or updated depend on the application hosted by Kuzzle. This document is free of limitations. - ---- - -## Response - -Returns the following properties: - -* `_id`: current user's [kuid]({{site_base_path}}guide/1/essentials/user-authentication/#kuzzle-user-identifier-kuid) -* `_source`: additional (and optional) user properties - -```js -{ - "status": 200, - "error": null, - "action": "updateSelf", - "controller": "auth", - "requestId": "", - "result": { - "_id": "", - "_source": { - "fullname": "Walter Smith" - } - } -} -``` diff --git a/src/api/1/controller-auth/validate-my-credentials/index.md b/src/api/1/controller-auth/validate-my-credentials/index.md deleted file mode 100644 index d2231dc0b..000000000 --- a/src/api/1/controller-auth/validate-my-credentials/index.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -layout: full.html.hbs -title: validateMyCredentials ---- - -# validateMyCredentials - -{{{since "1.0.0"}}} - -Validates the provided credentials against a specified authentication strategy. - -This route neither creates nor modifies credentials. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/credentials//_me/_validate -Method: POST -Headers: Authorization: "Bearer " -Body: -``` - -```js -{ - "username": "MyUser", - "password": "MyPassword" -} -``` - -### Other protocols - -```js -{ - "controller": "auth", - "action": "validateMyCredentials", - "strategy": "", - "jwt": "", - "body": { - "username": "MyUser", - "password": "MyPassword" - } -} -``` - ---- - -## Arguments - -* `jwt`: valid authentication token (for the HTTP protocol, the token is to be passed to the `Authorization` header instead) -* `strategy`: name of the authentication strategy used to validate the provided credentials - ---- - -## Body properties - -Credentials to validate. The properties to send will depend on the chosen authentication strategy. - -Examples in this page are for the [`local` authentication plugin](https://github.com/kuzzleio/kuzzle-plugin-auth-passport-local). - ---- - -## Response - -Returns a boolean telling whether the provided credentials are valid: - -```js -{ - "status": 200, - "error": null, - "action": "validateMyCredentials", - "controller": "auth", - "result": true -} -``` diff --git a/src/api/1/controller-bulk/import/index.md b/src/api/1/controller-bulk/import/index.md deleted file mode 100644 index 8e5c6912e..000000000 --- a/src/api/1/controller-bulk/import/index.md +++ /dev/null @@ -1,133 +0,0 @@ ---- -layout: full.html.hbs -title: import ---- - -# import - -{{{since "1.0.0"}}} - -Creates, updates or deletes large amounts of documents as fast as possible. - -This route is faster than the `document:m*` routes family (e.g. [document:mCreate]({{ site_base_path }}api/1/controller-document/m-create)), but no real-time notifications will be generated, even if some of the documents in the import match subscription filters. - -If some documents actions fail, the client will receive a [PartialError]({{ site_base_path }}api/1/essentials/errors/#partialerror) error. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512///_bulk -Method: POST -Body: -``` - -```js -{ - "bulkData": [ - { "index": {} }, - { "new": "document", "with": "any", "number": "of fields" }, - { "create": {"_id": "foobar"} }, - { "another": "document", "with": "a preset id" }, - { "delete": {"_id": "existing_document_identifier"} }, - { "update": {"_id": "another_document"} }, - { "doc": {"partial": "update"}, "upsert": {"if": "document doesn't exist"} } - ] -} -``` - -### Other protocols - -```js -{ - "index": "", - "collection": "", - "controller": "bulk", - "action": "import", - "body": { - "bulkData": [ - { "index": {} }, - { "new": "document", "with": "any", "number": "of fields" }, - { "create": {"_id": "foobar"} }, - { "another": "document", "with": "a preset id" }, - { "delete": {"_id": "existing_document_identifier"} }, - { "update": {"_id": "another_document"} }, - { "doc": {"partial": "update"}, "upsert": {"if": "document doesn't exist"} } - ] - } -} -``` - ---- - -## Arguments - -* `collection`: collection name -* `index`: index name - ---- - -## Body properties - -The body must contain a `bulkData` array, detailing the bulk operations to perform, following [ElasticSearch Bulk API](https://www.elastic.co/guide/en/elasticsearch/reference/5.6/docs-bulk.html). - ---- - -## Response - -Returns a `items` array containing the list of executed queries result, in the same order than in the query. - -Each query result contains the following properties: - -* `_id`: document unique identifier -* `status`: HTTP status code for that query - -```javascript -{ - "status": 200, - "error": null, - "index": "", - "collection": "", - "controller": "bulk", - "action": "import", - "requestId": "", - "result": { - "items": [ - { - "index": { - "_id": "", - "_version": 1, - "result": "created", - "created": true - } - }, - { - "create": { - "_id": "foobar", - "_version": 1, - "result": "created", - "created": true - } - }, - { - "delete": { - "found": true, - "_id": "existing_document_identifier", - "_version": 2, - "result": "deleted" - } - }, - { - "update": { - "_id": "another_document", - "_version": 1, - "result": "created" - } - } - ] - } -} -``` diff --git a/src/api/1/controller-bulk/index.md b/src/api/1/controller-bulk/index.md deleted file mode 100644 index 91d2c5860..000000000 --- a/src/api/1/controller-bulk/index.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -layout: full.html.hbs -title: bulk ---- diff --git a/src/api/1/controller-collection/create/index.md b/src/api/1/controller-collection/create/index.md deleted file mode 100644 index 86cfb6ac3..000000000 --- a/src/api/1/controller-collection/create/index.md +++ /dev/null @@ -1,130 +0,0 @@ ---- -layout: full.html.hbs -title: create ---- - -# create - -{{{since "1.0.0"}}} - -Creates a new [collection]({{ site_base_path }}guide/1/essentials/persisted), in the provided `index`. - -{{{since "1.3.0"}}} - -You can also provide an optional body with a [collection mapping]({{ site_base_path }}guide/1/essentials/database-mappings) allowing you to exploit the full capabilities of our persistent data storage layer. - -This method will only update the mapping when the collection already exists. - -{{{since "1.7.1"}}} - -You can define the collection [dynamic mapping policy]({{ site_base_path}}guide/1/essentials/database-mappings/#dynamic-mapping-policy) by setting the `dynamic` field to the desired value. - -You can define [collection additional metadata]({{ site_base_path}}guide/1/essentials/database-mappings/#collection-metadata) within the `_meta` root field. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512// -Method: PUT -Body: -``` - -```js -{ - "dynamic": "[false|true|strict]", - "_meta": { - "field": "value" - }, - "properties": { - "field1": { - "type": "integer" - }, - "field2": { - "type": "keyword" - }, - "field3": { - "type": "date", - "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" - } - } -} -``` - -### Other protocols - - -```js -{ - "index": "", - "collection": "", - "controller": "collection", - "action": "create", - "body": { - "dynamic": "[false|true|strict]", - "_meta": { - "field": "value" - }, - "properties": { - "field1": { - "type": "integer" - }, - "field2": { - "type": "keyword" - }, - "field3": { - "type": "date", - "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" - } - } - } -} -``` - ---- - -## Arguments - -* `collection`: name of the collection to create -* `index`: index that will host the new collection - ---- - -## Body properties - -### Optional: - -* `dynamic`: [dynamic mapping policy]({{ site_base_path}}guide/1/essentials/database-mappings/#dynamic-mapping-policy) for new fields. Allowed values: `true` (default), `false`, `strict` -* `_meta`: [collection additional metadata]({{ site_base_path}}guide/1/essentials/database-mappings/#collection-metadata) stored next to the collection -* `properties`: object describing the data mapping to associate to the new collection, using [Elasticsearch types definitions format]({{ site_base_path}}guide/1/essentials/database-mappings/#properties-types-definition) - ---- - -## Response - -Returns a confirmation that the collection is being created: - -```javascript -{ - "status": 200, - "error": null, - "index": "", - "collection": "", - "controller": "collection", - "action": "create", - "requestId": "", - "result": { - "acknowledged": true - } -} -``` - ---- - -## Possible errors - -- [Common errors]({{ site_base_path }}api/1/essentials/errors/#common-errors) -- [PreconditionError]({{ site_base_path }}api/1/essentials/errors/#preconditionerror) diff --git a/src/api/1/controller-collection/delete-specifications/index.md b/src/api/1/controller-collection/delete-specifications/index.md deleted file mode 100644 index 7ede53441..000000000 --- a/src/api/1/controller-collection/delete-specifications/index.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -layout: full.html.hbs -title: deleteSpecifications ---- - -# deleteSpecifications - -{{{since "1.0.0"}}} - -Deletes validation specifications for a collection. - -The request succeeds even if no specification exist for that collection. - -***Note:*** an empty specification is implicitly applied to all collections. In a way, "no specification set" means "all documents are valid". - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512///_specifications -Method: DELETE -``` - -### Other protocols - -```js -{ - "index": "", - "collection": "", - "controller": "collection", - "action": "deleteSpecifications", -} -``` - ---- - -## Arguments - -* `collection`: collection name -* `index`: index name - ---- - -## Response - -Returns a confirmation that the specifications are deleted: - -```js -{ - "status": 200, - "error": null, - "index": "", - "collection": "", - "action": "deleteSpecifications", - "controller": "collection", - "result": true -} -``` - ---- - -## Possible errors - -- [Common errors]({{ site_base_path }}api/1/essentials/errors/#common-errors) diff --git a/src/api/1/controller-collection/exists/index.md b/src/api/1/controller-collection/exists/index.md deleted file mode 100644 index 8dcd5a108..000000000 --- a/src/api/1/controller-collection/exists/index.md +++ /dev/null @@ -1,65 +0,0 @@ ---- -layout: full.html.hbs -title: exists ---- - -# exists - -{{{since "1.0.0"}}} - -Checks whether a collection exists. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512///_exists -Method: GET -``` - -### Other protocols - - -```js -{ - "index": "", - "collection": "", - "controller": "collection", - "action": "exists" -} -``` - ---- - -## Arguments - -* `collection`: collection name -* `index`: index name - ---- - -## Response - -Returns a boolean telling whether the provided collection exists: - -```js -{ - "status": 200, - "error": null, - "index": "", - "collection": "", - "controller": "collection", - "action": "exists", - "requestId": "", - "result": true -} -``` - ---- - -## Possible errors - -- [Common errors]({{ site_base_path }}api/1/essentials/errors/#common-errors) diff --git a/src/api/1/controller-collection/get-mapping/index.md b/src/api/1/controller-collection/get-mapping/index.md deleted file mode 100644 index 3c43842ba..000000000 --- a/src/api/1/controller-collection/get-mapping/index.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -layout: full.html.hbs -title: getMapping ---- - -# getMapping - -{{{since "1.0.0"}}} - -Returns the collection mapping. - -{{{since "1.7.1"}}} - -Also returns the collection [dynamic mapping policy]({{ site_base_path}}guide/1/essentials/database-mappings/#dynamic-mapping-policy) and [collection additional metadata]({{ site_base_path}}guide/1/essentials/database-mappings/#collection-metadata). - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512///_mapping -Method: GET -``` - -### Other protocols - - -```js -{ - "index": "", - "collection": "", - "controller": "collection", - "action": "getMapping" -} -``` - ---- - -## Arguments - -* `collection`: collection name -* `index`: index name - ---- - -## Response - -Returns a mapping object with the following structure: - -``` - - |- mappings - |- - |- dynamic - |- _meta - |- metadata 1 - |- metadata 1 - |- properties - |- mapping for field 1 - |- mapping for field 2 - |- ... - |- mapping for field n -``` - -### Example: - -```javascript -{ - "status": 200, - "error": null, - "index": "", - "collection": "", - "controller": "collection", - "action": "getMapping", - "requestId": "", - "result": { - "": { - "mappings": { - "": { - "dynamic": "true", - "_meta": { - "metadata1": "value1" - }, - "properties": { - "field1": { "type": "integer" }, - "field2": { "type": "keyword" }, - "field3": { - "type": "date", - "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" - } - } - } - } - } - } -} -``` - ---- - -## Possible errors - -- [Common errors]({{ site_base_path }}api/1/essentials/errors/#common-errors) -- [NotFoundError]({{ site_base_path }}api/1/essentials/errors/#notfounderror) diff --git a/src/api/1/controller-collection/get-specifications/index.md b/src/api/1/controller-collection/get-specifications/index.md deleted file mode 100644 index ad669a4c4..000000000 --- a/src/api/1/controller-collection/get-specifications/index.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -layout: full.html.hbs -title: getSpecifications ---- - -# getSpecifications - -{{{since "1.0.0"}}} - -Returns the validation specifications associated to the given index and collection. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512///_specifications -Method: GET -``` - -### Other protocols - - -```js -{ - "index": "", - "collection": "", - "controller": "collection", - "action": "getSpecifications" -} -``` - ---- - -## Arguments - -* `collection`: collection name -* `index`: index name - ---- - -## Response - -Returns a specifications object with the following properties: - -* `collection`: specified collection -* `index`: specified index -* `validation`: specifications description - -```js -{ - "status": 200, - "error": null, - "action": "getSpecifications", - "controller": "collection", - "collection": "", - "index": "", - "result": { - "collection": "", - "index": "", - "validation": { - "fields": { - "myField": { - "defaultValue": 42, - "mandatory": true, - "type": "integer" - } - }, - "strict": true - } - } -} -``` - ---- - -## Possible errors - -- [Common errors]({{ site_base_path }}api/1/essentials/errors/#common-errors) -- [NotFoundError]({{ site_base_path }}api/1/essentials/errors/#notfounderror) diff --git a/src/api/1/controller-collection/index.md b/src/api/1/controller-collection/index.md deleted file mode 100644 index 2bc7ef5a9..000000000 --- a/src/api/1/controller-collection/index.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -layout: full.html.hbs -title: collection ---- diff --git a/src/api/1/controller-collection/list/index.md b/src/api/1/controller-collection/list/index.md deleted file mode 100644 index b534a6d37..000000000 --- a/src/api/1/controller-collection/list/index.md +++ /dev/null @@ -1,108 +0,0 @@ ---- -layout: full.html.hbs -title: list ---- - -# list - -{{{since "1.0.0"}}} - -Returns the list of collections associated to a provided index. - -The returned list is sorted in alphanumerical order. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512//_list[?type=][&from=0][&size=42] -Method: GET -``` - -### Other protocols - - -```js -{ - "index": "", - "controller": "collection", - "action": "list", - "type": "stored", - "from": 0, - "size": 42 -} -``` - ---- - -## Arguments - - -* `collection`: collection name -* `index`: index name - -### Optional: - -* `from` and `size`: response pagination -* `type`: filters the returned collections. Allowed values: `all`, `stored` and `realtime` (default : `all`). - ---- - -## Response - -Returns an array of objects, each one of those describing a collection, using the following properties: - -* `name`: collection name -* `type`: collection type (either `stored` or `realtime`) - -Example: - -```js -{ - "status": 200, - "error": null, - "index": "", - "controller": "collection", - "action": "list", - "requestId": "", - "result": { - "collections": [ - { - "name": "realtime_1", "type": "realtime" - }, - { - "name": "realtime_2", "type": "realtime" - }, - { - "name": "realtime_...", "type": "realtime" - }, - { - "name": "realtime_n", "type": "realtime" - }, - { - "name": "stored_1", "type": "stored" - }, - { - "name": "stored_2", "type": "stored" - }, - { - "name": "stored_...", "type": "stored" - }, - { - "name": "stored_n", "type": "stored" - } - ], - "type": "all" - } -} -``` - ---- - -## Possible errors - -- [Common errors]({{ site_base_path }}api/1/essentials/errors/#common-errors) -- [NotFoundError]({{ site_base_path }}api/1/essentials/errors/#notfounderror) diff --git a/src/api/1/controller-collection/scroll-specifications/index.md b/src/api/1/controller-collection/scroll-specifications/index.md deleted file mode 100644 index 78c76eca8..000000000 --- a/src/api/1/controller-collection/scroll-specifications/index.md +++ /dev/null @@ -1,114 +0,0 @@ ---- -layout: full.html.hbs -title: scrollSpecifications ---- - -# scrollSpecifications - -{{{since "1.0.0"}}} - -Moves a result set cursor forward, created by the [`searchSpecifications` request]({{ site_base_path }}api/1/controller-collection/search-specifications/) when the `scroll` argument is provided. - -Results returned by a `scroll` request reflect the state of the index at the time of the initial search request, like a fixed snapshot. Subsequent changes to documents do not affect the scroll results. - ---- - -## Query Syntax - -### HTTP - -```http -URL: http://kuzzle:7512/validations/_scroll/[?scroll=
- -Queries made to Kuzzle must be encoded using JSON, and have the following format: - -```javascript -{ - // required by all queries - "controller": "", - "action": "", - - // optional, can be added to all queries - "requestId": "", - "jwt": "", - - // commonly found parameters - "index": "", - "collection": "", - "body": { - // query content - }, - "_id": "" -} -``` - -### Required parameters: - -The following 2 parameters are required by all API requests, as these are directly used by Kuzzle to redirect the query to the correct API action: - -* `controller`: accessed Kuzzle API controller -* `action`: API controller action to be executed - -Depending on the API route executed, other parameters may be required. Those are detailed in the corresponding API sections. - -### Commonly found parameters: - -There are 3 parameters that can be provided to all queries, independently to the API route executed: - -* `jwt`: user's authentification token, obtained through the [login]({{ site_base_path }}api/1/controller-auth/login) method -* `requestId`: user-defined request identifier. Kuzzle does not guarantee that responses are sent back in the same order than queries are made; use that field to link responses to their query of origin -* `volatile`: user-defined data, without any impact to the query. Use that object to pass information about the query itself to real-time subscribers. Read more [here]({{ site_base_path }}api/1/essentials/volatile-data/) - -Additionally, a few other parameters are very commonly found in API queries: - -* `_id`: unique identifier (e.g. document ID, user kuid, memory storage key, ...) -* `body`: query content (e.g. document content, message content, mappings, ...) -* `collection`: collection name -* `index`: index name - -### Other parameters - -Kuzzle does not enforce a fixed list of parameters. Rather, API actions freely design the parameters list they need, and Kuzzle internal structures reflect that freedom. -This principle is especially useful, as it allows plugins to set their own list of required and optional parameters, without constraint. diff --git a/src/api/1/essentials/volatile-data/index.md b/src/api/1/essentials/volatile-data/index.md deleted file mode 100644 index 93e25d12f..000000000 --- a/src/api/1/essentials/volatile-data/index.md +++ /dev/null @@ -1,141 +0,0 @@ ---- -layout: full.html.hbs -title: Volatile Data -description: broadcast extra information to subscribers -order: 400 ---- - -# Volatile Data - -All queries accept a `volatile` object parameter (see the [query syntax]({{site_base_path}}api/1/essentials/query-syntax) documentation). - -The content of this object is not meant to be used directly: it has no impact on the query itself. - -Still, volatile data are not completely ignored by Kuzzle, and they have a few uses. - ---- - -## Query Context - -Volatile data can be used to provide additional context about a query; this allows extended logs, application metadata, and so on. Many use cases benefit from being able to pass context data, without any direct impact to queries themselves. - -Moreover, plugins receive the complete query made by a user, including volatile data. - -Lastly, if a query triggers [document notifications]({{ site_base_path }}api/1/essentials/notifications#documents-changes-messages-default), then its volatile data are included in the notifications content. This allows real-time subscribers to get elements of context about changes made to documents, if needs be. - -### Example: - -The following [document:update]({{ site_base_path }}api/1/controller-document/update) query: - -```javascript -{ - "index": "foo", - "collection": "bar", - "controller": "document", - "action": "update", - "_id": "documentUniqueId", - "body": { - "somefield": "now has a new value" - }, - "volatile": { - "reason": "applied suggestion made by soandso" - } -} -``` - -Can trigger the following document notification, sent to real-time subscribers: - -```javascript -{ - "index": "foo", - "collection": "bar", - "controller": "document", - "type": "document", - "action": "update", - "state": "done", - "scope": "in", - "volatile": { - "reason": "applied suggestion made by soandso" - }, - "result": { - "_id": "documentUniqueId", - "_source": { - "somefield": "now has a new value", - "someOtherField": "was left unchanged" - } - } -} -``` - ---- - -## Real-time subscription context - -There is one special case, where volatile data are stored by Kuzzle for a later use, instead of being completely ignored: whenever a user make a new real-time subscription. - -Volatile data passed to a new subscription query are used two times by Kuzzle: - -* if the new subscription triggers [user notifications]({{ site_base_path }}api/1/essentials/notifications#user-events-default), its volatile data are included into those -* if that subscription is cancelled, whether because of a call to [realtime:unsubscribe]({{ site_base_path }}api/1/controller-realtime/unsubscribe), or after the user disconnects: the volatile data provided **at the time of the subscription** are once again copied into user notifications triggered by that event - -This allows other real-time subscribers to get context information about a user joining or leaving the same subscription as them. - -### Example: - -Here is a new subscription query, with volatile data provided: - -```javascript -{ - "index": "foo", - "collection": "bar", - "controller": "realtime", - "action": "subscribe", - "body": { - "equals": { - "room": "global_chat" - } - }, - "volatile": { - "fullname": "Alan Smithee", - "profession": "Film Director" - } -} -``` - -If other users subscribed to the same filter, they will receive the following user notification: - -```javascript -{ - "type": "user", - "index": "foo", - "collection": "bar", - "controller": "realtime", - "action": "subscribe", - "user": "in", - "volatile": { - "fullname": "Alan Smithee", - "profession": "Film Director" - }, - "result": { - "count": 42 - } -} -``` - -Now, if that user disconnects (either on purpose or unexpectedly), the following notification is sent to the remaining users sharing that filter: - -```javascript -{ - "type": "user", - "index": "foo", - "collection": "bar", - "user": "out", - "volatile": { - "fullname": "Alan Smithee", - "profession": "Film Director" - }, - "result": { - "count": 41 - } -} -``` diff --git a/src/api/1/index.md b/src/api/1/index.md deleted file mode 100644 index 1e3422a0c..000000000 --- a/src/api/1/index.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -layout: full.html.hbs -title: API -order: 500 ---- diff --git a/src/api/index.md b/src/api/index.md deleted file mode 100644 index 0e1b5052e..000000000 --- a/src/api/index.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -order: 2 ---- diff --git a/src/assets/images/geolocation/geoBoundingBox.png b/src/assets/images/geolocation/geoBoundingBox.png deleted file mode 100644 index 4cfaaccce..000000000 Binary files a/src/assets/images/geolocation/geoBoundingBox.png and /dev/null differ diff --git a/src/assets/images/geolocation/geoDistance.png b/src/assets/images/geolocation/geoDistance.png deleted file mode 100644 index 120f1dadc..000000000 Binary files a/src/assets/images/geolocation/geoDistance.png and /dev/null differ diff --git a/src/assets/images/geolocation/geoDistanceRange.png b/src/assets/images/geolocation/geoDistanceRange.png deleted file mode 100644 index 7ae92db54..000000000 Binary files a/src/assets/images/geolocation/geoDistanceRange.png and /dev/null differ diff --git a/src/assets/images/geolocation/geoPolygon.png b/src/assets/images/geolocation/geoPolygon.png deleted file mode 100644 index 6479383d5..000000000 Binary files a/src/assets/images/geolocation/geoPolygon.png and /dev/null differ diff --git a/src/assets/js/algolia-search.js b/src/assets/js/algolia-search.js deleted file mode 100644 index c5a755166..000000000 --- a/src/assets/js/algolia-search.js +++ /dev/null @@ -1,96 +0,0 @@ -let algoliaSearch = { - - currentTags: window.location.pathname - .substring(1) - .split('/') - .slice(0, 4) - .map(tag => { - if (tag === 'sdk-reference') { return 'sdk'; } - if (/^[0-9]+$/.test(tag)) { return tag + '.x'; } - return tag; - }), - - init: () => { - const - client = algoliasearch(algolia_projectId, algolia_publicKey), - index = client.initIndex(algolia_index), - searchBar = $('.md-search__input'), - searchTrigger = $('#search'), - resultList = $('.md-search-result__list'), - resetButton = $('button.md-icon.md-search__icon'); - - searchBar.on('input', function() { - let query = $(this).val(); - if (query.length < 3) { - resultList.html(''); - return; - } - index.search(query, (err, content) => { - if (err) { - return; - } - algoliaSearch.setResults(content.hits.sort(algoliaSearch.sortByTags), resultList); - }); - }); - - searchTrigger.on('change', function() { - if (!$(this).is(':checked')) { - searchBar.val(''); - resultList.html(''); - } - }); - - resetButton.on('click', function() { - resultList.html(''); - }); - }, - - setResults: (hits, container) => { - let content = ''; - for (const hit of Object.values(hits)) { - content += - `
  • - -
    -

    - ${hit.title + algoliaSearch.formatTags(hit.tags)} -

    -

    ${hit._highlightResult.content.value}

    -
    -
    -
  • `; - } - container.html(content); - }, - - formatTags: tags => { - let formated = ''; - for (const tag of Object.values(tags)) { - formated += `${tag}`; - } - return formated; - }, - - sortByTags: (a, b) => { - const - scoreA = algoliaSearch.getTagsScore(a.tags), - scoreB = algoliaSearch.getTagsScore(b.tags); - - return Math.sign(scoreB - scoreA); - }, - - getTagsScore: (tags) => { - let score = 0; - for (const tag of Object.values(tags)) { - if (algoliaSearch.currentTags.includes(tag)) { - ++score; - } - } - return score; - } - -}; - -$(document).ready(function() { - algoliaSearch.init(); -}); \ No newline at end of file diff --git a/src/assets/js/app.js b/src/assets/js/app.js deleted file mode 100644 index 50767ed29..000000000 --- a/src/assets/js/app.js +++ /dev/null @@ -1 +0,0 @@ -(function(t,e){for(var n in e)t[n]=e[n]})(window,function(n){var i={};function __webpack_require__(t){if(i[t]){return i[t].t}var e=i[t]={i:t,o:false,t:{}};n[t].call(e.t,e,e.t,__webpack_require__);e.o=true;return e.t}__webpack_require__.u=n;__webpack_require__.c=i;__webpack_require__.d=function(t,e,n){if(!__webpack_require__.s(t,e)){Object.defineProperty(t,e,{l:false,h:true,get:n})}};__webpack_require__.n=function(t){var e=t&&t.v?function getDefault(){return t["default"]}:function getModuleExports(){return t};__webpack_require__.d(e,"a",e);return e};__webpack_require__.s=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};__webpack_require__.m="";return __webpack_require__(__webpack_require__.p=6)}([function(t,e,n){"use strict";e.v=true;e["default"]={createElement:function createElement(t,e){var n=document.createElement(t);if(e)Array.prototype.forEach.call(Object.keys(e),function(t){n.setAttribute(t,e[t])});var i=function i(t){Array.prototype.forEach.call(t,function(t){if(typeof t==="string"||typeof t==="number"){n.textContent+=t}else if(Array.isArray(t)){i(t)}else if(typeof t._!=="undefined"){n.innerHTML+=t._}else if(t instanceof Node){n.appendChild(t)}})};for(var r=arguments.length,o=Array(r>2?r-2:0),u=2;u pre, pre > code");Array.prototype.forEach.call(e,function(t,e){var n="__code_"+e;var i=u.createElement("button",{S:"md-clipboard",title:f("clipboard.copy"),A:"#"+n+" pre, #"+n+" code"},u.createElement("span",{S:"md-clipboard__message"}));var r=t.parentNode;r.id=n;r.insertBefore(i,t)});var n=new s["default"](".md-clipboard");n.D("success",function(t){var e=t.P.querySelector(".md-clipboard__message");if(!(e instanceof HTMLElement))throw new ReferenceError;t.I();if(e.dataset.F)clearTimeout(parseInt(e.dataset.F,10));e.classList.add("md-clipboard__message--active");e.innerHTML=f("clipboard.copied");e.dataset.F=setTimeout(function(){e.classList.remove("md-clipboard__message--active");e.dataset.F=""},2e3).toString()})}if(!Modernizr.N){var i=document.querySelectorAll("details > summary");Array.prototype.forEach.call(i,function(t){t.addEventListener("click",function(t){var e=t.target.parentNode;if(e.hasAttribute("open")){e.removeAttribute("open")}else{e.setAttribute("open","")}})})}var r=function r(){if(document.location.hash){var t=document.getElementById(document.location.hash.substring(1));if(!t)return;var e=t.parentNode;while(e&&!(e instanceof HTMLDetailsElement)){e=e.parentNode}if(e&&!e.open){e.open=true;var n=location.hash;location.hash=" ";location.hash=n}}};window.addEventListener("hashchange",r);r();if(Modernizr.$){var o=document.querySelectorAll("[data-md-scrollfix]");Array.prototype.forEach.call(o,function(e){e.addEventListener("touchstart",function(){var t=e.scrollTop;if(t===0){e.scrollTop=1}else if(t+e.offsetHeight===e.scrollHeight){e.scrollTop=t-1}})})}}).M();new o["default"].Event.L(window,["scroll","resize","orientationchange"],new o["default"].U.B("[data-md-component=container]","[data-md-component=header]")).M();new o["default"].Event.L(window,["scroll","resize","orientationchange"],new o["default"].U.V("[data-md-component=title]",".md-typeset h1")).M();if(document.querySelector("[data-md-component=hero]"))new o["default"].Event.L(window,["scroll","resize","orientationchange"],new o["default"].W.G("[data-md-component=hero]")).M();if(document.querySelector("[data-md-component=tabs]"))new o["default"].Event.L(window,["scroll","resize","orientationchange"],new o["default"].W.G("[data-md-component=tabs]")).M();new o["default"].Event.J("(min-width: 1220px)",new o["default"].Event.L(window,["scroll","resize","orientationchange"],new o["default"].Y.X("[data-md-component=navigation]","[data-md-component=header]")));if(document.querySelector("[data-md-component=toc]"))new o["default"].Event.J("(min-width: 960px)",new o["default"].Event.L(window,["scroll","resize","orientationchange"],new o["default"].Y.X("[data-md-component=toc]","[data-md-component=header]")));new o["default"].Event.J("(min-width: 960px)",new o["default"].Event.L(window,"scroll",new o["default"].K.Z("[data-md-component=toc] [href]")));var e=document.querySelectorAll("[data-md-component=collapsible]");Array.prototype.forEach.call(e,function(t){new o["default"].Event.J("(min-width: 1220px)",new o["default"].Event.L(t.previousElementSibling,"click",new o["default"].K.tt(t)))});new o["default"].Event.J("(max-width: 1219px)",new o["default"].Event.L("[data-md-component=navigation] [data-md-toggle]","change",new o["default"].K.et("[data-md-component=navigation] nav")));if(document.querySelector("[data-md-component=search]")){new o["default"].Event.J("(max-width: 959px)",new o["default"].Event.L("[data-md-toggle=search]","change",new o["default"].it.nt("[data-md-toggle=search]")));new o["default"].Event.L("[data-md-component=reset]","click",function(){setTimeout(function(){var t=document.querySelector("[data-md-component=query]");if(!(t instanceof HTMLInputElement))throw new ReferenceError;t.focus()},10)}).M();new o["default"].Event.L("[data-md-toggle=search]","change",function(t){setTimeout(function(t){if(!(t instanceof HTMLInputElement))throw new ReferenceError;if(t.checked){var e=document.querySelector("[data-md-component=query]");if(!(e instanceof HTMLInputElement))throw new ReferenceError;e.focus()}},400,t.target)}).M();new o["default"].Event.J("(min-width: 960px)",new o["default"].Event.L("[data-md-component=query]","focus",function(){var t=document.querySelector("[data-md-toggle=search]");if(!(t instanceof HTMLInputElement))throw new ReferenceError;if(!t.checked){t.checked=true;t.dispatchEvent(new CustomEvent("change"))}}));new o["default"].Event.L(window,"keydown",function(t){var e=document.querySelector("[data-md-toggle=search]");if(!(e instanceof HTMLInputElement))throw new ReferenceError;var n=document.querySelector("[data-md-component=query]");if(!(n instanceof HTMLInputElement))throw new ReferenceError;if(t.metaKey||t.ctrlKey)return;if(e.checked){if(t.keyCode===13){if(n===document.activeElement){t.preventDefault();var i=document.querySelector("[data-md-component=search] [href][data-md-state=active]");if(i instanceof HTMLLinkElement){window.location=i.getAttribute("href");e.checked=false;e.dispatchEvent(new CustomEvent("change"));n.blur()}}}else if(t.keyCode===9||t.keyCode===27){e.checked=false;e.dispatchEvent(new CustomEvent("change"));n.blur()}else if([8,37,39].indexOf(t.keyCode)!==-1){if(n!==document.activeElement)n.focus()}else if([38,40].indexOf(t.keyCode)!==-1){var r=t.keyCode;var o=Array.prototype.slice.call(document.querySelectorAll("[data-md-component=query], [data-md-component=search] [href]"));var u=o.find(function(t){if(!(t instanceof HTMLElement))throw new ReferenceError;return t.dataset.rt==="active"});if(u)u.dataset.rt="";var s=Math.max(0,(o.indexOf(u)+o.length+(r===38?-1:+1))%o.length);if(o[s]){o[s].dataset.rt="active";o[s].focus()}t.preventDefault();t.stopPropagation();return false}}else if(document.activeElement&&!document.activeElement.form){if(t.keyCode===70||t.keyCode===83){n.focus();t.preventDefault()}}}).M();new o["default"].Event.L(window,"keypress",function(){var t=document.querySelector("[data-md-toggle=search]");if(!(t instanceof HTMLInputElement))throw new ReferenceError;if(t.checked){var e=document.querySelector("[data-md-component=query]");if(!(e instanceof HTMLInputElement))throw new ReferenceError;if(e!==document.activeElement)e.focus()}}).M()}new o["default"].Event.L(document.body,"keydown",function(t){if(t.keyCode===9){var e=document.querySelectorAll("[data-md-component=navigation] .md-nav__link[for]:not([tabindex])");Array.prototype.forEach.call(e,function(t){if(t.offsetHeight)t.tabIndex=0})}}).M();new o["default"].Event.L(document.body,"mousedown",function(){var t=document.querySelectorAll("[data-md-component=navigation] .md-nav__link[tabindex]");Array.prototype.forEach.call(t,function(t){t.removeAttribute("tabIndex")})}).M();document.body.addEventListener("click",function(){if(document.body.dataset.rt==="tabbing")document.body.dataset.rt=""});new o["default"].Event.J("(max-width: 959px)",new o["default"].Event.L("[data-md-component=navigation] [href^='#']","click",function(){var t=document.querySelector("[data-md-toggle=drawer]");if(!(t instanceof HTMLInputElement))throw new ReferenceError;if(t.checked){t.checked=false;t.dispatchEvent(new CustomEvent("change"))}}));(function(){var t=document.querySelector("[data-md-source]");if(!t)return n["default"].resolve([]);else if(!(t instanceof HTMLAnchorElement))throw new ReferenceError;switch(t.dataset.ot){case"github":return new o["default"].at.st.ut(t).fetch();default:return n["default"].resolve([])}})().then(function(e){var t=document.querySelectorAll("[data-md-source]");Array.prototype.forEach.call(t,function(t){new o["default"].at.ft(t).initialize(e)})})}var c={initialize:initialize};l.app=c}).call(l,h(0))},function(t,e,n){t.t=n.m+"assets/images/icons/bitbucket.4ebea66e.svg"},function(t,e,n){t.t=n.m+"assets/images/icons/github.a4034fb1.svg"},function(t,e,n){t.t=n.m+"assets/images/icons/gitlab.348cdb3a.svg"},function(t,e){},function(t,e){},function(t,e){try{var n=new window.CustomEvent("test");n.preventDefault();if(n.defaultPrevented!==true){throw new Error("Could not prevent default")}}catch(r){var i=function(t,e){var n,i;e=e||{bubbles:false,cancelable:false,detail:undefined};n=document.createEvent("CustomEvent");n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail);i=n.preventDefault;n.preventDefault=function(){i.call(this);try{Object.defineProperty(this,"defaultPrevented",{get:function(){return true}})}catch(e){this.defaultPrevented=true}};return n};i.prototype=window.Event.prototype;window.CustomEvent=i}},function(t,e,n){if(!window.fetch)window.fetch=n(2)["default"]||n(2)},function(t,e,n){"use strict";(function(e){var n=setTimeout;function noop(){}function bind(t,e){return function(){t.apply(e,arguments)}}function Promise(t){if(!(this instanceof Promise))throw new TypeError("Promises must be constructed via new");if(typeof t!=="function")throw new TypeError("not a function");this.ct=0;this.lt=false;this.ht=undefined;this.dt=[];doResolve(t,this)}function handle(i,r){while(i.ct===3){i=i.ht}if(i.ct===0){i.dt.push(r);return}i.lt=true;Promise.vt(function(){var t=i.ct===1?r.wt:r.pt;if(t===null){(i.ct===1?resolve:reject)(r.bt,i.ht);return}var e;try{e=t(i.ht)}catch(n){reject(r.bt,n);return}resolve(r.bt,e)})}function resolve(t,e){try{if(e===t)throw new TypeError("A promise cannot be resolved with itself.");if(e&&(typeof e==="object"||typeof e==="function")){var n=e.then;if(e instanceof Promise){t.ct=3;t.ht=e;finale(t);return}else if(typeof n==="function"){doResolve(bind(n,e),t);return}}t.ct=1;t.ht=e;finale(t)}catch(i){reject(t,i)}}function reject(t,e){t.ct=2;t.ht=e;finale(t)}function finale(t){if(t.ct===2&&t.dt.length===0){Promise.vt(function(){if(!t.lt){Promise.yt(t.ht)}})}for(var e=0,n=t.dt.length;e=0){t.Rt=setTimeout(function onTimeout(){if(t.jt)t.jt()},e)}};i(16);n.setImmediate=typeof self!=="undefined"&&self.setImmediate||typeof t!=="undefined"&&t.setImmediate||this&&this.setImmediate;n.clearImmediate=typeof self!=="undefined"&&self.clearImmediate||typeof t!=="undefined"&&t.clearImmediate||this&&this.clearImmediate}).call(n,i(1))},function(t,e,n){(function(t,e){(function(n,i){"use strict";if(n.setImmediate){return}var r=1;var o={};var u=false;var s=n.document;var a;function setImmediate(t){if(typeof t!=="function"){t=new Function(""+t)}var e=new Array(arguments.length-1);for(var n=0;n1){for(var n=1;n0&&arguments[0]!==undefined?arguments[0]:{};this.action=t.action;this.oe=t.oe;this.ue=t.ue;this.target=t.target;this.text=t.text;this.P=t.P;this.se=""}},{key:"initSelection",value:function initSelection(){if(this.text){this.ae()}else if(this.target){this.fe()}}},{key:"selectFake",value:function selectFake(){var t=this;var e=document.documentElement.getAttribute("dir")=="rtl";this.ce();this.le=function(){return t.ce()};this.he=this.oe.addEventListener("click",this.le)||true;this.de=document.createElement("textarea");this.de.style.fontSize="12pt";this.de.style.border="0";this.de.style.padding="0";this.de.style.margin="0";this.de.style.position="absolute";this.de.style[e?"right":"left"]="-9999px";var n=window.pageYOffset||document.documentElement.scrollTop;this.de.style.top=n+"px";this.de.setAttribute("readonly","");this.de.value=this.text;this.oe.appendChild(this.de);this.se=(0,i["default"])(this.de);this.ve()}},{key:"removeFake",value:function removeFake(){if(this.he){this.oe.removeEventListener("click",this.le);this.he=null;this.le=null}if(this.de){this.oe.removeChild(this.de);this.de=null}}},{key:"selectTarget",value:function selectTarget(){this.se=(0,i["default"])(this.target);this.ve()}},{key:"copyText",value:function copyText(){var t=void 0;try{t=document.execCommand(this.action)}catch(e){t=false}this.we(t)}},{key:"handleResult",value:function handleResult(t){this.ue.Vt(t?"success":"error",{action:this.action,text:this.se,P:this.P,I:this.I.bind(this)})}},{key:"clearSelection",value:function clearSelection(){if(this.P){this.P.focus()}window.getSelection().removeAllRanges()}},{key:"destroy",value:function destroy(){this.ce()}},{key:"action",set:function set(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"copy";this.me=t;if(this.me!=="copy"&&this.me!=="cut"){throw new Error('Invalid "action" value, use either "copy" or "cut"')}},get:function get(){return this.me}},{key:"target",set:function set(t){if(t!==undefined){if(t&&(typeof t==="undefined"?"undefined":n(t))==="object"&&t.nodeType===1){if(this.action==="copy"&&t.hasAttribute("disabled")){throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute')}if(this.action==="cut"&&(t.hasAttribute("readonly")||t.hasAttribute("disabled"))){throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes')}this.pe=t}else{throw new Error('Invalid "target" value, use a valid Element')}}},get:function get(){return this.pe}}]);return ClipboardAction}();t.t=o})},function(t,e,n){var i=n(6);var r=n(5);function listen(t,e,n){if(!t&&!e&&!n){throw new Error("Missing required arguments")}if(!i.be(e)){throw new TypeError("Second argument must be a String")}if(!i.ye(n)){throw new TypeError("Third argument must be a Function")}if(i._e(t)){return listenNode(t,e,n)}else if(i.ge(t)){return listenNodeList(t,e,n)}else if(i.be(t)){return listenSelector(t,e,n)}else{throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}}function listenNode(t,e,n){t.addEventListener(e,n);return{Ee:function(){t.removeEventListener(e,n)}}}function listenNodeList(t,e,n){Array.prototype.forEach.call(t,function(t){t.addEventListener(e,n)});return{Ee:function(){Array.prototype.forEach.call(t,function(t){t.removeEventListener(e,n)})}}}function listenSelector(t,e,n){return r(document.body,t,e,n)}t.t=listen},function(t,e){function E(){}E.prototype={D:function(t,e,n){var i=this.e||(this.e={});(i[t]||(i[t]=[])).push({ye:e,ke:n});return this},$t:function(t,e,n){var i=this;function listener(){i.Bt(t,listener);e.apply(n,arguments)}listener.Te=e;return this.D(t,listener,n)},Vt:function(t){var e=[].slice.call(arguments,1);var n=((this.e||(this.e={}))[t]||[]).slice();var i=0;var r=n.length;for(i;i0&&arguments[0]!==undefined?arguments[0]:{};this.action=typeof t.action==="function"?t.action:this.qe;this.target=typeof t.target==="function"?t.target:this.je;this.text=typeof t.text==="function"?t.text:this.Le;this.oe=s(t.oe)==="object"?t.oe:document.body}},{key:"listenClick",value:function listenClick(t){var e=this;this.listener=(0,u["default"])(t,"click",function(t){return e.Oe(t)})}},{key:"onClick",value:function onClick(t){var e=t.He||t.currentTarget;if(this.ee){this.ee=null}this.ee=new r["default"]({action:this.action(e),target:this.target(e),text:this.text(e),oe:this.oe,P:e,ue:this})}},{key:"defaultAction",value:function defaultAction(t){return getAttributeValue("action",t)}},{key:"defaultTarget",value:function defaultTarget(t){var e=getAttributeValue("target",t);if(e){return document.querySelector(e)}}},{key:"defaultText",value:function defaultText(t){return getAttributeValue("text",t)}},{key:"destroy",value:function destroy(){this.listener.Ee();if(this.ee){this.ee.Ee();this.ee=null}}}],[{key:"isSupported",value:function isSupported(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:["copy","cut"];var e=typeof t==="string"?[t]:t;var n=!!document.queryCommandSupported;e.forEach(function(t){n=n&&!!document.queryCommandSupported(t)});return n}}]);return Clipboard}(o["default"]);function getAttributeValue(t,e){var n="data-clipboard-"+t;if(!e.hasAttribute(n)){return}return e.getAttribute(n)}t.t=f})},function(t,e){var n=9;if(typeof Element!=="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.Se||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function closest(t,e){while(t&&t.nodeType!==n){if(typeof t.matches==="function"&&t.matches(e)){return t}t=t.parentNode}}t.t=closest},function(t,e,n){var r=n(4);function _delegate(t,e,n,i,r){var o=listener.apply(this,arguments);t.addEventListener(n,o,r);return{Ee:function(){t.removeEventListener(n,o,r)}}}function delegate(t,e,n,i,r){if(typeof t.addEventListener==="function"){return _delegate.apply(null,arguments)}if(typeof n==="function"){return _delegate.bind(null,document).apply(null,arguments)}if(typeof t==="string"){t=document.querySelectorAll(t)}return Array.prototype.map.call(t,function(t){return _delegate(t,e,n,i,r)})}function listener(e,n,t,i){return function(t){t.He=r(t.target,n);if(t.He){i.call(e,t)}}}t.t=delegate},function(t,n){n._e=function(t){return t!==undefined&&t instanceof HTMLElement&&t.nodeType===1};n.ge=function(t){var e=Object.prototype.toString.call(t);return t!==undefined&&(e==="[object NodeList]"||e==="[object HTMLCollection]")&&"length"in t&&(t.length===0||n._e(t[0]))};n.be=function(t){return typeof t==="string"||t instanceof String};n.ye=function(t){var e=Object.prototype.toString.call(t);return e==="[object Function]"}},function(t,e){function select(t){var e;if(t.nodeName==="SELECT"){t.focus();e=t.value}else if(t.nodeName==="INPUT"||t.nodeName==="TEXTAREA"){var n=t.hasAttribute("readonly");if(!n){t.setAttribute("readonly","")}t.select();t.setSelectionRange(0,t.value.length);if(!n){t.removeAttribute("readonly")}e=t.value}else{if(t.hasAttribute("contenteditable")){t.focus()}var i=window.getSelection();var r=document.createRange();r.selectNodeContents(t);i.removeAllRanges();i.addRange(r);e=i.toString()}return e}t.t=select}])})},function(e,n,i){var r;(function(){"use strict";function FastClick(r,t){var e;t=t||{};this.Ae=false;this.De=0;this.targetElement=null;this.Pe=0;this.Ie=0;this.Fe=0;this.Ne=t.Ne||10;this.ze=r;this.$e=t.$e||200;this.Be=t.Be||700;if(FastClick.Ue(r)){return}function bind(t,e){return function(){return t.apply(e,arguments)}}var n=["onMouse","onClick","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel"];var i=this;for(var o=0,u=n.length;o=0;var s=navigator.userAgent.indexOf("Android")>0&&!t;var a=/iP(ad|hone|od)/.test(navigator.userAgent)&&!t;var f=a&&/OS 4_\d(_\d)?/.test(navigator.userAgent);var c=a&&/OS [6-7]_\d/.test(navigator.userAgent);var o=navigator.userAgent.indexOf("BB10")>0;FastClick.prototype.Ze=function(t){switch(t.nodeName.toLowerCase()){case"button":case"select":case"textarea":if(t.disabled){return true}break;case"input":if(a&&t.type==="file"||t.disabled){return true}break;case"label":case"iframe":case"video":return true}return/\bneedsclick\b/.test(t.className)};FastClick.prototype.Ke=function(t){switch(t.nodeName.toLowerCase()){case"textarea":return true;case"select":return!s;case"input":switch(t.type){case"button":case"checkbox":case"file":case"image":case"radio":case"submit":return false}return!t.disabled&&!t.readOnly;default:return/\bneedsfocus\b/.test(t.className)}};FastClick.prototype.tn=function(t,e){var n,i;if(document.activeElement&&document.activeElement!==t){document.activeElement.blur()}i=e.changedTouches[0];n=document.createEvent("MouseEvents");n.initMouseEvent(this.en(t),true,true,window,1,i.screenX,i.screenY,i.clientX,i.clientY,false,false,false,false,0,null);n.nn=true;t.dispatchEvent(n)};FastClick.prototype.en=function(t){if(s&&t.tagName.toLowerCase()==="select"){return"mousedown"}return"click"};FastClick.prototype.focus=function(t){var e;if(a&&t.setSelectionRange&&t.type.indexOf("date")!==0&&t.type!=="time"&&t.type!=="month"){e=t.value.length;t.setSelectionRange(e,e)}else{t.focus()}};FastClick.prototype["in"]=function(t){var e,n;e=t.rn;if(!e||!e.contains(t)){n=t;do{if(n.scrollHeight>n.offsetHeight){e=n;t.rn=n;break}n=n.parentElement}while(n)}if(e){e.on=e.scrollTop}};FastClick.prototype.un=function(t){if(t.nodeType===Node.TEXT_NODE){return t.parentNode}return t};FastClick.prototype.Ge=function(t){var e,n,i;if(t.targetTouches.length>1){return true}e=this.un(t.target);n=t.targetTouches[0];if(a){i=window.getSelection();if(i.rangeCount&&!i.isCollapsed){return true}if(!f){if(n.identifier&&n.identifier===this.Fe){t.preventDefault();return false}this.Fe=n.identifier;this["in"](e)}}this.Ae=true;this.De=t.timeStamp;this.targetElement=e;this.Pe=n.pageX;this.Ie=n.pageY;if(t.timeStamp-this.snn||Math.abs(e.pageY-this.Ie)>n){return true}return false};FastClick.prototype.Qe=function(t){if(!this.Ae){return true}if(this.targetElement!==this.un(t.target)||this.an(t)){this.Ae=false;this.targetElement=null}return true};FastClick.prototype.fn=function(t){if(t.control!==undefined){return t.control}if(t.htmlFor){return document.getElementById(t.htmlFor)}return t.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea")};FastClick.prototype.We=function(t){var e,n,i,r,o,u=this.targetElement;if(!this.Ae){return true}if(t.timeStamp-this.snthis.Be){return true}this.cn=false;this.sn=t.timeStamp;n=this.De;this.Ae=false;this.De=0;if(c){o=t.changedTouches[0];u=document.elementFromPoint(o.pageX-window.pageXOffset,o.pageY-window.pageYOffset)||u;u.rn=this.targetElement.rn}i=u.tagName.toLowerCase();if(i==="label"){e=this.fn(u);if(e){this.focus(u);if(s){return false}u=e}}else if(this.Ke(u)){if(t.timeStamp-n>100||a&&window.top!==window&&i==="input"){this.targetElement=null;return false}this.focus(u);this.tn(u,t);if(!a||i!=="select"){this.targetElement=null;t.preventDefault()}return false}if(a&&!f){r=u.rn;if(r&&r.on!==r.scrollTop){return true}}if(!this.Ze(u)){t.preventDefault();this.tn(u,t)}return false};FastClick.prototype.Je=function(){this.Ae=false;this.targetElement=null};FastClick.prototype.Ve=function(t){if(!this.targetElement){return true}if(t.nn){return true}if(!t.cancelable){return true}if(!this.Ze(this.targetElement)||this.cn){if(t.stopImmediatePropagation){t.stopImmediatePropagation()}else{t.Ye=true}t.stopPropagation();t.preventDefault();return false}return true};FastClick.prototype.Oe=function(t){var e;if(this.Ae){this.targetElement=null;this.Ae=false;return true}if(t.target.type==="submit"&&t.detail===0){return true}e=this.Ve(t);if(!e){this.targetElement=null}return e};FastClick.prototype.Ee=function(){var t=this.ze;if(s){t.removeEventListener("mouseover",this.Ve,true);t.removeEventListener("mousedown",this.Ve,true);t.removeEventListener("mouseup",this.Ve,true)}t.removeEventListener("click",this.Oe,true);t.removeEventListener("touchstart",this.Ge,false);t.removeEventListener("touchmove",this.Qe,false);t.removeEventListener("touchend",this.We,false);t.removeEventListener("touchcancel",this.Je,false)};FastClick.Ue=function(t){var e;var n;var i;var r;if(typeof window.ontouchstart==="undefined"){return true}n=+(/Chrome\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1];if(n){if(s){e=document.querySelector("meta[name=viewport]");if(e){if(e.content.indexOf("user-scalable=no")!==-1){return true}if(n>31&&document.documentElement.scrollWidth<=window.outerWidth){return true}}}else{return true}}if(o){i=navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/);if(i[1]>=10&&i[2]>=3){e=document.querySelector("meta[name=viewport]");if(e){if(e.content.indexOf("user-scalable=no")!==-1){return true}if(document.documentElement.scrollWidth<=window.outerWidth){return true}}}}if(t.style.msTouchAction==="none"||t.style.touchAction==="manipulation"){return true}r=+(/Firefox\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1];if(r>=27){e=document.querySelector("meta[name=viewport]");if(e&&(e.content.indexOf("user-scalable=no")!==-1||document.documentElement.scrollWidth<=window.outerWidth)){return true}}if(t.style.touchAction==="none"||t.style.touchAction==="manipulation"){return true}return false};FastClick.O=function(t,e){return new FastClick(t,e)};if(true){!(r=function(){return FastClick}.call(n,i,n,e),r!==undefined&&(e.t=r))}else if(typeof e!=="undefined"&&e.t){e.t=FastClick.O;e.t.ln=FastClick}else{window.ln=FastClick}})()},function(t,e,n){"use strict";e.v=true;var i=n(21);var r=_interopRequireDefault(i);var o=n(23);var u=_interopRequireDefault(o);var s=n(26);var a=_interopRequireDefault(s);var f=n(30);var c=_interopRequireDefault(f);var l=n(36);var h=_interopRequireDefault(l);var d=n(38);var v=_interopRequireDefault(d);var w=n(44);var m=_interopRequireDefault(w);function _interopRequireDefault(t){return t&&t.v?t:{"default":t}}e["default"]={Event:r["default"],U:u["default"],K:a["default"],it:c["default"],Y:h["default"],at:v["default"],W:m["default"]}},function(t,e,n){"use strict";e.v=true;var i=n(3);var r=_interopRequireDefault(i);var o=n(22);var u=_interopRequireDefault(o);function _interopRequireDefault(t){return t&&t.v?t:{"default":t}}e["default"]={L:r["default"],J:u["default"]}},function(t,e,n){"use strict";e.v=true;var i=n(3);var r=_interopRequireDefault(i);function _interopRequireDefault(t){return t&&t.v?t:{"default":t}}function _classCallCheck(t,e){if(!(t instanceof e)){throw new TypeError("Cannot call a class as a function")}}var o=function o(t,e){_classCallCheck(this,o);this.T=function(t){if(t.matches)e.M();else e.j()};var n=window.matchMedia(t);n.addListener(this.T);this.T(n)};e["default"]=o},function(t,e,n){"use strict";e.v=true;var i=n(24);var r=_interopRequireDefault(i);var o=n(25);var u=_interopRequireDefault(o);function _interopRequireDefault(t){return t&&t.v?t:{"default":t}}e["default"]={B:r["default"],V:u["default"]}},function(t,e,n){"use strict";e.v=true;function _classCallCheck(t,e){if(!(t instanceof e)){throw new TypeError("Cannot call a class as a function")}}var i=function(){function Shadow(t,e){_classCallCheck(this,Shadow);var n=typeof t==="string"?document.querySelector(t):t;if(!(n instanceof HTMLElement)||!(n.parentNode instanceof HTMLElement))throw new ReferenceError;this.hn=n.parentNode;n=typeof e==="string"?document.querySelector(e):e;if(!(n instanceof HTMLElement))throw new ReferenceError;this.dn=n;this.vn=0;this.wn=false}Shadow.prototype.q=function setup(){var t=this.hn;while(t=t.previousElementSibling){if(!(t instanceof HTMLElement))throw new ReferenceError;this.vn+=t.offsetHeight}this.update()};Shadow.prototype.update=function update(t){if(t&&(t.type==="resize"||t.type==="orientationchange")){this.vn=0;this.q()}else{var e=window.pageYOffset>=this.vn;if(e!==this.wn)this.dn.dataset.rt=(this.wn=e)?"shadow":""}};Shadow.prototype.reset=function reset(){this.dn.dataset.rt="";this.vn=0;this.wn=false};return Shadow}();e["default"]=i},function(t,e,n){"use strict";e.v=true;function _classCallCheck(t,e){if(!(t instanceof e)){throw new TypeError("Cannot call a class as a function")}}var i=function(){function Title(t,e){_classCallCheck(this,Title);var n=typeof t==="string"?document.querySelector(t):t;if(!(n instanceof HTMLElement))throw new ReferenceError;this.hn=n;n=typeof e==="string"?document.querySelector(e):e;if(!(n instanceof HTMLHeadingElement))throw new ReferenceError;this.dn=n;this.wn=false}Title.prototype.q=function setup(){var e=this;Array.prototype.forEach.call(this.hn.children,function(t){t.style.width=e.hn.offsetWidth-20+"px"})};Title.prototype.update=function update(t){var e=this;var n=window.pageYOffset>=this.dn.offsetTop;if(n!==this.wn)this.hn.dataset.rt=(this.wn=n)?"active":"";if(t.type==="resize"||t.type==="orientationchange"){Array.prototype.forEach.call(this.hn.children,function(t){t.style.width=e.hn.offsetWidth-20+"px"})}};Title.prototype.reset=function reset(){this.hn.dataset.rt="";this.hn.style.width="";this.wn=false};return Title}();e["default"]=i},function(t,e,n){"use strict";e.v=true;var i=n(27);var r=_interopRequireDefault(i);var o=n(28);var u=_interopRequireDefault(o);var s=n(29);var a=_interopRequireDefault(s);function _interopRequireDefault(t){return t&&t.v?t:{"default":t}}e["default"]={Z:r["default"],tt:u["default"],et:a["default"]}},function(t,e,n){"use strict";e.v=true;function _classCallCheck(t,e){if(!(t instanceof e)){throw new TypeError("Cannot call a class as a function")}}var i=function(){function Blur(t){_classCallCheck(this,Blur);this.k=typeof t==="string"?document.querySelectorAll(t):t;this.mn=0;this.pn=window.pageYOffset;this.bn=false;this.yn=[].reduce.call(this.k,function(t,e){return t.concat(document.getElementById(e.hash.substring(1))||[])},[])}Blur.prototype.q=function setup(){this.update()};Blur.prototype.update=function update(){var t=window.pageYOffset;var e=this.pn-t<0;if(this.bn!==e)this.mn=e?this.mn=0:this.mn=this.k.length-1;if(this.yn.length===0)return;if(this.pn<=t){for(var n=this.mn+1;n0)this.k[n-1].dataset.rt="blur";this.mn=n}else{break}}}else{for(var i=this.mn;i>=0;i--){if(this.yn[i].offsetTop-(56+24)>t){if(i>0)this.k[i-1].dataset.rt=""}else{this.mn=i;break}}}this.pn=t;this.bn=e};Blur.prototype.reset=function reset(){Array.prototype.forEach.call(this.k,function(t){t.dataset.rt=""});this.mn=0;this.pn=window.pageYOffset};return Blur}();e["default"]=i},function(t,e,n){"use strict";e.v=true;function _classCallCheck(t,e){if(!(t instanceof e)){throw new TypeError("Cannot call a class as a function")}}var i=function(){function Collapse(t){_classCallCheck(this,Collapse);var e=typeof t==="string"?document.querySelector(t):t;if(!(e instanceof HTMLElement))throw new ReferenceError;this.hn=e}Collapse.prototype.q=function setup(){var t=this.hn.getBoundingClientRect().height;this.hn.style.display=t?"block":"none";this.hn.style.overflow=t?"visible":"hidden"};Collapse.prototype.update=function update(){var t=this;var n=this.hn.getBoundingClientRect().height;this.hn.style.display="block";this.hn.style.overflow="";if(n){this.hn.style.maxHeight=n+"px";requestAnimationFrame(function(){t.hn.setAttribute("data-md-state","animate");t.hn.style.maxHeight="0px"})}else{this.hn.setAttribute("data-md-state","expand");this.hn.style.maxHeight="";var e=this.hn.getBoundingClientRect().height;this.hn.removeAttribute("data-md-state");this.hn.style.maxHeight="0px";requestAnimationFrame(function(){t.hn.setAttribute("data-md-state","animate");t.hn.style.maxHeight=e+"px"})}var i=function i(t){var e=t.target;if(!(e instanceof HTMLElement))throw new ReferenceError;e.removeAttribute("data-md-state");e.style.maxHeight="";e.style.display=n?"none":"block";e.style.overflow=n?"hidden":"visible";e.removeEventListener("transitionend",i)};this.hn.addEventListener("transitionend",i,false)};Collapse.prototype.reset=function reset(){this.hn.dataset.rt="";this.hn.style.maxHeight="";this.hn.style.display="";this.hn.style.overflow=""};return Collapse}();e["default"]=i},function(t,e,n){"use strict";e.v=true;function _classCallCheck(t,e){if(!(t instanceof e)){throw new TypeError("Cannot call a class as a function")}}var i=function(){function Scrolling(t){_classCallCheck(this,Scrolling);var e=typeof t==="string"?document.querySelector(t):t;if(!(e instanceof HTMLElement))throw new ReferenceError;this.hn=e}Scrolling.prototype.q=function setup(){var t=this.hn.children[this.hn.children.length-1];t.style._n="touch";var e=this.hn.querySelectorAll("[data-md-toggle]");Array.prototype.forEach.call(e,function(t){if(!(t instanceof HTMLInputElement))throw new ReferenceError;if(t.checked){var e=t.nextElementSibling;if(!(e instanceof HTMLElement))throw new ReferenceError;while(e.tagName!=="NAV"&&e.nextElementSibling){e=e.nextElementSibling}if(!(t.parentNode instanceof HTMLElement)||!(t.parentNode.parentNode instanceof HTMLElement))throw new ReferenceError;var n=t.parentNode.parentNode;var i=e.children[e.children.length-1];n.style._n="";i.style._n="touch"}})};Scrolling.prototype.update=function update(t){var e=t.target;if(!(e instanceof HTMLElement))throw new ReferenceError;var n=e.nextElementSibling;if(!(n instanceof HTMLElement))throw new ReferenceError;while(n.tagName!=="NAV"&&n.nextElementSibling){n=n.nextElementSibling}if(!(e.parentNode instanceof HTMLElement)||!(e.parentNode.parentNode instanceof HTMLElement))throw new ReferenceError;var i=e.parentNode.parentNode;var r=n.children[n.children.length-1];i.style._n="";r.style._n="";if(!e.checked){var o=function o(){if(n instanceof HTMLElement){i.style._n="touch";n.removeEventListener("transitionend",o)}};n.addEventListener("transitionend",o,false)}if(e.checked){var u=function u(){if(n instanceof HTMLElement){r.style._n="touch";n.removeEventListener("transitionend",u)}};n.addEventListener("transitionend",u,false)}};Scrolling.prototype.reset=function reset(){this.hn.children[1].style._n="";var t=this.hn.querySelectorAll("[data-md-toggle]");Array.prototype.forEach.call(t,function(t){if(!(t instanceof HTMLInputElement))throw new ReferenceError;if(t.checked){var e=t.nextElementSibling;if(!(e instanceof HTMLElement))throw new ReferenceError;while(e.tagName!=="NAV"&&e.nextElementSibling){e=e.nextElementSibling}if(!(t.parentNode instanceof HTMLElement)||!(t.parentNode.parentNode instanceof HTMLElement))throw new ReferenceError;var n=t.parentNode.parentNode;var i=e.children[e.children.length-1];n.style._n="";i.style._n=""}})};return Scrolling}();e["default"]=i},function(t,e,n){"use strict";e.v=true;var i=n(31);var r=_interopRequireDefault(i);var o=n(32);var u=_interopRequireDefault(o);function _interopRequireDefault(t){return t&&t.v?t:{"default":t}}e["default"]={nt:r["default"],gn:u["default"]}},function(t,e,n){"use strict";e.v=true;function _classCallCheck(t,e){if(!(t instanceof e)){throw new TypeError("Cannot call a class as a function")}}var i=function(){function Lock(t){_classCallCheck(this,Lock);var e=typeof t==="string"?document.querySelector(t):t;if(!(e instanceof HTMLInputElement))throw new ReferenceError;this.hn=e;if(!document.body)throw new ReferenceError;this.En=document.body}Lock.prototype.q=function setup(){this.update()};Lock.prototype.update=function update(){var t=this;if(this.hn.checked){this.pn=window.pageYOffset;setTimeout(function(){window.scrollTo(0,0);if(t.hn.checked){t.En.dataset.rt="lock"}},400)}else{this.En.dataset.rt="";setTimeout(function(){if(typeof t.pn!=="undefined")window.scrollTo(0,t.pn)},100)}};Lock.prototype.reset=function reset(){if(this.En.dataset.rt==="lock")window.scrollTo(0,this.pn);this.En.dataset.rt=""};return Lock}();e["default"]=i},function(t,i,r){"use strict";(function(c){i.v=true;var t=r(33);var l=_interopRequireDefault(t);var e=r(34);var h=_interopRequireDefault(e);function _interopRequireDefault(t){return t&&t.v?t:{"default":t}}function _classCallCheck(t,e){if(!(t instanceof e)){throw new TypeError("Cannot call a class as a function")}}var d=function d(t,e){var n=e;if(t.length>n){while(t[n]!==" "&&--n>0){}return t.substring(0,n)+"..."}return t};var v=function v(t){var e=document.getElementsByName("lang:"+t)[0];if(!(e instanceof HTMLMetaElement))throw new ReferenceError;return e.content};var n=function(){function Result(t,e){_classCallCheck(this,Result);var n=typeof t==="string"?document.querySelector(t):t;if(!(n instanceof HTMLElement))throw new ReferenceError;this.hn=n;var i=Array.prototype.slice.call(this.hn.children),r=i[0],o=i[1];this.kn=e;this.Tn=r;this.Cn=o;this.Rn={placeholder:this.Tn.textContent,xn:v("search.result.none"),Mn:v("search.result.one"),qn:v("search.result.other")};var u=v("search.tokenizer");if(u.length)h["default"].jn.separator=u;this.Ln=v("search.language").split(",").filter(Boolean).map(function(t){return t.trim()})}Result.prototype.update=function update(t){var u=this;if(t.type==="focus"&&!this.mn){var e=function e(t){u.On=t.reduce(function(t,e){var n=e.location.split("#"),i=n[0],r=n[1];if(r){e.parent=t.get(i);if(e.parent&&!e.parent.done){e.parent.title=e.title;e.parent.text=e.text;e.parent.done=true}}e.text=e.text.replace(/\n/g," ").replace(/\s+/g," ").replace(/\s+([,.:;!?])/g,function(t,e){return e});if(!e.parent||e.parent.title!==e.title)t.set(e.location,e);return t},new Map);var r=u.On,o=u.Ln;u.Hn=[];u.mn=(0,h["default"])(function(){var t,e=this;var n={Sn:h["default"].An,Dn:h["default"].Pn};var i=Object.keys(n).reduce(function(t,e){if(!v(e).match(/^false$/i))t.push(n[e]);return t},[]);this.In.reset();if(i)(t=this.In).add.apply(t,i);if(o.length===1&&o[0]!=="en"&&h["default"][o[0]]){this.Fn(h["default"][o[0]])}else if(o.length>1){this.Fn(h["default"].Nn.apply(h["default"],o))}this.zn("title",{$n:10});this.zn("text");this.Tt("location");r.forEach(function(t){return e.add(t)})});var e=u.hn.parentNode;if(!(e instanceof HTMLElement))throw new ReferenceError;e.addEventListener("scroll",function(){while(u.Hn.length&&e.scrollTop+e.offsetHeight>=e.scrollHeight-16){u.Hn.splice(0,10).forEach(function(t){return t()})}})};setTimeout(function(){return typeof u.kn==="function"?u.kn().then(e):e(u.kn)},250)}else if(t.type==="focus"||t.type==="keyup"){var n=t.target;if(!(n instanceof HTMLInputElement))throw new ReferenceError;if(!this.mn||n.value===this.Bn)return;while(this.Cn.firstChild){this.Cn.removeChild(this.Cn.firstChild)}this.Bn=n.value;if(this.Bn.length===0){this.Tn.textContent=this.Rn.placeholder;return}var i=this.mn.Un(function(e){u.Bn.toLowerCase().split(" ").filter(Boolean).forEach(function(t){e.Vn(t,{Gn:h["default"].Wn.Gn.Qn})})}).reduce(function(t,e){var n=u.On.get(e.Tt);if(n.parent){var i=n.parent.location;t.set(i,(t.get(i)||[]).concat(e))}else{var r=n.location;t.set(r,t.get(r)||[])}return t},new Map);var r=(0,l["default"])(this.Bn.trim()).replace(new RegExp(h["default"].jn.separator,"img"),"|");var s=new RegExp("(^|"+h["default"].jn.separator+")("+r+")","img");var a=function a(t,e,n){return e+""+n+""};this.Hn=[];i.forEach(function(t,e){var n;var i=u.On.get(e);var r=c.createElement("li",{S:"md-search-result__item"},c.createElement("a",{href:i.location,title:i.title,S:"md-search-result__link",Jn:"-1"},c.createElement("article",{S:"md-search-result__article md-search-result__article--document"},c.createElement("h1",{S:"md-search-result__title"},{_:i.title.replace(s,a)}),i.text.length?c.createElement("p",{S:"md-search-result__teaser"},{_:i.text.replace(s,a)}):{})));var o=t.map(function(e){return function(){var t=u.On.get(e.Tt);r.appendChild(c.createElement("a",{href:t.location,title:t.title,S:"md-search-result__link",Xn:"anchor",Jn:"-1"},c.createElement("article",{S:"md-search-result__article"},c.createElement("h1",{S:"md-search-result__title"},{_:t.title.replace(s,a)}),t.text.length?c.createElement("p",{S:"md-search-result__teaser"},{_:d(t.text.replace(s,a),400)}):{})))}});(n=u.Hn).push.apply(n,[function(){return u.Cn.appendChild(r)}].concat(o))});var o=this.hn.parentNode;if(!(o instanceof HTMLElement))throw new ReferenceError;while(this.Hn.length&&o.offsetHeight>=o.scrollHeight-16){this.Hn.shift()()}var f=this.Cn.querySelectorAll("[data-md-rel=anchor]");Array.prototype.forEach.call(f,function(i){["click","keydown"].forEach(function(n){i.addEventListener(n,function(t){if(n==="keydown"&&t.keyCode!==13)return;var e=document.querySelector("[data-md-toggle=search]");if(!(e instanceof HTMLInputElement))throw new ReferenceError;if(e.checked){e.checked=false;e.dispatchEvent(new CustomEvent("change"))}t.preventDefault();setTimeout(function(){document.location.href=i.href},100)})})});switch(i.size){case 0:this.Tn.textContent=this.Rn.xn;break;case 1:this.Tn.textContent=this.Rn.Mn;break;default:this.Tn.textContent=this.Rn.qn.replace("#",i.size)}}};return Result}();i["default"]=n}).call(i,r(0))},function(t,e,n){"use strict";var i=/[|\\{}()[\]^$+*?.]/g;t.t=function(t){if(typeof t!=="string"){throw new TypeError("Expected a string")}return t.replace(i,"\\$&")}},function(e,t,n){(function(t){e.t=t["Yn"]=n(35)}).call(t,n(1))},function(n,i,r){var o,u;(function(){var A=function(t){var e=new A.Zn;e.In.add(A.An,A.Pn,A.Kn);e.ti.add(A.Kn);t.call(e,e);return e.ei()};A.version="2.1.5";A.ni={};A.ni.warn=function(e){return function(t){if(e.console&&console.warn){console.warn(t)}}}(this);A.ni.ii=function(t){if(t===void 0||t===null){return""}else{return t.toString()}};A.ri=function(t,e,n){this.oi=t;this.ui=e;this.si=n};A.ri.ai="/";A.ri.fi=function(t){var e=t.indexOf(A.ri.ai);if(e===-1){throw"malformed field ref string"}var n=t.slice(0,e),i=t.slice(e+1);return new A.ri(i,n,t)};A.ri.prototype.toString=function(){if(this.si==undefined){this.si=this.ui+A.ri.ai+this.oi}return this.si};A.ci=function(t,e){var n=0;for(var i in t){if(i=="_index")continue;n+=Object.keys(t[i]).length}var r=(e-n+.5)/(n+.5);return Math.log(1+Math.abs(r))};A.li=function(t,e){this.hi=t||"";this.di=e||{}};A.li.prototype.toString=function(){return this.hi};A.li.prototype.update=function(t){this.hi=t(this.hi,this.di);return this};A.li.prototype.clone=function(t){t=t||function(t){return t};return new A.li(t(this.hi,this.di),this.di)};A.jn=function(t){if(t==null||t==undefined){return[]}if(Array.isArray(t)){return t.map(function(t){return new A.li(A.ni.ii(t).toLowerCase())})}var e=t.toString().trim().toLowerCase(),n=e.length,i=[];for(var r=0,o=0;r<=n;r++){var u=e.charAt(r),s=r-o;if(u.match(A.jn.separator)||r==n){if(s>0){i.push(new A.li(e.slice(o,r),{position:[o,s],index:i.length}))}o=r+1}}return i};A.jn.separator=/[\s\-]+/;A.vi=function(){this.wi=[]};A.vi.mi=Object.create(null);A.vi.pi=function(t,e){if(e in this.mi){A.ni.warn("Overwriting existing registered function: "+e)}t.label=e;A.vi.mi[t.label]=t};A.vi.bi=function(t){var e=t.label&&t.label in this.mi;if(!e){A.ni.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)}};A.vi.load=function(t){var n=new A.vi;t.forEach(function(t){var e=A.vi.mi[t];if(e){n.add(e)}else{throw new Error("Cannot load unregistered function: "+t)}});return n};A.vi.prototype.add=function(){var t=Array.prototype.slice.call(arguments);t.forEach(function(t){A.vi.bi(t);this.wi.push(t)},this)};A.vi.prototype.yi=function(t,e){A.vi.bi(e);var n=this.wi.indexOf(t);if(n==-1){throw new Error("Cannot find existingFn")}n=n+1;this.wi.splice(n,0,e)};A.vi.prototype._i=function(t,e){A.vi.bi(e);var n=this.wi.indexOf(t);if(n==-1){throw new Error("Cannot find existingFn")}this.wi.splice(n,0,e)};A.vi.prototype.remove=function(t){var e=this.wi.indexOf(t);if(e==-1){return}this.wi.splice(e,1)};A.vi.prototype.At=function(r){var t=this.wi.length;for(var e=0;e1){if(ot){n=r}if(o==t){break}i=n-e;r=e+Math.floor(i/2);o=this.elements[r*2]}if(o==t){return r*2}if(o>t){return r*2}if(os){f+=2}else if(u==s){e+=n[a+1]*i[f+1];a+=2;f+=2}}return e};A.Ei.prototype.qi=function(t){return this.Mi(t)/(this.xi()*t.xi())};A.Ei.prototype.toArray=function(){var t=new Array(this.elements.length/2);for(var e=1,n=0;e0){var o=r.hi.charAt(0),u;if(o in r._e.sr){u=r._e.sr[o]}else{u=new A.or;r._e.sr[o]=u}if(r.hi.length==1){u.ur=true}else{i.push({_e:u,vr:r.vr,hi:r.hi.slice(1)})}}if(r.vr>0&&r.hi.length>1){var o=r.hi.charAt(1),s;if(o in r._e.sr){s=r._e.sr[o]}else{s=new A.or;r._e.sr[o]=s}if(r.hi.length<=2){s.ur=true}else{i.push({_e:s,vr:r.vr-1,hi:r.hi.slice(2)})}}if(r.vr>0&&r.hi.length==1){r._e.ur=true}if(r.vr>0&&r.hi.length>=1){if("*"in r._e.sr){var a=r._e.sr["wr"]}else{var a=new A.or;r._e.sr["wr"]=a}if(r.hi.length==1){a.ur=true}else{i.push({_e:a,vr:r.vr-1,hi:r.hi.slice(1)})}}if(r.vr>0){if("*"in r._e.sr){var f=r._e.sr["wr"]}else{var f=new A.or;r._e.sr["wr"]=f}if(r.hi.length==0){f.ur=true}else{i.push({_e:f,vr:r.vr-1,hi:r.hi})}}if(r.vr>0&&r.hi.length>1){var c=r.hi.charAt(0),l=r.hi.charAt(1),h;if(l in r._e.sr){h=r._e.sr[l]}else{h=new A.or;r._e.sr[l]=h}if(r.hi.length==1){h.ur=true}else{i.push({_e:h,vr:r.vr-1,hi:c+r.hi.slice(2)})}}}return n};A.or.fi=function(t){var e=new A.or,n=e,i=false;for(var r=0,o=t.length;r=t;e--){var n=this.gr[e],i=n.Tr.toString();if(i in this.Er){n.parent.sr[n["char"]]=this.Er[i]}else{n.Tr.mr=i;this.Er[i]=n.Tr}this.gr.pop()}};A.Cr=function(t){this.Rr=t.Rr;this.xr=t.xr;this.Mr=t.Mr;this.qr=t.qr;this.In=t.In};A.Cr.prototype.search=function(n){return this.Un(function(t){var e=new A.jr(n,t);e.parse()})};A.Cr.prototype.Un=function(t){var e=new A.Wn(this.qr),n=Object.create(null),i=Object.create(null),r=Object.create(null);t.call(e,e);for(var o=0;o1){this.Br=1}else{this.Br=t}};A.Zn.prototype.k1=function(t){this.Ur=t};A.Zn.prototype.add=function(t){var e=t[this.Ir];this.$r+=1;for(var n=0;n=this.length){return A.eo.ao}var t=this.hi.charAt(this.io);this.io+=1;return t};A.eo.prototype.width=function(){return this.io-this.start};A.eo.prototype.fo=function(){if(this.start==this.io){this.io+=1}this.start=this.io};A.eo.prototype.co=function(){this.io-=1};A.eo.prototype.lo=function(){var t,e;do{t=this.next();e=t.charCodeAt(0)}while(e>47&&e<58);if(t!=A.eo.ao){this.co()}};A.eo.prototype.ho=function(){return this.io1){t.co();t.Vt(A.eo.vo)}t.fo();if(t.ho()){return A.eo.oo}};A.eo.yo=function(t){t.fo();t.lo();t.Vt(A.eo.wo);return A.eo.oo};A.eo._o=function(t){t.fo();t.lo();t.Vt(A.eo.mo);return A.eo.oo};A.eo.Eo=function(t){if(t.width()>0){t.Vt(A.eo.vo)}};A.eo.ko=A.jn.separator;A.eo.oo=function(t){while(true){var e=t.next();if(e==A.eo.ao){return A.eo.Eo}if(e.charCodeAt(0)==92){t.so();continue}if(e==":"){return A.eo.po}if(e=="~"){t.co();if(t.width()>0){t.Vt(A.eo.vo)}return A.eo.yo}if(e=="^"){t.co();if(t.width()>0){t.Vt(A.eo.vo)}return A.eo._o}if(e.match(A.eo.ko)){return A.eo.bo}}};A.jr=function(t,e){this.To=new A.eo(t);this.Un=e;this.Co={};this.Ro=0};A.jr.prototype.parse=function(){this.To.At();this.no=this.To.no;var t=A.jr.xo;while(t){t=t(this)}return this.Un};A.jr.prototype.Mo=function(){return this.no[this.Ro]};A.jr.prototype.qo=function(){var t=this.Mo();this.Ro+=1;return t};A.jr.prototype.jo=function(){var t=this.Co;this.Un.Kr(t);this.Co={}};A.jr.xo=function(t){var e=t.Mo();if(e==undefined){return}switch(e.type){case A.eo["do"]:return A.jr.Lo;case A.eo.vo:return A.jr.Oo;default:var n="expected either a field or a term, found "+e.type;if(e.hi.length>=1){n+=" with value '"+e.hi+"'"}throw new A.to(n,e.start,e.end)}};A.jr.Lo=function(t){var e=t.qo();if(e==undefined){return}if(t.Un.Yr.indexOf(e.hi)==-1){var n=t.Un.Yr.map(function(t){return"'"+t+"'"}).join(", "),i="unrecognised field '"+e.hi+"', possible fields: "+n;throw new A.to(i,e.start,e.end)}t.Co.qr=[e.hi];var r=t.Mo();if(r==undefined){var i="expecting term, found nothing";throw new A.to(i,e.start,e.end)}switch(r.type){case A.eo.vo:return A.jr.Oo;default:var i="expecting term, found '"+r.type+"'";throw new A.to(i,r.start,r.end)}};A.jr.Oo=function(t){var e=t.qo();if(e==undefined){return}t.Co.Vn=e.hi.toLowerCase();if(e.hi.indexOf("*")!=-1){t.Co.Or=false}var n=t.Mo();if(n==undefined){t.jo();return}switch(n.type){case A.eo.vo:t.jo();return A.jr.Oo;case A.eo["do"]:t.jo();return A.jr.Lo;case A.eo.wo:return A.jr.Ho;case A.eo.mo:return A.jr.So;default:var i="Unexpected lexeme type '"+n.type+"'";throw new A.to(i,n.start,n.end)}};A.jr.Ho=function(t){var e=t.qo();if(e==undefined){return}var n=parseInt(e.hi,10);if(isNaN(n)){var i="edit distance must be numeric";throw new A.to(i,e.start,e.end)}t.Co.dr=n;var r=t.Mo();if(r==undefined){t.jo();return}switch(r.type){case A.eo.vo:t.jo();return A.jr.Oo;case A.eo["do"]:t.jo();return A.jr.Lo;case A.eo.wo:return A.jr.Ho;case A.eo.mo:return A.jr.So;default:var i="Unexpected lexeme type '"+r.type+"'";throw new A.to(i,r.start,r.end)}};A.jr.So=function(t){var e=t.qo();if(e==undefined){return}var n=parseInt(e.hi,10);if(isNaN(n)){var i="boost must be numeric";throw new A.to(i,e.start,e.end)}t.Co.$n=n;var r=t.Mo();if(r==undefined){t.jo();return}switch(r.type){case A.eo.vo:t.jo();return A.jr.Oo;case A.eo["do"]:t.jo();return A.jr.Lo;case A.eo.wo:return A.jr.Ho;case A.eo.mo:return A.jr.So;default:var i="Unexpected lexeme type '"+r.type+"'";throw new A.to(i,r.start,r.end)}};(function(t,e){if(true){!(o=e,u=typeof o==="function"?o.call(i,r,i,n):o,u!==undefined&&(n.t=u))}else if(typeof i==="object"){n.t=e()}else{t.Yn=e()}})(this,function(){return A})})()},function(t,e,n){"use strict";e.v=true;var i=n(37);var r=_interopRequireDefault(i);function _interopRequireDefault(t){return t&&t.v?t:{"default":t}}e["default"]={X:r["default"]}},function(t,e,n){"use strict";e.v=true;function _classCallCheck(t,e){if(!(t instanceof e)){throw new TypeError("Cannot call a class as a function")}}var i=function(){function Position(t,e){_classCallCheck(this,Position);var n=typeof t==="string"?document.querySelector(t):t;if(!(n instanceof HTMLElement)||!(n.parentNode instanceof HTMLElement))throw new ReferenceError;this.hn=n;this.Ao=n.parentNode;n=typeof e==="string"?document.querySelector(e):e;if(!(n instanceof HTMLElement))throw new ReferenceError;this.dn=n;this.vn=0;this.Do=window.getComputedStyle(this.dn).position==="fixed"}Position.prototype.q=function setup(){var t=Array.prototype.reduce.call(this.Ao.children,function(t,e){return Math.max(t,e.offsetTop)},0);this.pn=t-(this.Do?this.dn.offsetHeight:0);this.update()};Position.prototype.update=function update(t){var e=window.pageYOffset;var n=window.innerHeight;if(t&&t.type==="resize")this.q();var i={top:this.Do?this.dn.offsetHeight:0,bottom:this.Ao.offsetTop+this.Ao.offsetHeight};var r=n-i.top-Math.max(0,this.pn-e)-Math.max(0,e+n-i.bottom);if(r!==this.vn)this.hn.style.height=(this.vn=r)+"px";if(e>=this.pn){if(this.hn.dataset.rt!=="lock")this.hn.dataset.rt="lock"}else if(this.hn.dataset.rt==="lock"){this.hn.dataset.rt=""}};Position.prototype.reset=function reset(){this.hn.dataset.rt="";this.hn.style.height="";this.vn=0};return Position}();e["default"]=i},function(t,e,n){"use strict";e.v=true;var i=n(39);var r=_interopRequireDefault(i);var o=n(43);var u=_interopRequireDefault(o);function _interopRequireDefault(t){return t&&t.v?t:{"default":t}}e["default"]={st:r["default"],ft:u["default"]}},function(t,e,n){"use strict";e.v=true;var i=n(40);var r=_interopRequireDefault(i);function _interopRequireDefault(t){return t&&t.v?t:{"default":t}}e["default"]={ut:r["default"]}},function(t,e,n){"use strict";e.v=true;var i=n(41);var r=_interopRequireDefault(i);function _interopRequireDefault(t){return t&&t.v?t:{"default":t}}function _classCallCheck(t,e){if(!(t instanceof e)){throw new TypeError("Cannot call a class as a function")}}function _possibleConstructorReturn(t,e){if(!t){throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}return e&&(typeof e==="object"||typeof e==="function")?e:t}function _inherits(t,e){if(typeof e!=="function"&&e!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof e)}t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,h:false,ne:true,l:true}});if(e)Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e}var o=function(o){_inherits(GitHub,o);function GitHub(t){_classCallCheck(this,GitHub);var e=_possibleConstructorReturn(this,o.call(this,t));var n=/^.+github\.com\/([^/]+)\/?([^/]+)?.*$/.exec(e.Po);if(n&&n.length===3){var i=n[1],r=n[2];e.Po="https://api.github.com/users/"+i+"/repos";e.Io=r}return e}GitHub.prototype.Fo=function fetch_(){var i=this;var r=function r(){var n=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;return fetch(i.Po+"?per_page=30&page="+n).then(function(t){return t.json()}).then(function(t){if(!(t instanceof Array))throw new TypeError;if(i.Io){var e=t.find(function(t){return t.name===i.Io});if(!e&&t.length===30)return r(n+1);return e?[i.No(e.zo)+" Stars",i.No(e.$o)+" Forks"]:[]}else{return[t.length+" Repositories"]}})};return r()};return GitHub}(r["default"]);e["default"]=o},function(t,e,n){"use strict";e.v=true;var i=n(42);var r=_interopRequireDefault(i);function _interopRequireDefault(t){return t&&t.v?t:{"default":t}}function _classCallCheck(t,e){if(!(t instanceof e)){throw new TypeError("Cannot call a class as a function")}}var o=function(){function Abstract(t){_classCallCheck(this,Abstract);var e=typeof t==="string"?document.querySelector(t):t;if(!(e instanceof HTMLAnchorElement))throw new ReferenceError;this.hn=e;this.Po=this.hn.href;this.Bo=this.Uo(this.Po)}Abstract.prototype.fetch=function fetch(){var n=this;return new Promise(function(e){var t=r["default"].Vo(n.Bo+".cache-source");if(typeof t!=="undefined"){e(t)}else{n.Fo().then(function(t){r["default"].set(n.Bo+".cache-source",t,{Go:1/96});e(t)})}})};Abstract.prototype.Fo=function fetch_(){throw new Error("fetch_(): Not implemented")};Abstract.prototype.No=function format_(t){if(t>1e4)return(t/1e3).toFixed(0)+"k";else if(t>1e3)return(t/1e3).toFixed(1)+"k";return""+t};Abstract.prototype.Uo=function hash_(t){var e=0;if(t.length===0)return e;for(var n=0,i=t.length;n1){n=extend({path:"/"},api.Jo,n);if(typeof n.Go==="number"){var r=new Date;r.setMilliseconds(r.getMilliseconds()+n.Go*864e5);n.Go=r}n.Go=n.Go?n.Go.toUTCString():"";try{i=JSON.stringify(e);if(/^[\{\[]/.test(i)){e=i}}catch(d){}if(!v.write){e=encodeURIComponent(String(e)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent)}else{e=v.write(e,t)}t=encodeURIComponent(String(t));t=t.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent);t=t.replace(/[\(\)]/g,escape);var o="";for(var u in n){if(!n[u]){continue}o+="; "+u;if(n[u]===true){continue}o+="="+n[u]}return document.cookie=t+"="+e+o}if(!t){i={}}var s=document.cookie?document.cookie.split("; "):[];var a=/(%[0-9A-Z]{2})+/g;var f=0;for(;f=this.hn.children[0].offsetTop+(5-48);if(t!==this.wn)this.hn.dataset.rt=(this.wn=t)?"hidden":""};Toggle.prototype.reset=function reset(){this.hn.dataset.rt="";this.wn=false};return Toggle}();e["default"]=i}])); \ No newline at end of file diff --git a/src/assets/js/components/Selector.vue b/src/assets/js/components/Selector.vue deleted file mode 100644 index ee0bfcc47..000000000 --- a/src/assets/js/components/Selector.vue +++ /dev/null @@ -1,114 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/assets/js/drawer.js b/src/assets/js/drawer.js deleted file mode 100644 index 07741e84b..000000000 --- a/src/assets/js/drawer.js +++ /dev/null @@ -1,15 +0,0 @@ -document.addEventListener("DOMContentLoaded", function() { - - // Add overlay and fix scroll bug when - // drawer is open - document.querySelector('#drawer').addEventListener('change',function() { - document.querySelector('body').classList.toggle('noscroll'); - document.querySelector('.overlay').classList.toggle('hidden'); - }); - - // Close drawer when click on overlay - document.querySelector('.overlay').addEventListener('click',function() { - document.querySelector('.md-nav__title').click(); - }); - -}); \ No newline at end of file diff --git a/src/assets/js/main.js b/src/assets/js/main.js deleted file mode 100644 index 241ca9668..000000000 --- a/src/assets/js/main.js +++ /dev/null @@ -1,31 +0,0 @@ -require('./app.js'); -require('./algolia-search.js'); -require('./drawer.js'); -require('./scrollTo.js'); - -document.addEventListener("DOMContentLoaded", function(){ - const - prism = require('./prism.js'), - Vue = require('vue/dist/vue.common'), - Selector = require('./components/Selector.vue').default, - elements = document.getElementsByClassName('selector-container'); - - app.initialize({ - version: "1", - url: { - base: "/" - } - }); - - prism.highlightAll(); - - for (const element of Object.values(elements)) { - new Vue({ - delimiters: ['${', '}'], - el: element, - components: { - 'Selector': Selector - } - }); - } -}); diff --git a/src/assets/js/prism.js b/src/assets/js/prism.js deleted file mode 100644 index a7a2540b6..000000000 --- a/src/assets/js/prism.js +++ /dev/null @@ -1,1387 +0,0 @@ -/* PrismJS 1.15.0 -https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+c+csharp+bash+cpp+ruby+markup-templating+go+java+json+objectivec+perl+php+python+rust+swift+yaml&plugins=line-highlight+line-numbers+highlight-keywords */ -var _self = - 'undefined' != typeof window - ? window - : 'undefined' != typeof WorkerGlobalScope && - self instanceof WorkerGlobalScope - ? self - : {}, - Prism = (function() { - var e = /\blang(?:uage)?-([\w-]+)\b/i, - t = 0, - n = (_self.Prism = { - manual: _self.Prism && _self.Prism.manual, - disableWorkerMessageHandler: - _self.Prism && _self.Prism.disableWorkerMessageHandler, - util: { - encode: function(e) { - return e instanceof r - ? new r(e.type, n.util.encode(e.content), e.alias) - : 'Array' === n.util.type(e) - ? e.map(n.util.encode) - : e - .replace(/&/g, '&') - .replace(/ e.length) return; - if (!(w instanceof s)) { - if (m && b != t.length - 1) { - h.lastIndex = k; - var _ = h.exec(e); - if (!_) break; - for ( - var j = _.index + (d ? _[1].length : 0), - P = _.index + _[0].length, - A = b, - x = k, - O = t.length; - O > A && (P > x || (!t[A].type && !t[A - 1].greedy)); - ++A - ) - (x += t[A].length), j >= x && (++b, (k = x)); - if (t[b] instanceof s) continue; - (I = A - b), (w = e.slice(k, x)), (_.index -= k); - } else { - h.lastIndex = 0; - var _ = h.exec(w), - I = 1; - } - if (_) { - d && (p = _[1] ? _[1].length : 0); - var j = _.index + p, - _ = _[0].slice(p), - P = j + _.length, - N = w.slice(0, j), - S = w.slice(P), - C = [b, I]; - N && (++b, (k += N.length), C.push(N)); - var E = new s(u, f ? n.tokenize(_, f) : _, y, _, m); - if ( - (C.push(E), - S && C.push(S), - Array.prototype.splice.apply(t, C), - 1 != I && n.matchGrammar(e, t, r, b, k, !0, u), - i) - ) - break; - } else if (i) break; - } - } - } - } - }, - tokenize: function(e, t) { - var r = [e], - a = t.rest; - if (a) { - for (var l in a) t[l] = a[l]; - delete t.rest; - } - return n.matchGrammar(e, r, t, 0, 0, !1), r; - }, - hooks: { - all: {}, - add: function(e, t) { - var r = n.hooks.all; - (r[e] = r[e] || []), r[e].push(t); - }, - run: function(e, t) { - var r = n.hooks.all[e]; - if (r && r.length) for (var a, l = 0; (a = r[l++]); ) a(t); - } - } - }), - r = (n.Token = function(e, t, n, r, a) { - (this.type = e), - (this.content = t), - (this.alias = n), - (this.length = 0 | (r || '').length), - (this.greedy = !!a); - }); - if ( - ((r.stringify = function(e, t, a) { - if ('string' == typeof e) return e; - if ('Array' === n.util.type(e)) - return e - .map(function(n) { - return r.stringify(n, t, e); - }) - .join(''); - var l = { - type: e.type, - content: r.stringify(e.content, t, a), - tag: 'span', - classes: ['token', e.type], - attributes: {}, - language: t, - parent: a - }; - if (e.alias) { - var i = 'Array' === n.util.type(e.alias) ? e.alias : [e.alias]; - Array.prototype.push.apply(l.classes, i); - } - n.hooks.run('wrap', l); - var o = Object.keys(l.attributes) - .map(function(e) { - return ( - e + '="' + (l.attributes[e] || '').replace(/"/g, '"') + '"' - ); - }) - .join(' '); - return ( - '<' + - l.tag + - ' class="' + - l.classes.join(' ') + - '"' + - (o ? ' ' + o : '') + - '>' + - l.content + - '' - ); - }), - !_self.document) - ) - return _self.addEventListener - ? (n.disableWorkerMessageHandler || - _self.addEventListener( - 'message', - function(e) { - var t = JSON.parse(e.data), - r = t.language, - a = t.code, - l = t.immediateClose; - _self.postMessage(n.highlight(a, n.languages[r], r)), - l && _self.close(); - }, - !1 - ), - _self.Prism) - : _self.Prism; - var a = - document.currentScript || - [].slice.call(document.getElementsByTagName('script')).pop(); - return ( - a && - ((n.filename = a.src), - n.manual || - a.hasAttribute('data-manual') || - ('loading' !== document.readyState - ? window.requestAnimationFrame - ? window.requestAnimationFrame(n.highlightAll) - : window.setTimeout(n.highlightAll, 16) - : document.addEventListener('DOMContentLoaded', n.highlightAll))), - _self.Prism - ); - })(); -'undefined' != typeof module && module.exports && (module.exports = Prism), - 'undefined' != typeof global && (global.Prism = Prism); -(Prism.languages.markup = { - comment: //, - prolog: /<\?[\s\S]+?\?>/, - doctype: //i, - cdata: //i, - tag: { - pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i, - greedy: !0, - inside: { - tag: { - pattern: /^<\/?[^\s>\/]+/i, - inside: { punctuation: /^<\/?/, namespace: /^[^\s>\/:]+:/ } - }, - 'attr-value': { - pattern: /=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/i, - inside: { - punctuation: [/^=/, { pattern: /(^|[^\\])["']/, lookbehind: !0 }] - } - }, - punctuation: /\/?>/, - 'attr-name': { - pattern: /[^\s>\/]+/, - inside: { namespace: /^[^\s>\/:]+:/ } - } - } - }, - entity: /&#?[\da-z]{1,8};/i -}), - (Prism.languages.markup.tag.inside['attr-value'].inside.entity = - Prism.languages.markup.entity), - Prism.hooks.add('wrap', function(a) { - 'entity' === a.type && - (a.attributes.title = a.content.replace(/&/, '&')); - }), - (Prism.languages.xml = Prism.languages.markup), - (Prism.languages.html = Prism.languages.markup), - (Prism.languages.mathml = Prism.languages.markup), - (Prism.languages.svg = Prism.languages.markup); -(Prism.languages.css = { - comment: /\/\*[\s\S]*?\*\//, - atrule: { - pattern: /@[\w-]+?.*?(?:;|(?=\s*\{))/i, - inside: { rule: /@[\w-]+/ } - }, - url: /url\((?:(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|.*?)\)/i, - selector: /[^{}\s][^{};]*?(?=\s*\{)/, - string: { - pattern: /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, - greedy: !0 - }, - property: /[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i, - important: /\B!important\b/i, - function: /[-a-z0-9]+(?=\()/i, - punctuation: /[(){};:]/ -}), - (Prism.languages.css.atrule.inside.rest = Prism.languages.css), - Prism.languages.markup && - (Prism.languages.insertBefore('markup', 'tag', { - style: { - pattern: /()[\s\S]*?(?=<\/style>)/i, - lookbehind: !0, - inside: Prism.languages.css, - alias: 'language-css', - greedy: !0 - } - }), - Prism.languages.insertBefore( - 'inside', - 'attr-value', - { - 'style-attr': { - pattern: /\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i, - inside: { - 'attr-name': { - pattern: /^\s*style/i, - inside: Prism.languages.markup.tag.inside - }, - punctuation: /^\s*=\s*['"]|['"]\s*$/, - 'attr-value': { pattern: /.+/i, inside: Prism.languages.css } - }, - alias: 'language-css' - } - }, - Prism.languages.markup.tag - )); -Prism.languages.clike = { - comment: [ - { pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, lookbehind: !0 }, - { pattern: /(^|[^\\:])\/\/.*/, lookbehind: !0, greedy: !0 } - ], - string: { - pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, - greedy: !0 - }, - 'class-name': { - pattern: /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i, - lookbehind: !0, - inside: { punctuation: /[.\\]/ } - }, - keyword: /\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/, - boolean: /\b(?:true|false)\b/, - function: /[a-z0-9_]+(?=\()/i, - number: /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i, - operator: /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/, - punctuation: /[{}[\];(),.:]/ -}; -(Prism.languages.javascript = Prism.languages.extend('clike', { - keyword: /\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/, - number: /\b(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|NaN|Infinity)\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/, - function: /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\()/i, - operator: /-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/ -})), - Prism.languages.insertBefore('javascript', 'keyword', { - regex: { - pattern: /((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[[^\]\r\n]+]|\\.|[^\/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})\]]))/, - lookbehind: !0, - greedy: !0 - }, - 'function-variable': { - pattern: /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i, - alias: 'function' - }, - constant: /\b[A-Z][A-Z\d_]*\b/ - }), - Prism.languages.insertBefore('javascript', 'string', { - 'template-string': { - pattern: /`(?:\\[\s\S]|\${[^}]+}|[^\\`])*`/, - greedy: !0, - inside: { - interpolation: { - pattern: /\${[^}]+}/, - inside: { - 'interpolation-punctuation': { - pattern: /^\${|}$/, - alias: 'punctuation' - }, - rest: null - } - }, - string: /[\s\S]+/ - } - } - }), - (Prism.languages.javascript[ - 'template-string' - ].inside.interpolation.inside.rest = Prism.languages.javascript), - Prism.languages.markup && - Prism.languages.insertBefore('markup', 'tag', { - script: { - pattern: /()[\s\S]*?(?=<\/script>)/i, - lookbehind: !0, - inside: Prism.languages.javascript, - alias: 'language-javascript', - greedy: !0 - } - }), - (Prism.languages.js = Prism.languages.javascript); -(Prism.languages.c = Prism.languages.extend('clike', { - keyword: /\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/, - operator: /-[>-]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/]/, - number: /(?:\b0x[\da-f]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ful]*/i -})), - Prism.languages.insertBefore('c', 'string', { - macro: { - pattern: /(^\s*)#\s*[a-z]+(?:[^\r\n\\]|\\(?:\r\n|[\s\S]))*/im, - lookbehind: !0, - alias: 'property', - inside: { - string: { - pattern: /(#\s*include\s*)(?:<.+?>|("|')(?:\\?.)+?\2)/, - lookbehind: !0 - }, - directive: { - pattern: /(#\s*)\b(?:define|defined|elif|else|endif|error|ifdef|ifndef|if|import|include|line|pragma|undef|using)\b/, - lookbehind: !0, - alias: 'keyword' - } - } - }, - constant: /\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/ - }), - delete Prism.languages.c['class-name'], - delete Prism.languages.c['boolean']; -(Prism.languages.csharp = Prism.languages.extend('clike', { - keyword: /\b(?:abstract|add|alias|as|ascending|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|descending|do|double|dynamic|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|from|get|global|goto|group|if|implicit|in|int|interface|internal|into|is|join|let|lock|long|namespace|new|null|object|operator|orderby|out|override|params|partial|private|protected|public|readonly|ref|remove|return|sbyte|sealed|select|set|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|value|var|virtual|void|volatile|where|while|yield)\b/, - string: [ - { pattern: /@("|')(?:\1\1|\\[\s\S]|(?!\1)[^\\])*\1/, greedy: !0 }, - { pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*?\1/, greedy: !0 } - ], - 'class-name': [ - { - pattern: /\b[A-Z]\w*(?:\.\w+)*\b(?=\s+\w+)/, - inside: { punctuation: /\./ } - }, - { - pattern: /(\[)[A-Z]\w*(?:\.\w+)*\b/, - lookbehind: !0, - inside: { punctuation: /\./ } - }, - { - pattern: /(\b(?:class|interface)\s+[A-Z]\w*(?:\.\w+)*\s*:\s*)[A-Z]\w*(?:\.\w+)*\b/, - lookbehind: !0, - inside: { punctuation: /\./ } - }, - { - pattern: /((?:\b(?:class|interface|new)\s+)|(?:catch\s+\())[A-Z]\w*(?:\.\w+)*\b/, - lookbehind: !0, - inside: { punctuation: /\./ } - } - ], - number: /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)f?/i -})), - Prism.languages.insertBefore('csharp', 'class-name', { - 'generic-method': { - pattern: /\w+\s*<[^>\r\n]+?>\s*(?=\()/, - inside: { - function: /^\w+/, - 'class-name': { - pattern: /\b[A-Z]\w*(?:\.\w+)*\b/, - inside: { punctuation: /\./ } - }, - keyword: Prism.languages.csharp.keyword, - punctuation: /[<>(),.:]/ - } - }, - preprocessor: { - pattern: /(^\s*)#.*/m, - lookbehind: !0, - alias: 'property', - inside: { - directive: { - pattern: /(\s*#)\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/, - lookbehind: !0, - alias: 'keyword' - } - } - } - }), - (Prism.languages.dotnet = Prism.languages.csharp); -!(function(e) { - var t = { - variable: [ - { - pattern: /\$?\(\([\s\S]+?\)\)/, - inside: { - variable: [ - { pattern: /(^\$\(\([\s\S]+)\)\)/, lookbehind: !0 }, - /^\$\(\(/ - ], - number: /\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/, - operator: /--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/, - punctuation: /\(\(?|\)\)?|,|;/ - } - }, - { - pattern: /\$\([^)]+\)|`[^`]+`/, - greedy: !0, - inside: { variable: /^\$\(|^`|\)$|`$/ } - }, - /\$(?:[\w#?*!@]+|\{[^}]+\})/i - ] - }; - e.languages.bash = { - shebang: { - pattern: /^#!\s*\/bin\/bash|^#!\s*\/bin\/sh/, - alias: 'important' - }, - comment: { pattern: /(^|[^"{\\])#.*/, lookbehind: !0 }, - string: [ - { - pattern: /((?:^|[^<])<<\s*)["']?(\w+?)["']?\s*\r?\n(?:[\s\S])*?\r?\n\2/, - lookbehind: !0, - greedy: !0, - inside: t - }, - { - pattern: /(["'])(?:\\[\s\S]|\$\([^)]+\)|`[^`]+`|(?!\1)[^\\])*\1/, - greedy: !0, - inside: t - } - ], - variable: t.variable, - function: { - pattern: /(^|[\s;|&])(?:alias|apropos|apt-get|aptitude|aspell|awk|basename|bash|bc|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chmod|chown|chroot|chkconfig|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|enable|env|ethtool|eval|exec|expand|expect|export|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|getopts|git|grep|groupadd|groupdel|groupmod|groups|gzip|hash|head|help|hg|history|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|jobs|join|kill|killall|less|link|ln|locate|logname|logout|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|make|man|mkdir|mkfifo|mkisofs|mknod|more|most|mount|mtools|mtr|mv|mmv|nano|netstat|nice|nl|nohup|notify-send|npm|nslookup|open|op|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|rename|renice|remsync|rev|rm|rmdir|rsync|screen|scp|sdiff|sed|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|sync|tail|tar|tee|test|time|timeout|times|touch|top|traceroute|trap|tr|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|uptime|useradd|userdel|usermod|users|uuencode|uudecode|v|vdir|vi|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip)(?=$|[\s;|&])/, - lookbehind: !0 - }, - keyword: { - pattern: /(^|[\s;|&])(?:let|:|\.|if|then|else|elif|fi|for|break|continue|while|in|case|function|select|do|done|until|echo|exit|return|set|declare)(?=$|[\s;|&])/, - lookbehind: !0 - }, - boolean: { - pattern: /(^|[\s;|&])(?:true|false)(?=$|[\s;|&])/, - lookbehind: !0 - }, - operator: /&&?|\|\|?|==?|!=?|<<>|<=?|>=?|=~/, - punctuation: /\$?\(\(?|\)\)?|\.\.|[{}[\];]/ - }; - var a = t.variable[1].inside; - (a.string = e.languages.bash.string), - (a['function'] = e.languages.bash['function']), - (a.keyword = e.languages.bash.keyword), - (a['boolean'] = e.languages.bash['boolean']), - (a.operator = e.languages.bash.operator), - (a.punctuation = e.languages.bash.punctuation), - (e.languages.shell = e.languages.bash); -})(Prism); -(Prism.languages.cpp = Prism.languages.extend('c', { - keyword: /\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/, - boolean: /\b(?:true|false)\b/, - operator: /--?|\+\+?|!=?|<{1,2}=?|>{1,2}=?|->|:{1,2}|={1,2}|\^|~|%|&{1,2}|\|\|?|\?|\*|\/|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/ -})), - Prism.languages.insertBefore('cpp', 'keyword', { - 'class-name': { pattern: /(class\s+)\w+/i, lookbehind: !0 } - }), - Prism.languages.insertBefore('cpp', 'string', { - 'raw-string': { - pattern: /R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/, - alias: 'string', - greedy: !0 - } - }); -!(function(e) { - e.languages.ruby = e.languages.extend('clike', { - comment: [ - /#.*/, - { pattern: /^=begin(?:\r?\n|\r)(?:.*(?:\r?\n|\r))*?=end/m, greedy: !0 } - ], - keyword: /\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\b/ - }); - var n = { - pattern: /#\{[^}]+\}/, - inside: { - delimiter: { pattern: /^#\{|\}$/, alias: 'tag' }, - rest: e.languages.ruby - } - }; - e.languages.insertBefore('ruby', 'keyword', { - regex: [ - { - pattern: /%r([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1[gim]{0,3}/, - greedy: !0, - inside: { interpolation: n } - }, - { - pattern: /%r\((?:[^()\\]|\\[\s\S])*\)[gim]{0,3}/, - greedy: !0, - inside: { interpolation: n } - }, - { - pattern: /%r\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}[gim]{0,3}/, - greedy: !0, - inside: { interpolation: n } - }, - { - pattern: /%r\[(?:[^\[\]\\]|\\[\s\S])*\][gim]{0,3}/, - greedy: !0, - inside: { interpolation: n } - }, - { - pattern: /%r<(?:[^<>\\]|\\[\s\S])*>[gim]{0,3}/, - greedy: !0, - inside: { interpolation: n } - }, - { - pattern: /(^|[^\/])\/(?!\/)(\[.+?]|\\.|[^\/\\\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/, - lookbehind: !0, - greedy: !0 - } - ], - variable: /[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/, - symbol: { pattern: /(^|[^:]):[a-zA-Z_]\w*(?:[?!]|\b)/, lookbehind: !0 } - }), - e.languages.insertBefore('ruby', 'number', { - builtin: /\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/, - constant: /\b[A-Z]\w*(?:[?!]|\b)/ - }), - (e.languages.ruby.string = [ - { - pattern: /%[qQiIwWxs]?([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/, - greedy: !0, - inside: { interpolation: n } - }, - { - pattern: /%[qQiIwWxs]?\((?:[^()\\]|\\[\s\S])*\)/, - greedy: !0, - inside: { interpolation: n } - }, - { - pattern: /%[qQiIwWxs]?\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}/, - greedy: !0, - inside: { interpolation: n } - }, - { - pattern: /%[qQiIwWxs]?\[(?:[^\[\]\\]|\\[\s\S])*\]/, - greedy: !0, - inside: { interpolation: n } - }, - { - pattern: /%[qQiIwWxs]?<(?:[^<>\\]|\\[\s\S])*>/, - greedy: !0, - inside: { interpolation: n } - }, - { - pattern: /("|')(?:#\{[^}]+\}|\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, - greedy: !0, - inside: { interpolation: n } - } - ]); -})(Prism); -(Prism.languages['markup-templating'] = {}), - Object.defineProperties(Prism.languages['markup-templating'], { - buildPlaceholders: { - value: function(e, t, n, a) { - e.language === t && - ((e.tokenStack = []), - (e.code = e.code.replace(n, function(n) { - if ('function' == typeof a && !a(n)) return n; - for ( - var r = e.tokenStack.length; - -1 !== e.code.indexOf('___' + t.toUpperCase() + r + '___'); - - ) - ++r; - return (e.tokenStack[r] = n), '___' + t.toUpperCase() + r + '___'; - })), - (e.grammar = Prism.languages.markup)); - } - }, - tokenizePlaceholders: { - value: function(e, t) { - if (e.language === t && e.tokenStack) { - e.grammar = Prism.languages[t]; - var n = 0, - a = Object.keys(e.tokenStack), - r = function(o) { - if (!(n >= a.length)) - for (var i = 0; i < o.length; i++) { - var g = o[i]; - if ( - 'string' == typeof g || - (g.content && 'string' == typeof g.content) - ) { - var c = a[n], - s = e.tokenStack[c], - l = 'string' == typeof g ? g : g.content, - p = l.indexOf('___' + t.toUpperCase() + c + '___'); - if (p > -1) { - ++n; - var f, - u = l.substring(0, p), - _ = new Prism.Token( - t, - Prism.tokenize(s, e.grammar, t), - 'language-' + t, - s - ), - k = l.substring( - p + ('___' + t.toUpperCase() + c + '___').length - ); - if ( - (u || k - ? ((f = [u, _, k].filter(function(e) { - return !!e; - })), - r(f)) - : (f = _), - 'string' == typeof g - ? Array.prototype.splice.apply(o, [i, 1].concat(f)) - : (g.content = f), - n >= a.length) - ) - break; - } - } else - g.content && 'string' != typeof g.content && r(g.content); - } - }; - r(e.tokens); - } - } - } - }); -(Prism.languages.go = Prism.languages.extend('clike', { - keyword: /\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/, - builtin: /\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/, - boolean: /\b(?:_|iota|nil|true|false)\b/, - operator: /[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./, - number: /(?:\b0x[a-f\d]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[-+]?\d+)?)i?/i, - string: { pattern: /(["'`])(\\[\s\S]|(?!\1)[^\\])*\1/, greedy: !0 } -})), - delete Prism.languages.go['class-name']; -(Prism.languages.java = Prism.languages.extend('clike', { - keyword: /\b(?:abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/, - number: /\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp-]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?[df]?/i, - operator: { - pattern: /(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m, - lookbehind: !0 - } -})), - Prism.languages.insertBefore('java', 'function', { - annotation: { - alias: 'punctuation', - pattern: /(^|[^.])@\w+/, - lookbehind: !0 - } - }), - Prism.languages.insertBefore('java', 'class-name', { - generics: { - pattern: /<\s*\w+(?:\.\w+)?(?:\s*,\s*\w+(?:\.\w+)?)*>/i, - alias: 'function', - inside: { - keyword: Prism.languages.java.keyword, - punctuation: /[<>(),.:]/ - } - } - }); -(Prism.languages.json = { - property: /"(?:\\.|[^\\"\r\n])*"(?=\s*:)/i, - string: { pattern: /"(?:\\.|[^\\"\r\n])*"(?!\s*:)/, greedy: !0 }, - number: /\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/, - punctuation: /[{}[\]);,]/, - operator: /:/g, - boolean: /\b(?:true|false)\b/i, - null: /\bnull\b/i -}), - (Prism.languages.jsonp = Prism.languages.json); -Prism.languages.objectivec = Prism.languages.extend('c', { - keyword: /\b(?:asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while|in|self|super)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/, - string: /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|@"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/, - operator: /-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/ -}); -Prism.languages.perl = { - comment: [ - { pattern: /(^\s*)=\w+[\s\S]*?=cut.*/m, lookbehind: !0 }, - { pattern: /(^|[^\\$])#.*/, lookbehind: !0 } - ], - string: [ - { - pattern: /\b(?:q|qq|qx|qw)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/, - greedy: !0 - }, - { - pattern: /\b(?:q|qq|qx|qw)\s+([a-zA-Z0-9])(?:(?!\1)[^\\]|\\[\s\S])*\1/, - greedy: !0 - }, - { pattern: /\b(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[\s\S])*\)/, greedy: !0 }, - { pattern: /\b(?:q|qq|qx|qw)\s*\{(?:[^{}\\]|\\[\s\S])*\}/, greedy: !0 }, - { pattern: /\b(?:q|qq|qx|qw)\s*\[(?:[^[\]\\]|\\[\s\S])*\]/, greedy: !0 }, - { pattern: /\b(?:q|qq|qx|qw)\s*<(?:[^<>\\]|\\[\s\S])*>/, greedy: !0 }, - { pattern: /("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/, greedy: !0 }, - { pattern: /'(?:[^'\\\r\n]|\\.)*'/, greedy: !0 } - ], - regex: [ - { - pattern: /\b(?:m|qr)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1[msixpodualngc]*/, - greedy: !0 - }, - { - pattern: /\b(?:m|qr)\s+([a-zA-Z0-9])(?:(?!\1)[^\\]|\\[\s\S])*\1[msixpodualngc]*/, - greedy: !0 - }, - { - pattern: /\b(?:m|qr)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngc]*/, - greedy: !0 - }, - { - pattern: /\b(?:m|qr)\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngc]*/, - greedy: !0 - }, - { - pattern: /\b(?:m|qr)\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngc]*/, - greedy: !0 - }, - { - pattern: /\b(?:m|qr)\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngc]*/, - greedy: !0 - }, - { - pattern: /(^|[^-]\b)(?:s|tr|y)\s*([^a-zA-Z0-9\s{(\[<])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2[msixpodualngcer]*/, - lookbehind: !0, - greedy: !0 - }, - { - pattern: /(^|[^-]\b)(?:s|tr|y)\s+([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2[msixpodualngcer]*/, - lookbehind: !0, - greedy: !0 - }, - { - pattern: /(^|[^-]\b)(?:s|tr|y)\s*\((?:[^()\\]|\\[\s\S])*\)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngcer]*/, - lookbehind: !0, - greedy: !0 - }, - { - pattern: /(^|[^-]\b)(?:s|tr|y)\s*\{(?:[^{}\\]|\\[\s\S])*\}\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngcer]*/, - lookbehind: !0, - greedy: !0 - }, - { - pattern: /(^|[^-]\b)(?:s|tr|y)\s*\[(?:[^[\]\\]|\\[\s\S])*\]\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngcer]*/, - lookbehind: !0, - greedy: !0 - }, - { - pattern: /(^|[^-]\b)(?:s|tr|y)\s*<(?:[^<>\\]|\\[\s\S])*>\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngcer]*/, - lookbehind: !0, - greedy: !0 - }, - { - pattern: /\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\b))/, - greedy: !0 - } - ], - variable: [ - /[&*$@%]\{\^[A-Z]+\}/, - /[&*$@%]\^[A-Z_]/, - /[&*$@%]#?(?=\{)/, - /[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+)+(?:::)*/i, - /[&*$@%]\d+/, - /(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/ - ], - filehandle: { pattern: /<(?![<=])\S*>|\b_\b/, alias: 'symbol' }, - vstring: { pattern: /v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/, alias: 'string' }, - function: { pattern: /sub [a-z0-9_]+/i, inside: { keyword: /sub/ } }, - keyword: /\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|say|state|sub|switch|undef|unless|until|use|when|while)\b/, - number: /\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/, - operator: /-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\b/, - punctuation: /[{}[\];(),:]/ -}; -!(function(e) { - (e.languages.php = e.languages.extend('clike', { - keyword: /\b(?:and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|private|protected|parent|throw|null|echo|print|trait|namespace|final|yield|goto|instanceof|finally|try|catch)\b/i, - constant: /\b[A-Z0-9_]{2,}\b/, - comment: { pattern: /(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/, lookbehind: !0 } - })), - e.languages.insertBefore('php', 'string', { - 'shell-comment': { - pattern: /(^|[^\\])#.*/, - lookbehind: !0, - alias: 'comment' - } - }), - e.languages.insertBefore('php', 'keyword', { - delimiter: { pattern: /\?>|<\?(?:php|=)?/i, alias: 'important' }, - variable: /\$+(?:\w+\b|(?={))/i, - package: { - pattern: /(\\|namespace\s+|use\s+)[\w\\]+/, - lookbehind: !0, - inside: { punctuation: /\\/ } - } - }), - e.languages.insertBefore('php', 'operator', { - property: { pattern: /(->)[\w]+/, lookbehind: !0 } - }), - e.languages.insertBefore('php', 'string', { - 'nowdoc-string': { - pattern: /<<<'([^']+)'(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;/, - greedy: !0, - alias: 'string', - inside: { - delimiter: { - pattern: /^<<<'[^']+'|[a-z_]\w*;$/i, - alias: 'symbol', - inside: { punctuation: /^<<<'?|[';]$/ } - } - } - }, - 'heredoc-string': { - pattern: /<<<(?:"([^"]+)"(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\1;|([a-z_]\w*)(?:\r\n?|\n)(?:.*(?:\r\n?|\n))*?\2;)/i, - greedy: !0, - alias: 'string', - inside: { - delimiter: { - pattern: /^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i, - alias: 'symbol', - inside: { punctuation: /^<<<"?|[";]$/ } - }, - interpolation: null - } - }, - 'single-quoted-string': { - pattern: /'(?:\\[\s\S]|[^\\'])*'/, - greedy: !0, - alias: 'string' - }, - 'double-quoted-string': { - pattern: /"(?:\\[\s\S]|[^\\"])*"/, - greedy: !0, - alias: 'string', - inside: { interpolation: null } - } - }), - delete e.languages.php.string; - var n = { - pattern: /{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[.+?]|->\w+)*)/, - lookbehind: !0, - inside: { rest: e.languages.php } - }; - (e.languages.php['heredoc-string'].inside.interpolation = n), - (e.languages.php['double-quoted-string'].inside.interpolation = n), - e.hooks.add('before-tokenize', function(n) { - if (/(?:<\?php|<\?)/gi.test(n.code)) { - var i = /(?:<\?php|<\?)[\s\S]*?(?:\?>|$)/gi; - e.languages['markup-templating'].buildPlaceholders(n, 'php', i); - } - }), - e.hooks.add('after-tokenize', function(n) { - e.languages['markup-templating'].tokenizePlaceholders(n, 'php'); - }); -})(Prism); -Prism.languages.python = { - comment: { pattern: /(^|[^\\])#.*/, lookbehind: !0 }, - 'triple-quoted-string': { - pattern: /("""|''')[\s\S]+?\1/, - greedy: !0, - alias: 'string' - }, - string: { pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/, greedy: !0 }, - function: { - pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g, - lookbehind: !0 - }, - 'class-name': { pattern: /(\bclass\s+)\w+/i, lookbehind: !0 }, - keyword: /\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|pass|print|raise|return|try|while|with|yield)\b/, - builtin: /\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/, - boolean: /\b(?:True|False|None)\b/, - number: /(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i, - operator: /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/, - punctuation: /[{}[\];(),.:]/ -}; -Prism.languages.rust = { - comment: [ - { pattern: /(^|[^\\])\/\*[\s\S]*?\*\//, lookbehind: !0 }, - { pattern: /(^|[^\\:])\/\/.*/, lookbehind: !0 } - ], - string: [ - { pattern: /b?r(#*)"(?:\\.|(?!"\1)[^\\\r\n])*"\1/, greedy: !0 }, - { pattern: /b?"(?:\\.|[^\\\r\n"])*"/, greedy: !0 } - ], - char: { - pattern: /b?'(?:\\(?:x[0-7][\da-fA-F]|u{(?:[\da-fA-F]_*){1,6}|.)|[^\\\r\n\t'])'/, - alias: 'string' - }, - 'lifetime-annotation': { pattern: /'[^\s>']+/, alias: 'symbol' }, - keyword: /\b(?:abstract|alignof|as|be|box|break|const|continue|crate|do|else|enum|extern|false|final|fn|for|if|impl|in|let|loop|match|mod|move|mut|offsetof|once|override|priv|pub|pure|ref|return|sizeof|static|self|struct|super|true|trait|type|typeof|unsafe|unsized|use|virtual|where|while|yield)\b/, - attribute: { pattern: /#!?\[.+?\]/, greedy: !0, alias: 'attr-name' }, - function: [/\w+(?=\s*\()/, /\w+!(?=\s*\(|\[)/], - 'macro-rules': { pattern: /\w+!/, alias: 'function' }, - number: /\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:[iu](?:8|16|32|64)?|f32|f64))?\b/, - 'closure-params': { - pattern: /\|[^|]*\|(?=\s*[{-])/, - inside: { punctuation: /[|:,]/, operator: /[&*]/ } - }, - punctuation: /[{}[\];(),:]|\.+|->/, - operator: /[-+*\/%!^]=?|=[=>]?|@|&[&=]?|\|[|=]?|<>?=?/ -}; -(Prism.languages.swift = Prism.languages.extend('clike', { - string: { - pattern: /("|')(\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, - greedy: !0, - inside: { - interpolation: { - pattern: /\\\((?:[^()]|\([^)]+\))+\)/, - inside: { delimiter: { pattern: /^\\\(|\)$/, alias: 'variable' } } - } - } - }, - keyword: /\b(?:as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))\b/, - number: /\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i, - constant: /\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/, - atrule: /@\b(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\b/, - builtin: /\b(?:[A-Z]\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:First|Last)|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:MutablePointers?|Pointers?)|VaList))\b/ -})), - (Prism.languages.swift.string.inside.interpolation.inside.rest = - Prism.languages.swift); -Prism.languages.yaml = { - scalar: { - pattern: /([\-:]\s*(?:![^\s]+)?[ \t]*[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)[^\r\n]+(?:\2[^\r\n]+)*)/, - lookbehind: !0, - alias: 'string' - }, - comment: /#.*/, - key: { - pattern: /(\s*(?:^|[:\-,[{\r\n?])[ \t]*(?:![^\s]+)?[ \t]*)[^\r\n{[\]},#\s]+?(?=\s*:\s)/, - lookbehind: !0, - alias: 'atrule' - }, - directive: { pattern: /(^[ \t]*)%.+/m, lookbehind: !0, alias: 'important' }, - datetime: { - pattern: /([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[ \t]*(?:$|,|]|}))/m, - lookbehind: !0, - alias: 'number' - }, - boolean: { - pattern: /([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:true|false)[ \t]*(?=$|,|]|})/im, - lookbehind: !0, - alias: 'important' - }, - null: { - pattern: /([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:null|~)[ \t]*(?=$|,|]|})/im, - lookbehind: !0, - alias: 'important' - }, - string: { - pattern: /([:\-,[{]\s*(?:![^\s]+)?[ \t]*)("|')(?:(?!\2)[^\\\r\n]|\\.)*\2(?=[ \t]*(?:$|,|]|}))/m, - lookbehind: !0, - greedy: !0 - }, - number: { - pattern: /([:\-,[{]\s*(?:![^\s]+)?[ \t]*)[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:e[+-]?\d+)?|\.inf|\.nan)[ \t]*(?=$|,|]|})/im, - lookbehind: !0 - }, - tag: /![^\s]+/, - important: /[&*][\w]+/, - punctuation: /---|[:[\]{}\-,|>?]|\.\.\./ -}; -!(function() { - function e(e, t) { - return Array.prototype.slice.call((t || document).querySelectorAll(e)); - } - function t(e, t) { - return ( - (t = ' ' + t + ' '), - (' ' + e.className + ' ').replace(/[\n\t]/g, ' ').indexOf(t) > -1 - ); - } - function n(e, n, i) { - n = 'string' == typeof n ? n : e.getAttribute('data-line'); - for ( - var o, - l = n.replace(/\s+/g, '').split(','), - a = +e.getAttribute('data-line-offset') || 0, - s = r() ? parseInt : parseFloat, - d = s(getComputedStyle(e).lineHeight), - u = t(e, 'line-numbers'), - c = 0; - (o = l[c++]); - - ) { - var p = o.split('-'), - m = +p[0], - f = +p[1] || m, - h = - e.querySelector('.line-highlight[data-range="' + o + '"]') || - document.createElement('div'); - if ( - (h.setAttribute('aria-hidden', 'true'), - h.setAttribute('data-range', o), - (h.className = (i || '') + ' line-highlight'), - u && Prism.plugins.lineNumbers) - ) { - var g = Prism.plugins.lineNumbers.getLine(e, m), - y = Prism.plugins.lineNumbers.getLine(e, f); - g && (h.style.top = g.offsetTop + 'px'), - y && - (h.style.height = - y.offsetTop - g.offsetTop + y.offsetHeight + 'px'); - } else - h.setAttribute('data-start', m), - f > m && h.setAttribute('data-end', f), - (h.style.top = (m - a - 1) * d + 'px'), - (h.textContent = new Array(f - m + 2).join(' \n')); - u ? e.appendChild(h) : (e.querySelector('code') || e).appendChild(h); - } - } - function i() { - var t = location.hash.slice(1); - e('.temporary.line-highlight').forEach(function(e) { - e.parentNode.removeChild(e); - }); - var i = (t.match(/\.([\d,-]+)$/) || [, ''])[1]; - if (i && !document.getElementById(t)) { - var r = t.slice(0, t.lastIndexOf('.')), - o = document.getElementById(r); - o && - (o.hasAttribute('data-line') || o.setAttribute('data-line', ''), - n(o, i, 'temporary '), - document.querySelector('.temporary.line-highlight').scrollIntoView()); - } - } - if ( - 'undefined' != typeof self && - self.Prism && - self.document && - document.querySelector - ) { - var r = (function() { - var e; - return function() { - if ('undefined' == typeof e) { - var t = document.createElement('div'); - (t.style.fontSize = '13px'), - (t.style.lineHeight = '1.5'), - (t.style.padding = 0), - (t.style.border = 0), - (t.innerHTML = ' 
     '), - document.body.appendChild(t), - (e = 38 === t.offsetHeight), - document.body.removeChild(t); - } - return e; - }; - })(), - o = 0; - Prism.hooks.add('before-sanity-check', function(t) { - var n = t.element.parentNode, - i = n && n.getAttribute('data-line'); - if (n && i && /pre/i.test(n.nodeName)) { - var r = 0; - e('.line-highlight', n).forEach(function(e) { - (r += e.textContent.length), e.parentNode.removeChild(e); - }), - r && - /^( \n)+$/.test(t.code.slice(-r)) && - (t.code = t.code.slice(0, -r)); - } - }), - Prism.hooks.add('complete', function l(e) { - var r = e.element.parentNode, - a = r && r.getAttribute('data-line'); - if (r && a && /pre/i.test(r.nodeName)) { - clearTimeout(o); - var s = Prism.plugins.lineNumbers, - d = e.plugins && e.plugins.lineNumbers; - t(r, 'line-numbers') && s && !d - ? Prism.hooks.add('line-numbers', l) - : (n(r, a), (o = setTimeout(i, 1))); - } - }), - window.addEventListener('hashchange', i), - window.addEventListener('resize', function() { - var e = document.querySelectorAll('pre[data-line]'); - Array.prototype.forEach.call(e, function(e) { - n(e); - }); - }); - } -})(); -!(function() { - if ('undefined' != typeof self && self.Prism && self.document) { - var e = 'line-numbers', - t = /\n(?!$)/g, - n = function(e) { - var n = r(e), - s = n['white-space']; - if ('pre-wrap' === s || 'pre-line' === s) { - var l = e.querySelector('code'), - i = e.querySelector('.line-numbers-rows'), - a = e.querySelector('.line-numbers-sizer'), - o = l.textContent.split(t); - a || - ((a = document.createElement('span')), - (a.className = 'line-numbers-sizer'), - l.appendChild(a)), - (a.style.display = 'block'), - o.forEach(function(e, t) { - a.textContent = e || '\n'; - var n = a.getBoundingClientRect().height; - i.children[t].style.height = n + 'px'; - }), - (a.textContent = ''), - (a.style.display = 'none'); - } - }, - r = function(e) { - return e - ? window.getComputedStyle - ? getComputedStyle(e) - : e.currentStyle || null - : null; - }; - window.addEventListener('resize', function() { - Array.prototype.forEach.call(document.querySelectorAll('pre.' + e), n); - }), - Prism.hooks.add('complete', function(e) { - if (e.code) { - var r = e.element.parentNode, - s = /\s*\bline-numbers\b\s*/; - if ( - r && - /pre/i.test(r.nodeName) && - (s.test(r.className) || s.test(e.element.className)) && - !e.element.querySelector('.line-numbers-rows') - ) { - s.test(e.element.className) && - (e.element.className = e.element.className.replace(s, ' ')), - s.test(r.className) || (r.className += ' line-numbers'); - var l, - i = e.code.match(t), - a = i ? i.length + 1 : 1, - o = new Array(a + 1); - (o = o.join('')), - (l = document.createElement('span')), - l.setAttribute('aria-hidden', 'true'), - (l.className = 'line-numbers-rows'), - (l.innerHTML = o), - r.hasAttribute('data-start') && - (r.style.counterReset = - 'linenumber ' + - (parseInt(r.getAttribute('data-start'), 10) - 1)), - e.element.appendChild(l), - n(r), - Prism.hooks.run('line-numbers', e); - } - } - }), - Prism.hooks.add('line-numbers', function(e) { - (e.plugins = e.plugins || {}), (e.plugins.lineNumbers = !0); - }), - (Prism.plugins.lineNumbers = { - getLine: function(t, n) { - if ('PRE' === t.tagName && t.classList.contains(e)) { - var r = t.querySelector('.line-numbers-rows'), - s = parseInt(t.getAttribute('data-start'), 10) || 1, - l = s + (r.children.length - 1); - s > n && (n = s), n > l && (n = l); - var i = n - s; - return r.children[i]; - } - } - }); - } -})(); -!(function() { - ('undefined' != typeof self && !self.Prism) || - ('undefined' != typeof global && !global.Prism) || - Prism.hooks.add('wrap', function(e) { - 'keyword' === e.type && e.classes.push('keyword-' + e.content); - }); -})(); diff --git a/src/assets/js/scrollTo.js b/src/assets/js/scrollTo.js deleted file mode 100644 index ee1bcb0af..000000000 --- a/src/assets/js/scrollTo.js +++ /dev/null @@ -1,31 +0,0 @@ -const scrollTo = { - - minimumScroll: 50, - - init: (elSelector, targetSelector) => { - const - el = document.querySelector(elSelector), - target = document.querySelector(targetSelector); - - if (!scrollTo.isInViewport(target)) { - setTimeout(function() { - el.scrollTop = target.offsetTop - scrollTo.minimumScroll; - }, 10); - } - }, - - isInViewport: target => { - const rect = target.getBoundingClientRect(); - - return rect.bottom > 0 && - rect.right > 0 && - rect.left < (window.innerWidth || document.documentElement.clientWidth) && - rect.top < (window.innerHeight || document.documentElement.clientHeight); - }, - -}; - -$(document).ready(function() { - scrollTo.init('.md-sidebar--primary .md-sidebar__scrollwrap', '.md-nav__link--active'); -}); - diff --git a/src/assets/stylesheets/extensions/_languages.scss b/src/assets/stylesheets/extensions/_languages.scss deleted file mode 100644 index 84ee0d255..000000000 --- a/src/assets/stylesheets/extensions/_languages.scss +++ /dev/null @@ -1,61 +0,0 @@ -.Languages { - &-item { - width: 20%; - height: 20%; - display: inline-block; - margin: 0 3% 3% 0; - padding: 15px 5px 5px 5px; - border-radius: 0.2rem; - box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12), - 0 3px 1px -2px rgba(0, 0, 0, 0.2); - background-image: linear-gradient(to top, #f5f5fa, #fff); - text-align: center; - position: relative; - - &.min { - width: 11%; - height: 11%; - } - } - - &-item:last-of-type { - margin-right: 0; - } - - &-item-logo { - width: 70%; - height: 70%; - position: relative; - margin: 0; - } - - &-item-name { - color: $md-color-blue; - } - - @include break-to-device(mobile) { - &-item { - width: 35%; - height: 35%; - margin: 0 16px 25px 0; - &.min { - width: 20%; - height: 20%; - } - } - } - - &-item:hover { - top: -2px; - left: -1px; - - &.min { - top: 0px; - left: 0px; - } - - .Languages-item-name { - color: $md-color-pink; - } - } -} diff --git a/src/core/1/api/controllers/admin/dump/index.md b/src/core/1/api/controllers/admin/dump/index.md new file mode 100644 index 000000000..ae29c4bc6 --- /dev/null +++ b/src/core/1/api/controllers/admin/dump/index.md @@ -0,0 +1,70 @@ +--- +type: page + +code: true +title: dump +--- + +# dump + + + +Asynchronously create a snapshot of Kuzzle's state. +Depending on the configuration of Kuzzle, it may include the following: + +- a coredump of Kuzzle +- the current Kuzzle configuration +- server logs +- Node.js binary & properties +- a list of OS properties +- plugins configuration +- usage statistics of the dumped instance + +(See [configuration](/core/1/guides/essentials/configuration/)) + +The generated directory can be used to feed a complete report to the support team. +This report is the same as the one generated during a crash. + +**Note:** in a Cluster environment, the dump action will be propagated across all nodes. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/admin/_dump +Method: POST +``` + +### Other protocols + +```json +{ + "controller": "admin", + "action": "dump" +} +``` + +--- + +## Response + +Return an acknowledgement. + +```js +{ + "requestId": "d16d5e8c-464a-4589-938f-fd84f46080b9", + "status": 200, + "error": null, + "controller": "admin", + "action": "dump", + "collection": null, + "index": null, + "volatile": null, + "result": { + "acknowledge": true + } +} +``` diff --git a/src/core/1/api/controllers/admin/index.md b/src/core/1/api/controllers/admin/index.md new file mode 100644 index 000000000..cc3ebb569 --- /dev/null +++ b/src/core/1/api/controllers/admin/index.md @@ -0,0 +1,6 @@ +--- +type: branch +title: admin +description: API v1.x Admin controller +code: true +--- diff --git a/src/core/1/api/controllers/admin/load-fixtures/index.md b/src/core/1/api/controllers/admin/load-fixtures/index.md new file mode 100644 index 000000000..bf3a10832 --- /dev/null +++ b/src/core/1/api/controllers/admin/load-fixtures/index.md @@ -0,0 +1,85 @@ +--- +code: true +type: page +title: loadFixtures +--- + +# loadFixtures + + + +Load fixtures into the storage layer. + +**Notes:** + +* The fixtures can contain any number of index and collection configurations. +* Each collection contains an array of data to load, just like the [bulk:import API](/core/1/api/controllers/bulk/import/). +* If an index or collection does not exist, the load will fail. +* Fixtures are loaded sequentially, one index/collection pair at a time. If a failure occurs, Kuzzle immediately interrupts the sequence, without rollbacking the previously loaded fixtures. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/admin/_loadFixtures[?refresh=wait_for] +Method: POST +Body: +``` + +```js +{ + "index-name": { + "collection-name": [ + {"create": { "_id": "uniq-id-123456" }}, + {"field": "value", "field2": "value", "field...", "value"} + ] + } +} +``` + + +### Other protocols + + +```js +{ + "controller": "admin", + "action": "loadFixtures", + "body": { + "index-name": { + "collection-name": [ + {"create": { "_id": "uniq-id-123456" }}, + {"field": "value", "field2": "value", "field...", "value"} + ] + } + } +} +``` + +## Arguments + +### Optional: + +* `refresh`: if set to `wait_for`, Kuzzle will not respond until the fixtures are loaded + +--- + +## Response + +Returns a confirmation that the command is being executed. + +```js +{ + "requestId": "d16d5e8c-464a-4589-938f-fd84f46080b9", + "status": 200, + "error": null, + "controller": "admin", + "action": "loadFixtures", + "collection": null, + "index": null, + "result": { "acknowledge": true } +} +``` diff --git a/src/core/1/api/controllers/admin/load-mappings/index.md b/src/core/1/api/controllers/admin/load-mappings/index.md new file mode 100644 index 000000000..a8d229c09 --- /dev/null +++ b/src/core/1/api/controllers/admin/load-mappings/index.md @@ -0,0 +1,90 @@ +--- +code: true +type: page +title: loadMappings +--- + +# loadMappings + + + +Apply mappings to the storage layer. + +**Notes:** + +* The mapping can contain any number of index and collection configurations. +* Field definitions follow the [Elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/5.6/mapping.html) mapping format. +* If an index or collection does not exist, it will be created automatically. +* Mappings are loaded sequentially, one index/collection pair at a time. If a failure occurs, Kuzzle immediately interrupts the sequence. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/admin/_loadMappings[?refresh=wait_for] +Method: POST +Body: +``` + +```js +{ + "index-name": { + "collection-name": { + "properties": { + "field1": {}, + "field2": {}, + "field...": {} + } + } + } +} +``` + +### Other protocols + + +```js +{ + "controller": "admin", + "action": "loadMappings", + "body": { + "index-name": { + "collection-name": { + "properties": { + "field1": {}, + "field2": {}, + "field...": {} + } + } + } + } +} +``` + +## Arguments + +### Optional: + +* `refresh`: if set to `wait_for`, Kuzzle will respond only once the mappings are loaded + +--- + +## Response + +Returns a confirmation that the command is being executed. + +```js +{ + "requestId": "d16d5e8c-464a-4589-938f-fd84f46080b9", + "status": 200, + "error": null, + "controller": "admin", + "action": "loadMappings", + "collection": null, + "index": null, + "result": { "acknowledge": true } +} +``` diff --git a/src/core/1/api/controllers/admin/load-securities/index.md b/src/core/1/api/controllers/admin/load-securities/index.md new file mode 100644 index 000000000..7430d245b --- /dev/null +++ b/src/core/1/api/controllers/admin/load-securities/index.md @@ -0,0 +1,108 @@ +--- +code: true +type: page +title: loadSecurities +--- + +# loadSecurities + + + +Load roles, profiles and users into the storage layer. + +The roles, profiles and users definitions follow the same structure as in the body parameter of these corresponding API routes: + + - [createRole](/core/1/api/controllers/security/create-role) + - [createProfile](/core/1/api/controllers/security/create-profile) + - [createUser](/core/1/api/controllers/security/create-user) + +**Notes:** + +* The body can contain any number of roles, profiles and users. +* If a role, profile or user already exists, it will be replaced. +* Fixtures are loaded sequentially: first the roles, then the profiles and finally the users. If a failure occurs, Kuzzle immediately interrupts the sequence, without rollbacking what has already been loaded. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/admin/_loadSecurities[?refresh=wait_for] +Method: POST +Body: +``` + +```js +{ + "roles": { + "role-id": { + /* role definition */ + } + }, + "profiles": { + "profile-id": { + /* profile definition */ + } + }, + "users": { + "user-id": { + /* user definition */ + } + } +} +``` + + +### Other protocols + + +```js +{ + "controller": "admin", + "action": "loadSecurities", + "body": { + "roles": { + "role-id": { + /* role definition */ + } + }, + "profiles": { + "profile-id": { + /* profile definition */ + } + }, + "users": { + "user-id": { + /* user definition */ + } + } + } +} +``` + +## Arguments + +### Optional: + +* `refresh`: if set to `wait_for`, Kuzzle will not respond until the fixtures are loaded + +--- + +## Response + +Returns a confirmation that the command is being executed. + +```js +{ + "requestId": "d16d5e8c-464a-4589-938f-fd84f46080b9", + "status": 200, + "error": null, + "controller": "admin", + "action": "loadSecurities", + "collection": null, + "index": null, + "result": { "acknowledge": true } +} +``` diff --git a/src/core/1/api/controllers/admin/reset-cache/index.md b/src/core/1/api/controllers/admin/reset-cache/index.md new file mode 100644 index 000000000..4b3f75c12 --- /dev/null +++ b/src/core/1/api/controllers/admin/reset-cache/index.md @@ -0,0 +1,58 @@ +--- +type: page + +code: true +title: resetCache +--- + +# resetCache + + + +Asynchronously clears the cache database. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/admin/_resetCache?database=[internalCache|memoryStorage] +Method: POST +``` + +### Other protocols + +```js +{ + "database": "internalCache" +} +``` + +--- + +## Arguments + +- `database`: there are two Redis databases that you can clear + - `internalCache` : used by Kuzzle to cache internal data, such as authentication tokens, documents followed by real-time subscriptions, active paginated search queries, API usage statistics or cluster state + - `memoryStorage` : memory cache managed by Kuzzle's [memoryStorage](/core/1/api/controllers/memory-storage/) API + +--- + +## Response + +Returns a confirmation that the command is being executed. + +```js +{ + "requestId": "d16d5e8c-464a-4589-938f-fd84f46080b9", + "status": 200, + "error": null, + "controller": "admin", + "action": "resetCache", + "collection": null, + "index": null, + "result": { "acknowledge": true } +} +``` diff --git a/src/core/1/api/controllers/admin/reset-database/index.md b/src/core/1/api/controllers/admin/reset-database/index.md new file mode 100644 index 000000000..eb48ffc94 --- /dev/null +++ b/src/core/1/api/controllers/admin/reset-database/index.md @@ -0,0 +1,53 @@ +--- +type: page + +code: true +title: resetDatabase +--- + +# resetDatabase + + + +Asynchronously deletes all indexes created by users. + +Neither Kuzzle internal indexes nor Plugin indexes are deleted. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/admin/_resetDatabase +Method: POST +``` + +### Other protocols + +```js +{ + "controller": "admin", + "action": "resetDatabase" +} +``` + +--- + +## Response + +Returns a confirmation that the command is being executed. + +```js +{ + "requestId": "d16d5e8c-464a-4589-938f-fd84f46080b9", + "status": 200, + "error": null, + "controller": "admin", + "action": "resetDatabase", + "collection": null, + "index": null, + "result": { "acknowledge": true } +} +``` diff --git a/src/core/1/api/controllers/admin/reset-kuzzle-data/index.md b/src/core/1/api/controllers/admin/reset-kuzzle-data/index.md new file mode 100644 index 000000000..4fa8741e0 --- /dev/null +++ b/src/core/1/api/controllers/admin/reset-kuzzle-data/index.md @@ -0,0 +1,58 @@ +--- +type: page + +code: true +title: resetKuzzleData +--- + +# resetKuzzleData + + + +Asynchronously starts the following sequence, in this order: + +- Invalidates and deletes all users along with their associated credentials +- Deletes all user-defined roles and profiles +- Resets the default roles and profiles to their default values +- Deletes all document validation specifications + +This action has no impact on Plugin and Document storages. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/admin/_resetKuzzleData +Method: POST +``` + +### Other protocols + +```js +{ + "controller": "admin", + "action": "resetKuzzleData" +} +``` + +--- + +## Response + +Returns a confirmation that the command is being executed. + +```js +{ + "requestId": "d16d5e8c-464a-4589-938f-fd84f46080b9", + "status": 200, + "error": null, + "controller": "admin", + "action": "resetKuzzleData", + "collection": null, + "index": null, + "result": { "acknowledge": true } +} +``` diff --git a/src/core/1/api/controllers/admin/reset-security/index.md b/src/core/1/api/controllers/admin/reset-security/index.md new file mode 100644 index 000000000..6cd3313a1 --- /dev/null +++ b/src/core/1/api/controllers/admin/reset-security/index.md @@ -0,0 +1,52 @@ +--- +type: page + +code: true +title: resetSecurity +--- + +# resetSecurity + + + +Asynchronously deletes all users, profiles and roles. +Then resets `anonymous`, `default` and `admin` profiles and roles to default values, specified in Kuzzle configuration files. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/admin/_resetSecurity +Method: POST +``` + +### Other protocols + +```js +{ + "controller": "admin", + "action": "resetSecurity" +} +``` + +--- + +## Response + +Returns a confirmation that the command is being executed. + +```js +{ + "requestId": "d16d5e8c-464a-4589-938f-fd84f46080b9", + "status": 200, + "error": null, + "controller": "admin", + "action": "resetSecurity", + "collection": null, + "index": null, + "result": { "acknowledge": true } +} +``` diff --git a/src/core/1/api/controllers/admin/shutdown/index.md b/src/core/1/api/controllers/admin/shutdown/index.md new file mode 100644 index 000000000..4ed8f9414 --- /dev/null +++ b/src/core/1/api/controllers/admin/shutdown/index.md @@ -0,0 +1,53 @@ +--- +type: page + +code: true +title: shutdown +--- + +# shutdown + + + +Safely stops a Kuzzle instance after all remaining requests are processed. + +In a cluster environment, the shutdown action will be propagated across all nodes. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/admin/_shutdown +Method: POST +``` + +### Other protocols + +```js +{ + "controller": "admin", + "action": "shutdown" +} +``` + +--- + +## Response + +Returns a confirmation that the command is being executed. + +```js +{ + "requestId": "d16d5e8c-464a-4589-938f-fd84f46080b9", + "status": 200, + "error": null, + "controller": "admin", + "action": "shutdown", + "collection": null, + "index": null, + "result": { "acknowledge": true } +} +``` diff --git a/src/core/1/api/controllers/auth/check-token/index.md b/src/core/1/api/controllers/auth/check-token/index.md new file mode 100644 index 000000000..508abf91e --- /dev/null +++ b/src/core/1/api/controllers/auth/check-token/index.md @@ -0,0 +1,71 @@ +--- +code: true +type: page +title: checkToken +--- + +# checkToken + +Checks the validity of an authentication token. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/_checkToken +Method: POST +Body: +``` + +```js +{ + "token": "" +} +``` + +### Other protocols + +```js +{ + "controller": "auth", + "action": "checkToken", + "body": { + "token": "" + } +} +``` + +--- + +## Body properties + +- `token`: the authentication token to be tested + +--- + +## Response + +The returned result contains the following properties: + +- `valid`: a boolean telling whether the provided token is valid +- `state`: the reason why a token is invalid. Present only if `valid` is false +- `expiresAt`: token expiration timestamp. Present only if `valid` is true + +Example: + +```js +{ + "status": 200, + "error": null, + "controller": "auth", + "action": "checkToken", + "requestId": "", + "result": { + "valid": true, + "expiresAt": 1538557452248 + } +} +``` diff --git a/src/core/1/api/controllers/auth/create-my-credentials/index.md b/src/core/1/api/controllers/auth/create-my-credentials/index.md new file mode 100644 index 000000000..7e0f15aa0 --- /dev/null +++ b/src/core/1/api/controllers/auth/create-my-credentials/index.md @@ -0,0 +1,81 @@ +--- +code: true +type: page +title: createMyCredentials +--- + +# createMyCredentials + + + +Creates new credentials for the current user. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/credentials//_me/_create +Method: POST +Headers: Authorization: "Bearer " +Body: +``` + +```js +{ + // example with the "local" authentication strategy + "username": "MyUser", + "password": "MyPassword" +} +``` + +### Other protocols + +```js +{ + "controller": "auth", + "action": "createMyCredentials", + "strategy": "", + "jwt": "", + "body": { + "username": "MyUser", + "password": "MyPassword" + } +} +``` + +--- + +## Arguments + +- `jwt`: valid authentication token (for the HTTP protocol, the token is to be passed to the `Authorization` header instead) +- `strategy`: name of the authentication strategy to use + +--- + +## Body properties + +Credentials to be created. The properties to send will depend on the chosen authentication strategy. + +--- + +## Response + +The result content depends on the authentication strategy. + +Example with the `local` authentication strategy: + +```js +{ + "status": 200, + "error": null, + "action": "createMyCredentials", + "controller": "auth", + "result": { + "username": "MyUser", + "kuid": "" + } +} +``` diff --git a/src/core/1/api/controllers/auth/credentials-exists/index.md b/src/core/1/api/controllers/auth/credentials-exists/index.md new file mode 100644 index 000000000..c0598fdc5 --- /dev/null +++ b/src/core/1/api/controllers/auth/credentials-exists/index.md @@ -0,0 +1,57 @@ +--- +code: true +type: page +title: credentialsExist +--- + +# credentialsExist + + + +Checks that the current authenticated user has credentials for the specified authentication strategy. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/credentials//_me/_exists +Method: GET +Headers: Authorization: "Bearer " +``` + +### Other protocols + +```js +{ + "controller": "auth", + "action": "credentialsExist", + "strategy": "", + "jwt": "" +} +``` + +--- + +## Arguments + +- `jwt`: valid authentication token (for the HTTP protocol, the token is to be passed to the `Authorization` header instead) +- `strategy`: name of the authentication strategy to be tested + +--- + +## Response + +Result is a boolean telling whether credentials exist for the provided authentication strategy: + +```js +{ + "status": 200, + "error": null, + "action": "credentialsExist", + "controller": "auth", + "result": true +} +``` diff --git a/src/core/1/api/controllers/auth/delete-my-credentials/index.md b/src/core/1/api/controllers/auth/delete-my-credentials/index.md new file mode 100644 index 000000000..f27ea177f --- /dev/null +++ b/src/core/1/api/controllers/auth/delete-my-credentials/index.md @@ -0,0 +1,61 @@ +--- +code: true +type: page +title: deleteMyCredentials +--- + +# deleteMyCredentials + + + +Deletes credentials associated to the current user. + +If the credentials that generated the current JWT are removed, the user will remain logged in until they log out or their session expire. After that, they will no longer be able to log in with the deleted credentials. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/credentials//_me +Method: DELETE +Headers: Authorization: "Bearer " +``` + +### Other protocols + +```js +{ + "controller": "auth", + "action": "deleteMyCredentials", + "strategy": "", + "jwt": "" +} +``` + +--- + +## Arguments + +- `jwt`: valid authentication token (for the HTTP protocol, the token is to be passed to the `Authorization` header instead) +- `strategy`: name of the authentication strategy to delete + +--- + +## Response + +Returns a confirmation that the credentials are being deleted: + +```js +{ + "status": 200, + "error": null, + "action": "deleteMyCredentials", + "controller": "auth", + "result": { + "acknowledged": true + } +} +``` diff --git a/src/core/1/api/controllers/auth/get-current-user/index.md b/src/core/1/api/controllers/auth/get-current-user/index.md new file mode 100644 index 000000000..a24b58aa4 --- /dev/null +++ b/src/core/1/api/controllers/auth/get-current-user/index.md @@ -0,0 +1,72 @@ +--- +code: true +type: page +title: getCurrentUser +--- + +# getCurrentUser + + + +Returns information about the currently logged in user. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/users/_me +Method: GET +Headers: Authorization: "Bearer " +``` + +### Other protocols + +```js +{ + "controller": "auth", + "action": "getCurrentUser", + "jwt": "" +} +``` + +--- + +## Arguments + +- `jwt`: valid authentication token (for the HTTP protocol, the token is to be passed to the `Authorization` header instead) + +--- + +## Response + +The result contains the following properties: + +- `_id`: current user's [kuid](/core/1/guides/essentials/user-authentication/#kuzzle-user-identifier-kuid) +- `_source`: user information + - `profileIds`: list of [profile](/core/1/guides/essentials/security/#users-profiles-and-roles) names associated to the user + - any other properties: additional (and optional) user information +- `strategies`: available authentication strategies for that user + +```js +{ + "status": 200, + "error": null, + "controller": "auth", + "action": "getCurrentUser", + "requestId": "", + "result": { + "_id": "", + "_source": { + "profileIds": ["customProfile1", "customProfile2"], + "name": { + "first": "Steve", + "last": "Wozniak" + } + }, + "strategies": ["local"] + } +} +``` diff --git a/src/core/1/api/controllers/auth/get-my-credentials/index.md b/src/core/1/api/controllers/auth/get-my-credentials/index.md new file mode 100644 index 000000000..71555cd8a --- /dev/null +++ b/src/core/1/api/controllers/auth/get-my-credentials/index.md @@ -0,0 +1,66 @@ +--- +code: true +type: page +title: getMyCredentials +--- + +# getMyCredentials + + + +Returns credential information for the currently logged in user. + +The data returned will depend on the specified authentication strategy, and they should not include any sensitive information. + +The result can be an empty object. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/credentials//_me +Method: GET +Headers: Authorization: "Bearer " +``` + +### Other protocols + +```js +{ + "controller": "auth", + "action": "getMyCredentials", + "strategy": "", + "jwt": "" +} +``` + +--- + +## Arguments + +- `jwt`: valid authentication token (for the HTTP protocol, the token is to be passed to the `Authorization` header instead) +- `strategy`: name of the authentication strategy to retrieve + +--- + +## Response + +The result content depends on the authentication strategy. + +Example with the `local` authentication strategy: + +```js +{ + "status": 200, + "error": null, + "action": "getMyCredentials", + "controller": "auth", + "result": { + "username": "MyUser", + "kuid": "" + } +} +``` diff --git a/src/core/1/api/controllers/auth/get-my-rights/index.md b/src/core/1/api/controllers/auth/get-my-rights/index.md new file mode 100644 index 000000000..775926f5f --- /dev/null +++ b/src/core/1/api/controllers/auth/get-my-rights/index.md @@ -0,0 +1,84 @@ +--- +code: true +type: page +title: getMyRights +--- + +# getMyRights + + + +Returns the exhaustive list of granted or denied rights for the currently logged in user. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/users/_me/_rights +Method: GET +Headers: Authorization: "Bearer " +``` + +### Other protocols + +```js +{ + "controller": "auth", + "action": "getMyRights", + "jwt": "" +} +``` + +--- + +## Arguments + +- `jwt`: valid authentication token (for the HTTP protocol, the token is to be passed to the `Authorization` header instead) + +--- + +## Response + +The result contains a `hits` array, listing the rights for the current user. + +Each right is an object with the following properties: + +- `controller`: API controller +- `action`: controller's action +- `index`: authorized or denied index +- `collection`: authorized or denied collection +- `value`: one of the following value: `denied`, `allowed`, or `conditional` + +```js +{ + "status": 200, + "error": null, + "result": { + "hits": [ + { + "controller": "document", + "action": "get", + "index": "foo", + "collection": "bar", + "value": "allowed" + }, + { + "controller": "document", + "action": "search", + "index": "foo", + "collection": "bar", + "value": "allowed" + }, + { + "controller": "document", + "action": "write", + "index": "foo", + "collection": "bar", + "value": "denied" + } + ] +} +``` diff --git a/src/core/1/api/controllers/auth/get-strategies/index.md b/src/core/1/api/controllers/auth/get-strategies/index.md new file mode 100644 index 000000000..5fb86329e --- /dev/null +++ b/src/core/1/api/controllers/auth/get-strategies/index.md @@ -0,0 +1,50 @@ +--- +code: true +type: page +title: getStrategies +--- + +# getStrategies + + + +Gets the exhaustive list of registered authentication strategies. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/strategies +Method: GET +``` + +### Other protocols + +```js +{ + "controller": "auth", + "action": "getStrategies" +} +``` + +--- + +## Response + +The result is an array of available strategy names: + +```js +{ + "status": 200, + "error": null, + "action": "getStrategies", + "controller": "auth", + "result": [ + "local", + "facebook" + ] +} +``` diff --git a/src/core/1/api/controllers/auth/index.md b/src/core/1/api/controllers/auth/index.md new file mode 100644 index 000000000..cecb7e1a8 --- /dev/null +++ b/src/core/1/api/controllers/auth/index.md @@ -0,0 +1,5 @@ +--- +type: branch +code: true +title: auth +--- diff --git a/src/core/1/api/controllers/auth/login/index.md b/src/core/1/api/controllers/auth/login/index.md new file mode 100644 index 000000000..8fddf72af --- /dev/null +++ b/src/core/1/api/controllers/auth/login/index.md @@ -0,0 +1,95 @@ +--- +code: true +type: page +title: login +--- + +# login + + + +Authenticates a user. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/_login/[?expiresIn=] +Method: POST +Body: +``` + +```js +{ + "username": "", + "password": "" +} +``` + +### Other protocols + +```js +{ + "controller": "auth", + "action": "login", + "strategy": "", + "expiresIn": "", + "body": { + "username": "", + "password": "" + } +} +``` + +--- + +## Arguments + +- `strategy`: the name of the authentication [strategy](/core/1/guides/kuzzle-depth/authentication/#authentication) used to log the user in. + +### Optional: + +- `expiresIn`: set the expiration duration (default: depends on [Kuzzle configuration file](/core/1/guides/essentials/configuration/)) + - if a raw number is provided (not enclosed between quotes), then the expiration delay is in milliseconds. Example: `86400000` + - if this value is a string, then its content is parsed by the [ms](https://www.npmjs.com/package/ms) library. Examples: `"6d"`, `"10h"` + +--- + +## Body properties + +Depending on the chosen authentication strategy, additional [credential arguments](/core/1/guides/kuzzle-depth/authentication/#authentication) may be required. + +The API request example in this page provides the necessary arguments for the [`local` authentication plugin](https://github.com/kuzzleio/kuzzle-plugin-auth-passport-local). + +Check the appropriate [authentication plugin](/core/1/plugins/guides/strategies/) documentation to get the list of additional arguments to provide. + +--- + +## Response + +The result contains the following properties: + +- `_id`: user's [kuid](/core/1/guides/kuzzle-depth/authentication/#the-kuzzle-user-identifier) +- `jwt`: encrypted JSON Web Token, that must then be sent in the [requests headers](/core/1/api/essentials/query-syntax/#http-default) or in the [query](/core/1/api/essentials/query-syntax/#other-protocols-default) +- `expiresAt`: token expiration date, in Epoch-millis (UTC) +- `ttl`: token time to live, in milliseconds + +```js +{ + "status": 200, + "error": null, + "controller": "auth", + "action": "login", + "requestId": "", + "volatile": {}, + "result": { + "_id": "", + "jwt": "", + "expiresAt": 1321085955000, + "ttl": 360000 + } +} +``` diff --git a/src/core/1/api/controllers/auth/logout/index.md b/src/core/1/api/controllers/auth/logout/index.md new file mode 100644 index 000000000..a53fab773 --- /dev/null +++ b/src/core/1/api/controllers/auth/logout/index.md @@ -0,0 +1,56 @@ +--- +code: true +type: page +title: logout +--- + +# logout + + + +Revokes the provided authentication token. + +If there were any, real-time subscriptions are cancelled. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/_logout +Method: POST +Headers: Authorization: "Bearer " +``` + +### Other protocols + +```js +{ + "controller": "auth", + "action": "logout", + "jwt": "" +} +``` + +--- + +## Arguments + +- `jwt`: valid authentication token (for the HTTP protocol, the token is to be passed to the `Authorization` header instead) + +--- + +## Response + +```js +{ + "status": 200, + "error": null, + "controller": "auth", + "action": "logout", + "requestId": "", + "result": {} +} +``` diff --git a/src/core/1/api/controllers/auth/refresh-token/index.md b/src/core/1/api/controllers/auth/refresh-token/index.md new file mode 100644 index 000000000..09acd427d --- /dev/null +++ b/src/core/1/api/controllers/auth/refresh-token/index.md @@ -0,0 +1,74 @@ +--- +code: true +type: page +title: refreshToken +--- + +# refreshToken + + + +Refreshes an authentication token: + +* a valid, non-expired authentication must be provided +* the provided authentication token is revoked +* a new authentication token is generated and returned + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/_refreshToken[?expiresIn=] +Method: POST +``` + +### Other protocols + +```js +{ + "controller": "auth", + "action": "refreshToken", + "expiresIn": "" +} +``` + +--- + +## Arguments + +### Optional: + +* `expiresIn`: set the expiration duration (default: depends on [Kuzzle configuration file](/core/1/guides/essentials/configuration/)) +* if a raw number is provided (not enclosed between quotes), then the expiration delay is in milliseconds. Example: `86400000` +* if this value is a string, then its content is parsed by the [ms](https://www.npmjs.com/package/ms) library. Examples: `"6d"`, `"10h"` + +--- + +## Response + +The result contains the following properties: + +* `_id`: user's [kuid](/core/1/guides/kuzzle-depth/authentication/#the-kuzzle-user-identifier) +* `jwt`: encrypted JSON Web Token, that must then be sent in the [requests headers](core/1/api/essentials/query-syntax/#http-default) or in the [query](core/1/api/essentials/query-syntax/#other-protocols-default) +* `expiresAt`: new token expiration date, in Epoch-millis (UTC) +* `ttl`: new token time to live, in milliseconds + +```javascript +{ + "status": 200, + "error": null, + "controller": "auth", + "action": "refreshToken", + "requestId": "", + "volatile": {}, + "result": { + "_id": "", + "jwt": "", + "expiresAt": 1321085955000, + "ttl": 360000 + } +} +``` diff --git a/src/core/1/api/controllers/auth/update-my-credentials/index.md b/src/core/1/api/controllers/auth/update-my-credentials/index.md new file mode 100644 index 000000000..acfd58c32 --- /dev/null +++ b/src/core/1/api/controllers/auth/update-my-credentials/index.md @@ -0,0 +1,82 @@ +--- +code: true +type: page +title: updateMyCredentials +--- + +# updateMyCredentials + + + +Updates the credentials of the currently logged in user. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/credentials//_me/_update +Method: PUT +Headers: Authorization: "Bearer " +Body: +``` + +```js +{ + "password": "MyPassword" +} +``` + +### Other protocols + +```js +{ + "controller": "auth", + "action": "updateMyCredentials", + "strategy": "", + "jwt": "", + "body": { + "password": "MyPassword" + } +} +``` + +--- + +## Arguments + +- `jwt`: valid authentication token (for the HTTP protocol, the token is to be passed to the `Authorization` header instead) +- `strategy`: name of the authentication strategy to update + +--- + +## Body properties + +The body contains the credential properties to update, and their new values. + +The properties that can be updated depend on the chosen authentication strategy. + +The API request examples in this page are for the [`local` authentication plugin](https://github.com/kuzzleio/kuzzle-plugin-auth-passport-local). + +--- + +## Response + +The result content depends on the authentication strategy. + +Example with the "local" authentication strategy: + +```js +{ + "status": 200, + "error": null, + "action": "updateMyCredentials", + "controller": "auth", + "result": { + "username": "MyUser", + "kuid": "" + } +} +``` diff --git a/src/core/1/api/controllers/auth/update-self/index.md b/src/core/1/api/controllers/auth/update-self/index.md new file mode 100644 index 000000000..993fb2250 --- /dev/null +++ b/src/core/1/api/controllers/auth/update-self/index.md @@ -0,0 +1,84 @@ +--- +code: true +type: page +title: updateSelf +--- + +# updateSelf + + + +Updates the currently logged in user information. + +This route cannot update the list of associated security profiles. To change a user's security profiles, the route [security:updateUser](/core/1/api/controllers/security/update-user/) must be used instead. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/_updateSelf +Method: PUT +Headers: Authorization: "Bearer " +Body: +``` + +```js +{ + "foo": "bar", + "fullname": "Walter Smith" +} +``` + +### Other protocols + +```js +{ + "controller": "auth", + "action": "updateSelf", + "jwt": "", + "body": { + "foo": "bar", + "name": "Walter Smith" + } +} +``` + +--- + +## Arguments + +- `jwt`: valid authentication token (for the HTTP protocol, the token is to be passed to the `Authorization` header instead) + +--- + +## Body properties + +User properties that can be set or updated depend on the application hosted by Kuzzle. This document is free of limitations. + +--- + +## Response + +Returns the following properties: + +- `_id`: current user's [kuid](/core/1/guides/essentials/user-authentication/#kuzzle-user-identifier-kuid) +- `_source`: additional (and optional) user properties + +```js +{ + "status": 200, + "error": null, + "action": "updateSelf", + "controller": "auth", + "requestId": "", + "result": { + "_id": "", + "_source": { + "fullname": "Walter Smith" + } + } +} +``` diff --git a/src/core/1/api/controllers/auth/validate-my-credentials/index.md b/src/core/1/api/controllers/auth/validate-my-credentials/index.md new file mode 100644 index 000000000..ef000ad93 --- /dev/null +++ b/src/core/1/api/controllers/auth/validate-my-credentials/index.md @@ -0,0 +1,79 @@ +--- +code: true +type: page +title: validateMyCredentials +--- + +# validateMyCredentials + + + +Validates the provided credentials against a specified authentication strategy. + +This route neither creates nor modifies credentials. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/credentials//_me/_validate +Method: POST +Headers: Authorization: "Bearer " +Body: +``` + +```js +{ + "username": "MyUser", + "password": "MyPassword" +} +``` + +### Other protocols + +```js +{ + "controller": "auth", + "action": "validateMyCredentials", + "strategy": "", + "jwt": "", + "body": { + "username": "MyUser", + "password": "MyPassword" + } +} +``` + +--- + +## Arguments + +- `jwt`: valid authentication token (for the HTTP protocol, the token is to be passed to the `Authorization` header instead) +- `strategy`: name of the authentication strategy used to validate the provided credentials + +--- + +## Body properties + +Credentials to validate. The properties to send will depend on the chosen authentication strategy. + +Examples in this page are for the [`local` authentication plugin](https://github.com/kuzzleio/kuzzle-plugin-auth-passport-local). + +--- + +## Response + +Returns a boolean telling whether the provided credentials are valid: + +```js +{ + "status": 200, + "error": null, + "action": "validateMyCredentials", + "controller": "auth", + "result": true +} +``` diff --git a/src/core/1/api/controllers/bulk/import/index.md b/src/core/1/api/controllers/bulk/import/index.md new file mode 100644 index 000000000..c83ec4d68 --- /dev/null +++ b/src/core/1/api/controllers/bulk/import/index.md @@ -0,0 +1,121 @@ +--- +code: true +type: page +title: import +--- + +# import + +Creates, updates or deletes large amounts of documents as fast as possible. + +This route is faster than the `document:m*` routes family (e.g. [document:mCreate](/core/1/api/controllers/document/m-create/)), but no real-time notifications will be generated, even if some of the documents in the import match subscription filters. + +If some documents actions fail, the client will receive a [PartialError](/core/1/api/essentials/errors/#partialerror) error. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512///_bulk +Method: POST +Body: +``` + +```js +{ + "bulkData": [ + { "index": {} }, + { "new": "document", "with": "any", "number": "of fields" }, + { "create": {"_id": "foobar"} }, + { "another": "document", "with": "a preset id" }, + { "delete": {"_id": "existing_document_identifier"} }, + { "update": {"_id": "another_document"} }, + { "doc": {"partial": "update"}, "upsert": {"if": "document doesn't exist"} } + ] +} +``` + +### Other protocols + +```js +{ + "index": "", + "collection": "", + "controller": "bulk", + "action": "import", + "body": { + "bulkData": [ + { "index": {} }, + { "new": "document", "with": "any", "number": "of fields" }, + { "create": {"_id": "foobar"} }, + { "another": "document", "with": "a preset id" }, + { "delete": {"_id": "existing_document_identifier"} }, + { "update": {"_id": "another_document"} }, + { "doc": {"partial": "update"}, "upsert": {"if": "document doesn't exist"} } + ] + } +} +``` + +--- + +## Arguments + +- `collection`: collection name +- `index`: index name + +--- + +## Body properties + +The body must contain a `bulkData` array, detailing the bulk operations to perform, following [ElasticSearch Bulk API](https://www.elastic.co/guide/en/elasticsearch/reference/5.6/docs-bulk.html). + +--- + +## Response + +Returns an object containing 2 properties: + - `items`: array containing the list of executed queries result, in the same order than in the query + - `errors`: boolean indicating if some error occured during the import + +Each query result contains the following properties: + + - `_id`: document unique identifier + - `status`: HTTP status code for that query. `201` (created) or `206` (partial error) + +```js +{ + "status": 200, + "error": null, + "index": "", + "collection": "", + "controller": "bulk", + "action": "import", + "requestId": "", + "result": { + "items": [ + { + "create": { + "_id": "", + "status": 201 + } + }, + { + "create": { + "_id": "", + "status": 201 + } + }, + { + "create": { + "_id": "", + "status": 201 + } + } + ] + } +} +``` diff --git a/src/core/1/api/controllers/bulk/index.md b/src/core/1/api/controllers/bulk/index.md new file mode 100644 index 000000000..90dac5489 --- /dev/null +++ b/src/core/1/api/controllers/bulk/index.md @@ -0,0 +1,5 @@ +--- +type: branch +code: true +title: bulk +--- diff --git a/src/core/1/api/controllers/bulk/m-write/index.md b/src/core/1/api/controllers/bulk/m-write/index.md new file mode 100644 index 000000000..b07fd664a --- /dev/null +++ b/src/core/1/api/controllers/bulk/m-write/index.md @@ -0,0 +1,147 @@ +--- +code: true +type: page +title: mWrite +--- + +# mWrite + + + + +Create or replace multiple documents directly into the storage engine. + +This is a low level route intended to bypass Kuzzle actions on document creation, notably: + - check [document validity](/core/1/guides/essentials/data-validation), + - add [kuzzle metadata](/core/1/guides/essentials/document-metadata), + - trigger [realtime notifications](/core/1/guides/essentials/real-time) (unless asked otherwise) + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512///_mWrite[?refresh=wait_for][¬ify] +Method: POST +Body: +``` + +```js +{ + "documents": [ + { + "_id": "", + "body": { + // document content + } + }, + { + "_id": "", + "body": { + // document content + } + } + ] +} +``` + +### Other protocols + +```js +{ + "index": "", + "collection": "", + "controller": "bulk", + "action": "mWrite", + + "notify": "", + "body": { + "documents": [ + { + "_id": "", + "body": { + // document content + } + }, + { + "_id": "", + "body": { + // document content + } + } + ] + } +} +``` + +--- + +## Arguments + +- `collection`: data collection +- `index`: data index + +### Optional: + +- `notify`: if set to true, Kuzzle will trigger realtime notifications +- `refresh`: if set to `wait_for`, Kuzzle will not respond until the created/replaced documents are indexed + +--- + +## Body properties + +- `documents`: an array of object. Each object describes a document to create or replace, by exposing the following properties: + - `_id`: document unique identifier + - `body`: document content + +--- + +## Response + +Returns a `hits` array, containing the list of created documents, in the same order than the one provided in the query. + +Each created document is an object with the following properties: + +- `_id`: created document unique identifier +- `_source`: document content +- `_version`: version number of the document +- `created`: a boolean telling whether a document is created + +If one or more document creations fail, the response status is set to `206`, and the `error` object contains a [partial error](/core/1/api/essentials/errors/#partialerror) error. + +### Example + +```js +{ + "status": 200, + "error": null, + "index": "", + "collection": "", + "action": "mWrite", + "controller": "bulk", + "requestId": "", + "result": { + "hits": [ + { + "_id": "", + "_source": { + // document content + }, + "_version": 2, + "created": false + }, + { + "_id": "", + "_source": { + // document content + }, + "_version": 1, + "created": true + } + ], + "total": 2 + } +} +``` diff --git a/src/core/1/api/controllers/bulk/write/index.md b/src/core/1/api/controllers/bulk/write/index.md new file mode 100644 index 000000000..da1333478 --- /dev/null +++ b/src/core/1/api/controllers/bulk/write/index.md @@ -0,0 +1,101 @@ +--- +code: true +type: page +title: write +--- + +# write + + + +Create or replace a document directly into the storage engine. + +This is a low level route intended to bypass Kuzzle actions on document creation, notably: + - check [document validity](/core/1/guides/essentials/data-validation), + - add [kuzzle metadata](/core/1/guides/essentials/document-metadata), + - trigger [realtime notifications](/core/1/guides/essentials/real-time) (unless asked otherwise). + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512///_write[?refresh=wait_for][¬ify][&_id=] +Method: POST +Body: +``` + +```js +{ + // document content +} +``` + +### Other protocols + +```js +{ + "index": "", + "collection": "", + "controller": "bulk", + "action": "write", + + "_id": "", + "notify": "", + "body": { + // document content + } +} +``` + +--- + +## Arguments + +- `collection`: data collection +- `index`: data index + +### Optional: + +- `documentId`: set the document unique ID to the provided value, instead of auto-generating a random ID +- `notify`: if set to true, Kuzzle will trigger realtime notifications +- `refresh`: if set to `wait_for`, Kuzzle will not respond until the newly created document is indexed + +--- + +## Body properties + +Document content to create. + +--- + +## Response + +Returns an object with the following properties: + +- `_id`: created document unique identifier +- `_source`: document content +- `_version`: version of the created document (should be `1`) +- `created`: a boolean telling if a new document has been created + +```js +{ + "status": 200, + "error": null, + "index": "", + "collection": "", + "controller": "bulk", + "action": "write", + "requestId": "", + "result": { + "_id": "", + "_version": 1, + "created": true, + "_source": { + // ... + }, + } +} +``` diff --git a/src/core/1/api/controllers/collection/create/index.md b/src/core/1/api/controllers/collection/create/index.md new file mode 100644 index 000000000..aa863e276 --- /dev/null +++ b/src/core/1/api/controllers/collection/create/index.md @@ -0,0 +1,128 @@ +--- +code: true +type: page +title: create +--- + +# create + +Creates a new [collection](/core/1/guides/essentials/persisted), in the provided `index`. + + + +You can also provide an optional body with a [collection mapping](/core/1/guides/essentials/database-mappings) allowing you to exploit the full capabilities of our persistent data storage layer. + +This method will only update the mapping when the collection already exists. + + + +You can define the collection [dynamic mapping policy](/core/1/guides/essentials/database-mappings/#dynamic-mapping-policy) by setting the `dynamic` field to the desired value. + +You can define [collection additional metadata](/core/1/guides/essentials/database-mappings/#collection-metadata) within the `_meta` root field. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512// +Method: PUT +Body: +``` + +```js +{ + "dynamic": "[false|true|strict]", + "_meta": { + "field": "value" + }, + "properties": { + "field1": { + "type": "integer" + }, + "field2": { + "type": "keyword" + }, + "field3": { + "type": "date", + "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" + } + } +} +``` + +### Other protocols + +```js +{ + "index": "", + "collection": "", + "controller": "collection", + "action": "create", + "body": { + "dynamic": "[false|true|strict]", + "_meta": { + "field": "value" + }, + "properties": { + "field1": { + "type": "integer" + }, + "field2": { + "type": "keyword" + }, + "field3": { + "type": "date", + "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" + } + } + } +} +``` + +--- + +## Arguments + +- `collection`: name of the collection to create +- `index`: index name + +--- + +## Body properties + +### Optional: + +* `dynamic`: [dynamic mapping policy](/core/1/guides/essentials/database-mappings/#dynamic-mapping-policy) for new fields. Allowed values: `true` (default), `false`, `strict` +* `_meta`: [collection additional metadata](/core/1/guides/essentials/database-mappings/#collection-metadata) stored next to the collection +* `properties`: object describing the data mapping to associate to the new collection, using [Elasticsearch types definitions format](/core/1/guides/essentials/database-mappings/#properties-types-definition) + +--- + +## Response + +Returns a confirmation that the collection is being created: + +```js +{ + "status": 200, + "error": null, + "index": "", + "collection": "", + "controller": "collection", + "action": "create", + "requestId": "", + "result": { + "acknowledged": true + } +} +``` + +--- + +## Possible errors + +- [Common errors](/core/1/api/essentials/errors/#common-errors) +- [PreconditionError](/core/1/api/essentials/errors/#preconditionerror) diff --git a/src/core/1/api/controllers/collection/delete-specifications/index.md b/src/core/1/api/controllers/collection/delete-specifications/index.md new file mode 100644 index 000000000..3d4620ac7 --- /dev/null +++ b/src/core/1/api/controllers/collection/delete-specifications/index.md @@ -0,0 +1,68 @@ +--- +code: true +type: page +title: deleteSpecifications +--- + +# deleteSpecifications + + + +Deletes validation specifications for a collection. + +The request succeeds even if no specification exist for that collection. + +**_Note:_** an empty specification is implicitly applied to all collections. In a way, "no specification set" means "all documents are valid". + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512///_specifications +Method: DELETE +``` + +### Other protocols + +```js +{ + "index": "", + "collection": "", + "controller": "collection", + "action": "deleteSpecifications", +} +``` + +--- + +## Arguments + +- `collection`: collection name +- `index`: index name + +--- + +## Response + +Returns a confirmation that the specifications are deleted: + +```js +{ + "status": 200, + "error": null, + "index": "", + "collection": "", + "action": "deleteSpecifications", + "controller": "collection", + "result": true +} +``` + +--- + +## Possible errors + +- [Common errors](/core/1/api/essentials/errors/#common-errors) diff --git a/src/core/1/api/controllers/collection/exists/index.md b/src/core/1/api/controllers/collection/exists/index.md new file mode 100644 index 000000000..40744ed0e --- /dev/null +++ b/src/core/1/api/controllers/collection/exists/index.md @@ -0,0 +1,65 @@ +--- +code: true +type: page +title: exists +--- + +# exists + + + +Checks whether a collection exists. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512///_exists +Method: GET +``` + +### Other protocols + +```js +{ + "index": "", + "collection": "", + "controller": "collection", + "action": "exists" +} +``` + +--- + +## Arguments + +- `collection`: collection name +- `index`: index name + +--- + +## Response + +Returns a boolean telling whether the provided collection exists: + +```js +{ + "status": 200, + "error": null, + "index": "", + "collection": "", + "controller": "collection", + "action": "exists", + "requestId": "", + "result": true +} +``` + +--- + +## Possible errors + +- [Common errors](/core/1/api/essentials/errors/#common-errors) diff --git a/src/core/1/api/controllers/collection/get-mapping/index.md b/src/core/1/api/controllers/collection/get-mapping/index.md new file mode 100644 index 000000000..739942e49 --- /dev/null +++ b/src/core/1/api/controllers/collection/get-mapping/index.md @@ -0,0 +1,105 @@ +--- +code: true +type: page +title: getMapping +--- + +# getMapping + +Returns a collection mapping. + + + +Also returns the collection [dynamic mapping policy](/core/1/guides/essentials/database-mappings/#dynamic-mapping-policy) and [collection additional metadata](/core/1/guides/essentials/database-mappings/#collection-metadata). + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512///_mapping +Method: GET +``` + +### Other protocols + +```js +{ + "index": "", + "collection": "", + "controller": "collection", + "action": "getMapping" +} +``` + +--- + +## Arguments + +- `collection`: collection name +- `index`: index name + +--- + +## Response + +Returns a mapping object with the following structure: + +``` + + |- mappings + |- + |- dynamic + |- _meta + |- metadata 1 + |- metadata 1 + |- properties + |- mapping for field 1 + |- mapping for field 2 + |- ... + |- mapping for field n +``` + +### Example: + +```js +{ + "status": 200, + "error": null, + "index": "", + "collection": "", + "controller": "collection", + "action": "getMapping", + "requestId": "", + "result": { + "": { + "mappings": { + "": { + "dynamic": "true", + "_meta": { + "metadata1": "value1" + }, + "properties": { + "field1": { "type": "integer" }, + "field2": { "type": "keyword" }, + "field3": { + "type": "date", + "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" + } + } + } + } + } + } +} + +``` + +--- + +## Possible errors + +- [Common errors](/core/1/api/essentials/errors/#common-errors) +- [NotFoundError](/core/1/api/essentials/errors/#notfounderror) diff --git a/src/core/1/api/controllers/collection/get-specifications/index.md b/src/core/1/api/controllers/collection/get-specifications/index.md new file mode 100644 index 000000000..a0a58c841 --- /dev/null +++ b/src/core/1/api/controllers/collection/get-specifications/index.md @@ -0,0 +1,82 @@ +--- +code: true +type: page +title: getSpecifications +--- + +# getSpecifications + + + +Returns the validation specifications associated to the given index and collection. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512///_specifications +Method: GET +``` + +### Other protocols + +```js +{ + "index": "", + "collection": "", + "controller": "collection", + "action": "getSpecifications" +} +``` + +--- + +## Arguments + +- `collection`: collection name +- `index`: index name + +--- + +## Response + +Returns a specifications object with the following properties: + +- `collection`: specified collection +- `index`: specified index +- `validation`: specifications description + +```js +{ + "status": 200, + "error": null, + "action": "getSpecifications", + "controller": "collection", + "collection": "", + "index": "", + "result": { + "collection": "", + "index": "", + "validation": { + "fields": { + "myField": { + "defaultValue": 42, + "mandatory": true, + "type": "integer" + } + }, + "strict": true + } + } +} +``` + +--- + +## Possible errors + +- [Common errors](/core/1/api/essentials/errors/#common-errors) +- [NotFoundError](/core/1/api/essentials/errors/#notfounderror) diff --git a/src/core/1/api/controllers/collection/index.md b/src/core/1/api/controllers/collection/index.md new file mode 100644 index 000000000..f16e199ad --- /dev/null +++ b/src/core/1/api/controllers/collection/index.md @@ -0,0 +1,5 @@ +--- +type: branch +code: true +title: collection +--- diff --git a/src/core/1/api/controllers/collection/list/index.md b/src/core/1/api/controllers/collection/list/index.md new file mode 100644 index 000000000..19e670e79 --- /dev/null +++ b/src/core/1/api/controllers/collection/list/index.md @@ -0,0 +1,107 @@ +--- +code: true +type: page +title: list +--- + +# list + + + +Returns the list of collections associated to a provided index. + +The returned list is sorted in alphanumerical order. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512//_list[?type=][&from=0][&size=42] +Method: GET +``` + +### Other protocols + +```js +{ + "index": "", + "controller": "collection", + "action": "list", + "type": "stored", + "from": 0, + "size": 42 +} +``` + +--- + +## Arguments + +- `collection`: collection name +- `index`: index name + +### Optional: + +- `from` and `size`: response pagination +- `type`: filters the returned collections. Allowed values: `all`, `stored` and `realtime` (default : `all`). + +--- + +## Response + +Returns an array of objects, each one of those describing a collection, using the following properties: + +- `name`: collection name +- `type`: collection type (either `stored` or `realtime`) + +Example: + +```js +{ + "status": 200, + "error": null, + "index": "", + "controller": "collection", + "action": "list", + "requestId": "", + "result": { + "collections": [ + { + "name": "realtime_1", "type": "realtime" + }, + { + "name": "realtime_2", "type": "realtime" + }, + { + "name": "realtime_...", "type": "realtime" + }, + { + "name": "realtime_n", "type": "realtime" + }, + { + "name": "stored_1", "type": "stored" + }, + { + "name": "stored_2", "type": "stored" + }, + { + "name": "stored_...", "type": "stored" + }, + { + "name": "stored_n", "type": "stored" + } + ], + "type": "all" + } +} +``` + +--- + +## Possible errors + +- [Common errors](/core/1/api/essentials/errors/#common-errors) +- [NotFoundError](/core/1/api/essentials/errors/#notfounderror) diff --git a/src/core/1/api/controllers/collection/scroll-specifications/index.md b/src/core/1/api/controllers/collection/scroll-specifications/index.md new file mode 100644 index 000000000..34d230882 --- /dev/null +++ b/src/core/1/api/controllers/collection/scroll-specifications/index.md @@ -0,0 +1,114 @@ +--- +code: true +type: page +title: scrollSpecifications +--- + +# scrollSpecifications + + + +Moves a result set cursor forward, created by the [`searchSpecifications` request](/core/1/api/controllers/collection/search-specifications/) when the `scroll` argument is provided. + +Results returned by a `scroll` request reflect the state of the index at the time of the initial search request, like a fixed snapshot. Subsequent changes to documents do not affect the scroll results. + +--- + +## Query Syntax + +### HTTP + +```http +URL: http://kuzzle:7512/validations/_scroll/[?scroll=