diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index edacee2..5ed5dcc 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -597,14 +597,6 @@
"@babel/helper-plugin-utils": "^7.10.4"
}
},
- "@babel/plugin-syntax-typescript": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.10.4.tgz",
- "integrity": "sha512-oSAEz1YkBCAKr5Yiq8/BNtvSAPwkp/IyUnwZogd8p+F0RuYQQrLeRUzIQhueQTTBy/F+a40uS7OFKxnkRvmvFQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
"@babel/plugin-transform-arrow-functions": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz",
@@ -821,14 +813,6 @@
"@babel/helper-plugin-utils": "^7.10.4"
}
},
- "@babel/plugin-transform-react-display-name": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.10.4.tgz",
- "integrity": "sha512-Zd4X54Mu9SBfPGnEcaGcOrVAYOtjT2on8QZkLKEq1S/tHexG39d9XXGZv19VfRrDjPJzFmPfTAqOQS1pfFOujw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
"@babel/plugin-transform-react-jsx": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.10.4.tgz",
@@ -840,43 +824,6 @@
"@babel/plugin-syntax-jsx": "^7.10.4"
}
},
- "@babel/plugin-transform-react-jsx-development": {
- "version": "7.11.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.11.5.tgz",
- "integrity": "sha512-cImAmIlKJ84sDmpQzm4/0q/2xrXlDezQoixy3qoz1NJeZL/8PRon6xZtluvr4H4FzwlDGI5tCcFupMnXGtr+qw==",
- "requires": {
- "@babel/helper-builder-react-jsx-experimental": "^7.11.5",
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-syntax-jsx": "^7.10.4"
- }
- },
- "@babel/plugin-transform-react-jsx-self": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.10.4.tgz",
- "integrity": "sha512-yOvxY2pDiVJi0axdTWHSMi5T0DILN+H+SaeJeACHKjQLezEzhLx9nEF9xgpBLPtkZsks9cnb5P9iBEi21En3gg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-syntax-jsx": "^7.10.4"
- }
- },
- "@babel/plugin-transform-react-jsx-source": {
- "version": "7.10.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.10.5.tgz",
- "integrity": "sha512-wTeqHVkN1lfPLubRiZH3o73f4rfon42HpgxUSs86Nc+8QIcm/B9s8NNVXu/gwGcOyd7yDib9ikxoDLxJP0UiDA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-syntax-jsx": "^7.10.4"
- }
- },
- "@babel/plugin-transform-react-pure-annotations": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.10.4.tgz",
- "integrity": "sha512-+njZkqcOuS8RaPakrnR9KvxjoG1ASJWpoIv/doyWngId88JoFlPlISenGXjrVacZUIALGUr6eodRs1vmPnF23A==",
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.10.4",
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
"@babel/plugin-transform-regenerator": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz",
@@ -936,16 +883,6 @@
"@babel/helper-plugin-utils": "^7.10.4"
}
},
- "@babel/plugin-transform-typescript": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.11.0.tgz",
- "integrity": "sha512-edJsNzTtvb3MaXQwj8403B7mZoGu9ElDJQZOKjGUnvilquxBA3IQoEIOvkX/1O8xfAsnHS/oQhe2w/IXrr+w0w==",
- "requires": {
- "@babel/helper-create-class-features-plugin": "^7.10.5",
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-syntax-typescript": "^7.10.4"
- }
- },
"@babel/plugin-transform-unicode-escapes": {
"version": "7.10.4",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.4.tgz",
@@ -1057,20 +994,6 @@
"esutils": "^2.0.2"
}
},
- "@babel/preset-react": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.10.4.tgz",
- "integrity": "sha512-BrHp4TgOIy4M19JAfO1LhycVXOPWdDbTRep7eVyatf174Hff+6Uk53sDyajqZPu8W1qXRBiYOfIamek6jA7YVw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4",
- "@babel/plugin-transform-react-display-name": "^7.10.4",
- "@babel/plugin-transform-react-jsx": "^7.10.4",
- "@babel/plugin-transform-react-jsx-development": "^7.10.4",
- "@babel/plugin-transform-react-jsx-self": "^7.10.4",
- "@babel/plugin-transform-react-jsx-source": "^7.10.4",
- "@babel/plugin-transform-react-pure-annotations": "^7.10.4"
- }
- },
"@babel/runtime": {
"version": "7.11.2",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.11.2.tgz",
@@ -1129,6 +1052,47 @@
"resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
"integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw=="
},
+ "@blueprintjs/core": {
+ "version": "3.33.0",
+ "resolved": "https://registry.npmjs.org/@blueprintjs/core/-/core-3.33.0.tgz",
+ "integrity": "sha512-9gccauo44DsrW8IP75Qy7rKrRv3sgOTvs2Lv2DIEH9f+WZQjj37x+3bfiGKrzeWWRS5P1vP1uSgn89P/JZrD8w==",
+ "requires": {
+ "@blueprintjs/icons": "^3.22.0",
+ "@types/dom4": "^2.0.1",
+ "classnames": "^2.2",
+ "dom4": "^2.1.5",
+ "normalize.css": "^8.0.1",
+ "popper.js": "^1.16.1",
+ "react-lifecycles-compat": "^3.0.4",
+ "react-popper": "^1.3.7",
+ "react-transition-group": "^2.9.0",
+ "resize-observer-polyfill": "^1.5.1",
+ "tslib": "~1.13.0"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+ "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q=="
+ }
+ }
+ },
+ "@blueprintjs/icons": {
+ "version": "3.22.0",
+ "resolved": "https://registry.npmjs.org/@blueprintjs/icons/-/icons-3.22.0.tgz",
+ "integrity": "sha512-clfdwRQlzqs2sDxjwQr4p10Z3bGNTnqpsLgN+4TN1ECf7plEEukhvQh6YK/Lfd5xDhEBEEZ/YQCawZbyAYjfXg==",
+ "requires": {
+ "classnames": "^2.2",
+ "tslib": "~1.13.0"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+ "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q=="
+ }
+ }
+ },
"@cnakazawa/watch": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz",
@@ -1639,6 +1603,15 @@
}
}
},
+ "@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.scandir": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
@@ -1662,1219 +1635,113 @@
"fastq": "^1.6.0"
}
},
- "@parcel/babel-ast-utils": {
- "version": "2.0.0-nightly.2043",
- "resolved": "https://registry.npmjs.org/@parcel/babel-ast-utils/-/babel-ast-utils-2.0.0-nightly.2043.tgz",
- "integrity": "sha512-mZfn0We23egdskL9w2KJfwsStwuCHMLZb/qpEPdx7BofSFSIxOIBB3eJV+Pl4++Hw4o+fhYlpEOBVauFkmslyw==",
- "requires": {
- "@babel/generator": "^7.0.0",
- "@babel/parser": "^7.0.0",
- "@parcel/source-map": "2.0.0-alpha.4.15",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/babel-preset-env": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/babel-preset-env/-/babel-preset-env-2.0.0-nightly.421.tgz",
- "integrity": "sha512-9N1Lwrqn2AiubSnfz9X5WLA1tUdj+UaIB1x5SjWd8U/GICCzKrCWodqcQlkWCGhAJT0YOcARxerooH4uW522NA==",
- "requires": {
- "@babel/preset-env": "^7.4.0",
- "semver": "^5.4.1"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
- }
- }
- },
- "@parcel/babylon-walk": {
- "version": "2.0.0-nightly.2043",
- "resolved": "https://registry.npmjs.org/@parcel/babylon-walk/-/babylon-walk-2.0.0-nightly.2043.tgz",
- "integrity": "sha512-6gBPlMjazeMRoZ6C/4DaBsgeJHo6XxisxJg1hDe1mx1PbDxHkD34CG/s8t3Dl3HnCEl0Ygm+W4Vf99njLGvBaw==",
- "requires": {
- "@babel/types": "^7.0.0",
- "lodash.clone": "^4.5.0"
- }
- },
- "@parcel/bundler-default": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.0.0-nightly.421.tgz",
- "integrity": "sha512-l08ONmrYqpw/elK63ImfWVn4VTVUUElPUUox+GZPwUnvP+LW7CMWnN/Itl1ZCpVW3pgnnlzCGl8dblWCcexivw==",
- "requires": {
- "@parcel/diagnostic": "2.0.0-nightly.421+8e72ac50",
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "nullthrows": "^1.1.1"
- }
- },
- "@parcel/cache": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.0.0-nightly.421.tgz",
- "integrity": "sha512-6vk8dyyf7zTnRR6Ymt/VaXokW2qnmIZAvGe9GL0a7+Ui92MsZlmmsB+TD0/8Zmrhya5eP+Qk2TbBrJicYTO9hw==",
- "requires": {
- "@parcel/logger": "2.0.0-nightly.421+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/codeframe": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.0.0-nightly.421.tgz",
- "integrity": "sha512-TxMSsTS51pNXRBcHUyf+mzBKraycUyucWtDX01uJkJh2MddOMCHBcZs9Ey6LcvLc8wVCWfGgLZajxyk2K5shMA==",
- "requires": {
- "chalk": "^2.4.2",
- "emphasize": "^2.1.0",
- "slice-ansi": "^4.0.0",
- "string-width": "^4.2.0"
- }
- },
- "@parcel/config-default": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.0.0-nightly.421.tgz",
- "integrity": "sha512-5A/fC5K0fHNLP9/cyYySG3WMnX6cb18+u/UKuTIBJtSk/qDgEfJNKiAMGKpeMzp2Pk1bFyj5SofEioIFgJ2Zdg==",
- "requires": {
- "@parcel/bundler-default": "2.0.0-nightly.421+8e72ac50",
- "@parcel/namer-default": "2.0.0-nightly.421+8e72ac50",
- "@parcel/optimizer-cssnano": "2.0.0-nightly.421+8e72ac50",
- "@parcel/optimizer-data-url": "2.0.0-nightly.421+8e72ac50",
- "@parcel/optimizer-htmlnano": "2.0.0-nightly.421+8e72ac50",
- "@parcel/optimizer-terser": "2.0.0-nightly.421+8e72ac50",
- "@parcel/packager-css": "2.0.0-nightly.421+8e72ac50",
- "@parcel/packager-html": "2.0.0-nightly.421+8e72ac50",
- "@parcel/packager-js": "2.0.0-nightly.421+8e72ac50",
- "@parcel/packager-raw": "2.0.0-nightly.421+8e72ac50",
- "@parcel/packager-raw-url": "2.0.0-nightly.2043+8e72ac50",
- "@parcel/packager-ts": "2.0.0-nightly.421+8e72ac50",
- "@parcel/reporter-bundle-analyzer": "2.0.0-nightly.2043+8e72ac50",
- "@parcel/reporter-bundle-buddy": "2.0.0-nightly.2043+8e72ac50",
- "@parcel/reporter-cli": "2.0.0-nightly.421+8e72ac50",
- "@parcel/reporter-dev-server": "2.0.0-nightly.421+8e72ac50",
- "@parcel/resolver-default": "2.0.0-nightly.421+8e72ac50",
- "@parcel/runtime-browser-hmr": "2.0.0-nightly.421+8e72ac50",
- "@parcel/runtime-js": "2.0.0-nightly.421+8e72ac50",
- "@parcel/runtime-react-refresh": "2.0.0-nightly.421+8e72ac50",
- "@parcel/transformer-babel": "2.0.0-nightly.421+8e72ac50",
- "@parcel/transformer-coffeescript": "2.0.0-nightly.421+8e72ac50",
- "@parcel/transformer-css": "2.0.0-nightly.421+8e72ac50",
- "@parcel/transformer-graphql": "2.0.0-nightly.421+8e72ac50",
- "@parcel/transformer-html": "2.0.0-nightly.421+8e72ac50",
- "@parcel/transformer-image": "2.0.0-nightly.2043+8e72ac50",
- "@parcel/transformer-inline-string": "2.0.0-nightly.421+8e72ac50",
- "@parcel/transformer-js": "2.0.0-nightly.421+8e72ac50",
- "@parcel/transformer-json": "2.0.0-nightly.421+8e72ac50",
- "@parcel/transformer-jsonld": "2.0.0-nightly.2043+8e72ac50",
- "@parcel/transformer-less": "2.0.0-nightly.421+8e72ac50",
- "@parcel/transformer-mdx": "2.0.0-nightly.2043+8e72ac50",
- "@parcel/transformer-postcss": "2.0.0-nightly.421+8e72ac50",
- "@parcel/transformer-posthtml": "2.0.0-nightly.421+8e72ac50",
- "@parcel/transformer-pug": "2.0.0-nightly.421+8e72ac50",
- "@parcel/transformer-raw": "2.0.0-nightly.421+8e72ac50",
- "@parcel/transformer-react-refresh-babel": "2.0.0-nightly.421+8e72ac50",
- "@parcel/transformer-react-refresh-wrap": "2.0.0-nightly.421+8e72ac50",
- "@parcel/transformer-sass": "2.0.0-nightly.421+8e72ac50",
- "@parcel/transformer-stylus": "2.0.0-nightly.421+8e72ac50",
- "@parcel/transformer-sugarss": "2.0.0-nightly.421+8e72ac50",
- "@parcel/transformer-toml": "2.0.0-nightly.421+8e72ac50",
- "@parcel/transformer-typescript-types": "2.0.0-nightly.421+8e72ac50",
- "@parcel/transformer-vue": "2.0.0-nightly.2043+8e72ac50",
- "@parcel/transformer-yaml": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/core": {
- "version": "2.0.0-nightly.419",
- "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.0.0-nightly.419.tgz",
- "integrity": "sha512-2kJnzYGv1+7FdirIgIA1Le90q9llfDwazhrdRIK/HdUfPZ+zQX2mCCqtlvOzvr4Mb7mXlDe4PU1oiyS5OuEJ9Q==",
- "requires": {
- "@parcel/cache": "2.0.0-nightly.421+8e72ac50",
- "@parcel/diagnostic": "2.0.0-nightly.421+8e72ac50",
- "@parcel/events": "2.0.0-nightly.421+8e72ac50",
- "@parcel/fs": "2.0.0-nightly.421+8e72ac50",
- "@parcel/logger": "2.0.0-nightly.421+8e72ac50",
- "@parcel/package-manager": "2.0.0-nightly.421+8e72ac50",
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/source-map": "2.0.0-alpha.4.15",
- "@parcel/types": "2.0.0-nightly.421+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "@parcel/workers": "2.0.0-nightly.421+8e72ac50",
- "abortcontroller-polyfill": "^1.1.9",
- "base-x": "^3.0.8",
- "browserslist": "^4.6.6",
- "clone": "^2.1.1",
- "dotenv": "^7.0.0",
- "dotenv-expand": "^5.1.0",
- "json-source-map": "^0.6.1",
- "json5": "^1.0.1",
- "micromatch": "^4.0.2",
- "nullthrows": "^1.1.1",
- "querystring": "^0.2.0",
- "semver": "^5.4.1"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
- }
- }
- },
- "@parcel/diagnostic": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.0.0-nightly.421.tgz",
- "integrity": "sha512-pCp41otdfzNTCgBPAYBkK0d58ph8yRgdhIyJyrXbi6GaA4jVJJbUaUcbpgM1SrqJnieK3+zo9fmL4NpTHTIb2g==",
- "requires": {
- "json-source-map": "^0.6.1",
- "nullthrows": "^1.1.1"
- }
- },
- "@parcel/events": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.0.0-nightly.421.tgz",
- "integrity": "sha512-2lqY9r25vaa8oj4u4Kovio1Ypy+Bi5KXzOoG8xqaQ+d+72rHI6nljfHaugbt46W0XdNfu575WOyO1UJcwH/Xow=="
- },
"@parcel/fs": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.0.0-nightly.421.tgz",
- "integrity": "sha512-Pc6wmv7wJNe6dS+sZZqh1MGjO7eCQ80eIWGCvsPXJwuTZQp/uV4C6HvGoWGBF0WEKuoQb2tvSnpsOsXMT/dA3w==",
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-1.11.0.tgz",
+ "integrity": "sha512-86RyEqULbbVoeo8OLcv+LQ1Vq2PKBAvWTU9fCgALxuCTbbs5Ppcvll4Vr+Ko1AnmMzja/k++SzNAwJfeQXVlpA==",
"requires": {
- "@parcel/fs-write-stream-atomic": "2.0.0-nightly.2043+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "@parcel/watcher": "2.0.0-alpha.8",
- "@parcel/workers": "2.0.0-nightly.421+8e72ac50",
+ "@parcel/utils": "^1.11.0",
"mkdirp": "^0.5.1",
- "ncp": "^2.0.0",
- "nullthrows": "^1.1.1",
"rimraf": "^2.6.2"
}
},
- "@parcel/fs-write-stream-atomic": {
- "version": "2.0.0-nightly.2043",
- "resolved": "https://registry.npmjs.org/@parcel/fs-write-stream-atomic/-/fs-write-stream-atomic-2.0.0-nightly.2043.tgz",
- "integrity": "sha512-HrcVNqO0NZHHoF6hbkOta15OzAbyx8JkIyh1KlEmCgQ0ZUjnZXQjax+TYPhWSNSeLOz9z2XGywX0EeZIq93n/Q==",
- "requires": {
- "graceful-fs": "^4.1.2",
- "iferr": "^1.0.2",
- "imurmurhash": "^0.1.4",
- "readable-stream": "1 || 2"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "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"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
- },
- "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"
- }
- }
- }
- },
"@parcel/logger": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.0.0-nightly.421.tgz",
- "integrity": "sha512-uG4smJ4+AxSUVKQE2JZ/+7s0l3ZnSvcfsxS+HJp7Omuxgl8JWwjXihh1exgmL705tqXcJyBnVNJklJ4muune1A==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-1.11.1.tgz",
+ "integrity": "sha512-9NF3M6UVeP2udOBDILuoEHd8VrF4vQqoWHEafymO1pfSoOMfxrSJZw1MfyAAIUN/IFp9qjcpDCUbDZB+ioVevA==",
"requires": {
- "@parcel/diagnostic": "2.0.0-nightly.421+8e72ac50",
- "@parcel/events": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/markdown-ansi": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.0.0-nightly.421.tgz",
- "integrity": "sha512-hu1XMaU+NFNE5pNcnrRpdnZdT7fvLmP30YUAXxjANJh4L0BoitHLSvTmVERaQoAxQsdTWv6dfEdZg7VSHTS4qg==",
- "requires": {
- "chalk": "^2.4.2"
- }
- },
- "@parcel/namer-default": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.0.0-nightly.421.tgz",
- "integrity": "sha512-qI4lTW5RDXVXAhxKL+spK5gxDKOFWDaL6b1zkoU09DTFYIME6eaHJKSQh/YkUOTUhggndu0abDTg0epl6iIdyQ==",
- "requires": {
- "@parcel/diagnostic": "2.0.0-nightly.421+8e72ac50",
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "nullthrows": "^1.1.1"
- }
- },
- "@parcel/node-libs-browser": {
- "version": "2.0.0-nightly.2043",
- "resolved": "https://registry.npmjs.org/@parcel/node-libs-browser/-/node-libs-browser-2.0.0-nightly.2043.tgz",
- "integrity": "sha512-U25CPL/OoyaLIwogb5OobUmQ58EfXEanw9DGQJoRKaPmS6qJSYFGOCiY/eQ10cFRkVrqmtYMeUNMSwP1lhrD0w==",
- "requires": {
- "assert": "^2.0.0",
- "browserify-zlib": "^0.2.0",
- "buffer": "^5.5.0",
- "console-browserify": "^1.2.0",
- "constants-browserify": "^1.0.0",
- "crypto-browserify": "^3.12.0",
- "domain-browser": "^3.5.0",
- "events": "^3.1.0",
- "https-browserify": "^1.0.0",
- "os-browserify": "^0.3.0",
- "path-browserify": "^1.0.0",
- "process": "^0.11.10",
- "punycode": "^1.4.1",
- "querystring-es3": "^0.2.1",
- "readable-stream": "^3.6.0",
- "stream-http": "^3.1.0",
- "string_decoder": "^1.3.0",
- "timers-browserify": "^2.0.11",
- "tty-browserify": "^0.0.1",
- "url": "^0.11.0",
- "util": "^0.12.3",
- "vm-browserify": "^1.1.2"
+ "@parcel/workers": "^1.11.0",
+ "chalk": "^2.1.0",
+ "grapheme-breaker": "^0.3.2",
+ "ora": "^2.1.0",
+ "strip-ansi": "^4.0.0"
},
"dependencies": {
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
- }
- }
- },
- "@parcel/node-resolver-core": {
- "version": "2.0.0-nightly.2043",
- "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.0.0-nightly.2043.tgz",
- "integrity": "sha512-DzhjyKo7VTxJnP54QQmNtaMti/aqhDtdYBztdWJgJZIjXAoR/XDMLSgX4PPFeJMv/WQX6vwXxqb6sHdg3ml/yg==",
- "requires": {
- "@parcel/diagnostic": "2.0.0-nightly.421+8e72ac50",
- "@parcel/node-libs-browser": "2.0.0-nightly.2043+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "micromatch": "^3.0.4",
- "nullthrows": "^1.1.1",
- "querystring": "^0.2.0"
- },
- "dependencies": {
- "braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "requires": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "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"
- }
- }
- }
- },
- "fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "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"
- }
- }
- }
- },
- "is-number": {
+ "ansi-regex": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "requires": {
- "kind-of": "^3.0.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"
- }
- }
- }
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
},
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- },
- "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"
- }
- },
- "to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
- "requires": {
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1"
- }
- }
- }
- },
- "@parcel/optimizer-cssnano": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/optimizer-cssnano/-/optimizer-cssnano-2.0.0-nightly.421.tgz",
- "integrity": "sha512-RjUhe2Y0hbg9l75cLNKECkz2MJNh8HBJQTVFEMGRmIwnSqcYDk9bj850IyDI8H+WOcXxLlwkGB4jYP/THwrrgg==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/source-map": "2.0.0-alpha.4.15",
- "cssnano": "^4.1.10",
- "postcss": "^8.0.5"
- }
- },
- "@parcel/optimizer-data-url": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/optimizer-data-url/-/optimizer-data-url-2.0.0-nightly.421.tgz",
- "integrity": "sha512-fuEnIbZdiESDXyl3eQ97CL9Lxsn4OzTGGQnQDPCuX16kThxmmM6B65mm9zY9pFbMYsZLWZX+a9GO+DxoYgSFMA==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "isbinaryfile": "^4.0.2",
- "mime": "^2.4.4"
- }
- },
- "@parcel/optimizer-htmlnano": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.0.0-nightly.421.tgz",
- "integrity": "sha512-i3CEwJPCRRbQgD0PksJ4ZmyaU1LneBsuc6Tcr2UMgUqYBSSnQ/cxvGmqZ2s0q/3ni2uwK60FQVXRQaExfOglNg==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "htmlnano": "^0.2.2",
- "nullthrows": "^1.1.1",
- "posthtml": "^0.11.3"
- }
- },
- "@parcel/optimizer-terser": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.0.0-nightly.421.tgz",
- "integrity": "sha512-mkVZeex6KpouCInJ7OLADciNTJv+lY6UHM3YU1ti5j6ibM9v/3cP1atvO7QbV9JyUVafpKg1dtoC1UKUh3BR4w==",
- "requires": {
- "@parcel/diagnostic": "2.0.0-nightly.421+8e72ac50",
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/source-map": "2.0.0-alpha.4.15",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "nullthrows": "^1.1.1",
- "terser": "^5.2.0"
- },
- "dependencies": {
- "source-map": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
- "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ=="
- },
- "terser": {
- "version": "5.3.4",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.3.4.tgz",
- "integrity": "sha512-dxuB8KQo8Gt6OVOeLg/rxfcxdNZI/V1G6ze1czFUzPeCFWZRtvZMgSzlZZ5OYBZ4HoG607F6pFPNLekJyV+yVw==",
- "requires": {
- "commander": "^2.20.0",
- "source-map": "~0.7.2",
- "source-map-support": "~0.5.19"
- }
- }
- }
- },
- "@parcel/package-manager": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.0.0-nightly.421.tgz",
- "integrity": "sha512-vfW2h5RulBm0wpMwOQxi7N/HvqO42g6J7rd8+C3wn+ZtHBvFkj5EVQp7UKNvpaAn+s8JKYgzmJ6r5P5PzKtHsw==",
- "requires": {
- "@parcel/diagnostic": "2.0.0-nightly.421+8e72ac50",
- "@parcel/fs": "2.0.0-nightly.421+8e72ac50",
- "@parcel/logger": "2.0.0-nightly.421+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "@parcel/workers": "2.0.0-nightly.421+8e72ac50",
- "command-exists": "^1.2.6",
- "cross-spawn": "^6.0.4",
- "nullthrows": "^1.1.1",
- "resolve": "^1.12.0",
- "semver": "^5.4.1",
- "split2": "^3.1.1"
- },
- "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"
- }
- },
- "path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
- },
- "shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
- "requires": {
- "shebang-regex": "^1.0.0"
- }
- },
- "shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
- },
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "@parcel/packager-css": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.0.0-nightly.421.tgz",
- "integrity": "sha512-qiIoQBmyHFCHc62qsa+EiVPjpruPFJVScZkOc7c9mXg4xiAlGgZaX902Km6RKV68Kl0ltaWzViValctjF2Lz1A==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/source-map": "2.0.0-alpha.4.15",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/packager-html": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.0.0-nightly.421.tgz",
- "integrity": "sha512-iuwcINM1b0FiaWEySt8dU6Bqxs3qFT4rW7FVZs23REn9Ypy7zNHxnMLwjT1sVCxk3e6+thsRh4YQbybCCFNqww==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/types": "2.0.0-nightly.421+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "nullthrows": "^1.1.1",
- "posthtml": "^0.11.3"
- }
- },
- "@parcel/packager-js": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.0.0-nightly.421.tgz",
- "integrity": "sha512-zSPg/p4LbLPOvDku4v7iCwPiv/3pxoOIExO6Np7zGQ7BMtycDUuAOxX2hYAe+Pd3/VxF8tVoMCeojf1EmKEOUA==",
- "requires": {
- "@babel/traverse": "^7.2.3",
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/scope-hoisting": "2.0.0-nightly.421+8e72ac50",
- "@parcel/source-map": "2.0.0-alpha.4.15",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "nullthrows": "^1.1.1"
- }
- },
- "@parcel/packager-raw": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.0.0-nightly.421.tgz",
- "integrity": "sha512-0MNyZ8vkuAofFX4uIymfjeW7gKrXQ+/HJNcuk6rGVWZefgZ8IkstXw9DigA2cTSzFqmIOMhGGo5JbDkJM0Ooow==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/packager-raw-url": {
- "version": "2.0.0-nightly.2043",
- "resolved": "https://registry.npmjs.org/@parcel/packager-raw-url/-/packager-raw-url-2.0.0-nightly.2043.tgz",
- "integrity": "sha512-Tl7jF7P6Am2y8JK+qSyhuSiFCDuphk/oxjdIjWAP7rOT7zhm7D6TM9KfggqPYZYfUvivBKF+ZTG4ROu4XvooGA==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/packager-ts": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/packager-ts/-/packager-ts-2.0.0-nightly.421.tgz",
- "integrity": "sha512-obD4PIjOjk3oiMZo8OKu1gxUB1A7kaGQxkSb3kfJMKII+CsHkjyttWVjyQNQKf36VRupcQWw1RY7fnxDYLJQsQ==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/plugin": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.0.0-nightly.421.tgz",
- "integrity": "sha512-OgQ7EB1/DievGHMHsTAaypEKrIB4ARqOQbhZUHGI5H2gnoHiTgEmFXwSLgNwsbnbNeircFYoooIue5AzebHK1g==",
- "requires": {
- "@parcel/types": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/reporter-bundle-analyzer": {
- "version": "2.0.0-nightly.2043",
- "resolved": "https://registry.npmjs.org/@parcel/reporter-bundle-analyzer/-/reporter-bundle-analyzer-2.0.0-nightly.2043.tgz",
- "integrity": "sha512-Z0jAhVwwocshnL/cbgHDEbpmir2ypcw3vdfOgcIgas0kIVfy3xHzM4DvPmYKhiAQKX8jHBvEWcVJpV7vOA4Lmw==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "nullthrows": "^1.1.1"
- }
- },
- "@parcel/reporter-bundle-buddy": {
- "version": "2.0.0-nightly.2043",
- "resolved": "https://registry.npmjs.org/@parcel/reporter-bundle-buddy/-/reporter-bundle-buddy-2.0.0-nightly.2043.tgz",
- "integrity": "sha512-9qorpyaSO15tfvqoZ14B4tC3zvlOQRltaqW4v9XfYnSTBEqrYbSdDs5+lyQT+fNuzY6kUd8IOOz972K90uIipg==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/reporter-cli": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.0.0-nightly.421.tgz",
- "integrity": "sha512-o1EAcbNvzaLssTNoVf1hzKtLxd3JHTaXrv1/q7+ZtQLwxRD4b30CMLhU+kJN92Vqra+MggNyE8RCApiTXud/xA==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/types": "2.0.0-nightly.421+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "chalk": "^3.0.0",
- "filesize": "^3.6.0",
- "nullthrows": "^1.1.1",
- "ora": "^4.0.3",
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "term-size": "^2.1.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
- },
- "has-flag": {
+ "strip-ansi": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"requires": {
- "has-flag": "^4.0.0"
+ "ansi-regex": "^3.0.0"
}
}
}
},
- "@parcel/reporter-dev-server": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.0.0-nightly.421.tgz",
- "integrity": "sha512-71FygFUa+okIho6IFBdXpfT7hqdq+kO3jViJyudNp0hzM9JZ0cD5HCVWApPJYfAK8kpX52XU1DniYXs0LJidiQ==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "connect": "^3.7.0",
- "ejs": "^2.6.1",
- "http-proxy-middleware": "^0.19.1",
- "nullthrows": "^1.1.1",
- "serve-handler": "^6.0.0",
- "ws": "^6.2.0"
- }
- },
- "@parcel/resolver-default": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.0.0-nightly.421.tgz",
- "integrity": "sha512-seN+S7dhI1xJi5wu1CM6P+XVNLpVRkNj/HjXMntUM/ZpXjo1imAB0jbaj8EZFH9gjeCgkCCT+SCSYOE8MYwFrg==",
- "requires": {
- "@parcel/node-resolver-core": "2.0.0-nightly.2043+8e72ac50",
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/runtime-browser-hmr": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.0.0-nightly.421.tgz",
- "integrity": "sha512-kbGvWjaW/n17Dps1tvk0wSCCqhubhv6eU2lKfCO4Qo72tEUvkaOTgV/O1fEjbCvkltULP6V5LU8xeiFjVCy97w==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/runtime-js": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.0.0-nightly.421.tgz",
- "integrity": "sha512-3fcmp4HkYO3/Dkd91QafCcXTKw5AocjDiqEL2tam/+0l6hJWNr0+LUOk+F95uGzkVM4MnJX8yYXgMEBYrlqgfg==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "nullthrows": "^1.1.1"
- }
- },
- "@parcel/runtime-react-refresh": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.0.0-nightly.421.tgz",
- "integrity": "sha512-czH7l418DQ5f2G9rDJJW+Uk2f7A0eCAegfs1VYfi2kXIOFNe9+sOSrHTdXsHld2NieWl28ZVFZiAmeysiMOilw==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "react-refresh": "^0.6.0"
- }
- },
- "@parcel/scope-hoisting": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/scope-hoisting/-/scope-hoisting-2.0.0-nightly.421.tgz",
- "integrity": "sha512-2zH8ApLk3uVuy/Xsj50F08OPm/3bs4zO/I+Ma9sVFVg3wUw8t731FzRJ6Jro4/DSsxOZwTdMwXD39tc3ds6AVQ==",
- "requires": {
- "@babel/generator": "^7.3.3",
- "@babel/parser": "^7.0.0",
- "@babel/template": "^7.4.0",
- "@babel/traverse": "^7.2.3",
- "@babel/types": "^7.3.3",
- "@parcel/babel-ast-utils": "2.0.0-nightly.2043+8e72ac50",
- "@parcel/babylon-walk": "2.0.0-nightly.2043+8e72ac50",
- "@parcel/diagnostic": "2.0.0-nightly.421+8e72ac50",
- "@parcel/source-map": "2.0.0-alpha.4.15",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "nullthrows": "^1.1.1"
- }
- },
- "@parcel/source-map": {
- "version": "2.0.0-alpha.4.15",
- "resolved": "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.0.0-alpha.4.15.tgz",
- "integrity": "sha512-F76K4slZca9HBUuazfoz8XUydAkBJFbWptVYce5ieWb8BtCRuHtkQTYXDUHMCvWqWSY9fxPnEECO+uwhf1uj0A==",
- "requires": {
- "node-addon-api": "^3.0.0",
- "node-gyp-build": "^4.2.2"
- }
- },
- "@parcel/transformer-babel": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.0.0-nightly.421.tgz",
- "integrity": "sha512-44MMcQEL6hFWG9IDJMC/Yy68svNbkSKyB6XMLmpJ51pZGTtmA+1bUbawbpLG9CFyBWHDszHNIAPlG7n6KAa2Hg==",
- "requires": {
- "@babel/core": "^7.0.0",
- "@babel/generator": "^7.0.0",
- "@babel/helper-compilation-targets": "^7.8.4",
- "@babel/plugin-transform-flow-strip-types": "^7.0.0",
- "@babel/plugin-transform-typescript": "^7.4.5",
- "@babel/preset-env": "^7.0.0",
- "@babel/preset-react": "^7.0.0",
- "@babel/traverse": "^7.0.0",
- "@parcel/babel-ast-utils": "2.0.0-nightly.2043+8e72ac50",
- "@parcel/babel-preset-env": "2.0.0-nightly.421+8e72ac50",
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "browserslist": "^4.6.6",
- "core-js": "^3.2.1",
- "nullthrows": "^1.1.1",
- "semver": "^5.7.0"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
- }
- }
- },
- "@parcel/transformer-coffeescript": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-coffeescript/-/transformer-coffeescript-2.0.0-nightly.421.tgz",
- "integrity": "sha512-RCfPGqLsDEvLLlfeVtojFEqMW5OCwfRYDcijO0QoNS7W1s+JCSemNJ9MOYwK4NQbmLOwbDgZqyZ1Rjikb3ZlJQ==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/source-map": "2.0.0-alpha.4.15",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "coffeescript": "^2.0.3",
- "nullthrows": "^1.1.1",
- "semver": "^5.4.1"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
- }
- }
- },
- "@parcel/transformer-css": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.0.0-nightly.421.tgz",
- "integrity": "sha512-pfG/6GkCGtqBzMUNjeP9MwU1mROF6ClRdvHiAesx7GPH6dQd0+dz9navRVu6WckF00zetBPo5XZN2Bmlnbjn1A==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/source-map": "2.0.0-alpha.4.15",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "postcss": "^8.0.5",
- "postcss-value-parser": "^4.1.0",
- "semver": "^5.4.1"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
- }
- }
- },
- "@parcel/transformer-graphql": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-graphql/-/transformer-graphql-2.0.0-nightly.421.tgz",
- "integrity": "sha512-a2UdUJhXrQz0y0lriYGo7VSSMkxDaSb/1pKDdfER0Qyj/ZJRQGy92418XgOqRO3EGj739rPDGarocHgDKZUDzg==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/transformer-html": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.0.0-nightly.421.tgz",
- "integrity": "sha512-LKSgzmn9y3SFVURHJe5kUup+MgZHOvDHUg3FtRQeXsIylYWp7rnLCnyhBULIo4fkP6Q3wdxfb5RnA18aK4XbLg==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "nullthrows": "^1.1.1",
- "posthtml": "^0.11.3",
- "posthtml-parser": "^0.4.1",
- "posthtml-render": "^1.1.5",
- "semver": "^5.4.1"
- },
- "dependencies": {
- "posthtml-parser": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.4.2.tgz",
- "integrity": "sha512-BUIorsYJTvS9UhXxPTzupIztOMVNPa/HtAm9KHni9z6qEfiJ1bpOBL5DfUOL9XAc3XkLIEzBzpph+Zbm4AdRAg==",
- "requires": {
- "htmlparser2": "^3.9.2"
- }
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
- }
- }
- },
- "@parcel/transformer-image": {
- "version": "2.0.0-nightly.2043",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.0.0-nightly.2043.tgz",
- "integrity": "sha512-AyayFDKVC2VCV5LwZvYVoTyhxQdnZxj+C+dceLm0yZgiv2rYvia+51yySKm/vDDsb3S4RSAucFamJJOAwR3mkg==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/transformer-inline-string": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-inline-string/-/transformer-inline-string-2.0.0-nightly.421.tgz",
- "integrity": "sha512-OInWN+kwXS8P1jLA4OZixfTh7XORkNnBVBG0xPUbwVYU24rmSMFlYfyE4nyFEOYsVQkzTmwstZyj+E4aPLIG8w==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/transformer-js": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.0.0-nightly.421.tgz",
- "integrity": "sha512-ZHLfUtBmXbMLQ5tDBNC8qGCtY/iq6EzKaN00ooLP8rG3z3F8TyZ8Do5xynxHx/iKbLbVaAbGlI+Nu7QApy2gVQ==",
- "requires": {
- "@babel/core": "^7.0.0",
- "@babel/generator": "^7.0.0",
- "@babel/parser": "^7.0.0",
- "@babel/plugin-transform-modules-commonjs": "^7.0.0",
- "@babel/template": "^7.4.0",
- "@babel/traverse": "^7.0.0",
- "@babel/types": "^7.0.0",
- "@parcel/babel-ast-utils": "2.0.0-nightly.2043+8e72ac50",
- "@parcel/babylon-walk": "2.0.0-nightly.2043+8e72ac50",
- "@parcel/diagnostic": "2.0.0-nightly.421+8e72ac50",
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/scope-hoisting": "2.0.0-nightly.421+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "micromatch": "^4.0.2",
- "nullthrows": "^1.1.1",
- "semver": "^5.4.1"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
- }
- }
- },
- "@parcel/transformer-json": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.0.0-nightly.421.tgz",
- "integrity": "sha512-OSs0vRuNPZgv6COUddzbARXIA4ejymPkRYFL8tQMcwe+Y0EE59et5wxQLL2gwiCwGFu/jsr4VI8Zuq/gLGEdKQ==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "json5": "^2.1.0"
- },
- "dependencies": {
- "json5": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
- "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
- "requires": {
- "minimist": "^1.2.5"
- }
- }
- }
- },
- "@parcel/transformer-jsonld": {
- "version": "2.0.0-nightly.2043",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-jsonld/-/transformer-jsonld-2.0.0-nightly.2043.tgz",
- "integrity": "sha512-ysb3zRPtDl1gDCpMsHwRC/Fem/oxYpcIBlSJbNZiSVoe22arVeO1mLdzisKNXyDlOzup+ncpQS68KwgbJdIyHw==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/types": "2.0.0-nightly.421+8e72ac50",
- "json5": "^2.1.2"
- },
- "dependencies": {
- "json5": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
- "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
- "requires": {
- "minimist": "^1.2.5"
- }
- }
- }
- },
- "@parcel/transformer-less": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-less/-/transformer-less-2.0.0-nightly.421.tgz",
- "integrity": "sha512-/tmchft6zF+jsplFUfONujsVQimDc9WcdnWta92HRJidSccWGWJGIBKmdZOlnpBAG5KjfdKEh3p5mFKKNxfJPA==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/source-map": "2.0.0-alpha.4.15"
- }
- },
- "@parcel/transformer-mdx": {
- "version": "2.0.0-nightly.2043",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-mdx/-/transformer-mdx-2.0.0-nightly.2043.tgz",
- "integrity": "sha512-IU7c53o8TRr/7QP5TQxmTW0pt1R+dDeQgyK752eph1EBzAITx0HuIzHIopKS3ZI50iaYXfL9qCB7Yt9BULMR6w==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/transformer-postcss": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.0.0-nightly.421.tgz",
- "integrity": "sha512-NOKzlIgSmwaGLCJBHuBh/XMTEQGBHf+ym+8W6O95CUzWF17inWi+kdNNa6EGjJxizJGka0ZH3S7aB+oyf6Raaw==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "css-modules-loader-core": "^1.1.0",
- "nullthrows": "^1.1.1",
- "postcss-value-parser": "^4.1.0",
- "semver": "^5.4.1"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
- }
- }
- },
- "@parcel/transformer-posthtml": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.0.0-nightly.421.tgz",
- "integrity": "sha512-TtYtP6zJl69O2/5fV1dyCE7hno/miuvwrTPsxM9kJHHYV9nKgyCrUwvhL80zzP2rH+2ZJGFkVNZgnQjouNaSUA==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "nullthrows": "^1.1.1",
- "posthtml": "^0.11.3",
- "posthtml-parser": "^0.4.1",
- "posthtml-render": "^1.1.5",
- "semver": "^5.4.1"
- },
- "dependencies": {
- "posthtml-parser": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.4.2.tgz",
- "integrity": "sha512-BUIorsYJTvS9UhXxPTzupIztOMVNPa/HtAm9KHni9z6qEfiJ1bpOBL5DfUOL9XAc3XkLIEzBzpph+Zbm4AdRAg==",
- "requires": {
- "htmlparser2": "^3.9.2"
- }
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
- }
- }
- },
- "@parcel/transformer-pug": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-pug/-/transformer-pug-2.0.0-nightly.421.tgz",
- "integrity": "sha512-9JjUfTCSSdJoObt0uSAtb5rkkRo5rbomahvhDctzeOr6QlUIr/z+Ky9vkEGev949HSl2/h/xgXXNhlz9EUOiBg==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/transformer-raw": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.0.0-nightly.421.tgz",
- "integrity": "sha512-ajuZGORetuBj8Fo0g4uHBhjN4m0Qd2WBVyelNcOcOH3s6Ta0F4NF6pMEyPQTay6LyxQEjDCVs0NE5sy8yKVgFw==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/transformer-react-refresh-babel": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-babel/-/transformer-react-refresh-babel-2.0.0-nightly.421.tgz",
- "integrity": "sha512-mUXHHy2GBh/USQCNlHCNKktLk1tsZWFSs7bmKa69uTI9FVfoVNezkRxRDJWiWbtFWz2TZFFhLsY6xdhPKmBMgA==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "react-refresh": "^0.6.0"
- }
- },
- "@parcel/transformer-react-refresh-wrap": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.0.0-nightly.421.tgz",
- "integrity": "sha512-gHHDFZvzD4N/sGs/U99vVRtqo5Z8pwBz0H6DlfpZLn8VGgScZBCxx/VFUo8scjpn6HjHTqFQXVgK/S8WtT0RXA==",
- "requires": {
- "@babel/generator": "^7.0.0",
- "@babel/parser": "^7.0.0",
- "@babel/template": "^7.4.0",
- "@babel/types": "^7.0.0",
- "@parcel/babel-ast-utils": "2.0.0-nightly.2043+8e72ac50",
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "react-refresh": "^0.6.0",
- "semver": "^5.4.1"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
- }
- }
- },
- "@parcel/transformer-sass": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-sass/-/transformer-sass-2.0.0-nightly.421.tgz",
- "integrity": "sha512-BZFzg2tRSNooHGTdHJpN2h+JgT1fx5ThJShe71eP0L3ste93V64fBtTpvE5elDmGf/1EMBjblkGFi7agsHS66w==",
- "requires": {
- "@parcel/fs": "2.0.0-nightly.421+8e72ac50",
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/source-map": "2.0.0-alpha.4.15",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/transformer-stylus": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-stylus/-/transformer-stylus-2.0.0-nightly.421.tgz",
- "integrity": "sha512-p07ecihy3m5wnADDeprcooqQctXFg36U2ENi3OPpFINwO8a5Iurx3hjH2jcbPBAyP08KuyNNAWw7C2otrN3PdA==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/transformer-sugarss": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-sugarss/-/transformer-sugarss-2.0.0-nightly.421.tgz",
- "integrity": "sha512-ui6pEDwyZYYB0Fyhzh7rTf0rx/bHh/54zVdENm1/6mPPU+gz5Mc70F52o8NWhImfwJ3uY1dV5EC0f1PSO7nWqQ==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "postcss": "^8.0.5"
- }
- },
- "@parcel/transformer-toml": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-toml/-/transformer-toml-2.0.0-nightly.421.tgz",
- "integrity": "sha512-pbX2XoF0R3DgFQO0JuCUada+giKTVAc/t9AmG5MwoZMZyi0+1KkX6GtwcsBDGpQ2J5Vmp1r9mbM0jSceppB8IA==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/transformer-typescript-types": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-typescript-types/-/transformer-typescript-types-2.0.0-nightly.421.tgz",
- "integrity": "sha512-JQ64nO2o176zfZt2cqHi22mNxCh4c4fZEDGY0famlyK8Y12Kv3pDWr33V0GbFKoRlLVi7RmYhx5OPv4DMUyW0A==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/source-map": "2.0.0-alpha.4.15",
- "@parcel/ts-utils": "2.0.0-nightly.421+8e72ac50",
- "nullthrows": "^1.1.1"
- }
- },
- "@parcel/transformer-vue": {
- "version": "2.0.0-nightly.2043",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-vue/-/transformer-vue-2.0.0-nightly.2043.tgz",
- "integrity": "sha512-jMyEmTYfJVEpoI1BrAbAy3xGPkpsiuWJqXkS/Kv39i9MNkIsrQthGydta96+Bhj9JrA+G6GeuIEBOwyKI+Tk0g==",
- "requires": {
- "@parcel/diagnostic": "2.0.0-nightly.421+8e72ac50",
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50",
- "@parcel/source-map": "2.0.0-alpha.4.15",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "nullthrows": "^1.1.1",
- "semver": "^5.4.1"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
- }
- }
- },
- "@parcel/transformer-yaml": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/transformer-yaml/-/transformer-yaml-2.0.0-nightly.421.tgz",
- "integrity": "sha512-Ot0ezSEoKUCgZUV4vkCHAo8PU8M50QytkFv8QCTb/kIYXVQo/qHkcZQ9/OouM3Bj+fW4cXd79LEcVZa1fbSOhw==",
- "requires": {
- "@parcel/plugin": "2.0.0-nightly.421+8e72ac50"
- }
- },
- "@parcel/ts-utils": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/ts-utils/-/ts-utils-2.0.0-nightly.421.tgz",
- "integrity": "sha512-ULXP7SCAh7XSk8z+rk3aH1DmEiLOdh3YOh8A5KfiVS16KrimkVGYUgVWbQVn2wOHQSsbB+6unnbS5jsVf0NVNw==",
- "requires": {
- "nullthrows": "^1.1.1"
- }
- },
- "@parcel/types": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.0.0-nightly.421.tgz",
- "integrity": "sha512-0lpA1T6UCB/kh7CbY2d4h7LQRGaq3mTmJT6X57TnG92M0ib7P+dsoVKt9fAQXlgELKClLmqEgaxOUiMEzK0r8g=="
- },
"@parcel/utils": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.0.0-nightly.421.tgz",
- "integrity": "sha512-fBoJIOwAd1P0OXOTU1DMoiE+YihbgA2NMhtYqHLIYCJWw+k+arvm+9IBuf/n1ldCpGOgB9d1ejY1AjGyNPfBtg==",
- "requires": {
- "@iarna/toml": "^2.2.0",
- "@parcel/codeframe": "2.0.0-nightly.421+8e72ac50",
- "@parcel/diagnostic": "2.0.0-nightly.421+8e72ac50",
- "@parcel/logger": "2.0.0-nightly.421+8e72ac50",
- "@parcel/markdown-ansi": "2.0.0-nightly.421+8e72ac50",
- "@parcel/source-map": "2.0.0-alpha.4.15",
- "ansi-html": "^0.0.7",
- "chalk": "^2.4.2",
- "clone": "^2.1.1",
- "fast-glob": "3.1.1",
- "fastest-levenshtein": "^1.0.8",
- "is-glob": "^4.0.0",
- "is-url": "^1.2.2",
- "json5": "^1.0.1",
- "micromatch": "^4.0.2",
- "node-forge": "^0.10.0",
- "nullthrows": "^1.1.1",
- "open": "^7.0.3",
- "resolve": "^1.12.0"
- },
- "dependencies": {
- "fast-glob": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.1.1.tgz",
- "integrity": "sha512-nTCREpBY8w8r+boyFYAx21iL6faSsQynliPHM4Uf56SbkyohCNxpVPEH9xrF5TXKy+IsjkPUHDKiUkzBVRXn9g==",
- "requires": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.0",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.2"
- }
- }
- }
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-1.11.0.tgz",
+ "integrity": "sha512-cA3p4jTlaMeOtAKR/6AadanOPvKeg8VwgnHhOyfi0yClD0TZS/hi9xu12w4EzA/8NtHu0g6o4RDfcNjqN8l1AQ=="
},
"@parcel/watcher": {
- "version": "2.0.0-alpha.8",
- "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.0-alpha.8.tgz",
- "integrity": "sha512-9aQu1SFkR6t1UYo3Mj1Vg39/Scaa9i4xGZnZ5Ug/qLyVzHmdjyKDyAbsbUDAd1O2e+MUhr5GI1w1FzBI6J31Jw==",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-1.12.1.tgz",
+ "integrity": "sha512-od+uCtCxC/KoNQAIE1vWx1YTyKYY+7CTrxBJPRh3cDWw/C0tCtlBMVlrbplscGoEpt6B27KhJDCv82PBxOERNA==",
"requires": {
- "lint-staged": "^10.0.8",
- "node-addon-api": "^3.0.0",
- "node-gyp-build": "^4.2.1"
+ "@parcel/utils": "^1.11.0",
+ "chokidar": "^2.1.5"
}
},
"@parcel/workers": {
- "version": "2.0.0-nightly.421",
- "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.0.0-nightly.421.tgz",
- "integrity": "sha512-Qevz2F9jYVxzvmzsNNyt40R0LWe+vkPc5D4uiZyKnrvuGozODau9GZI6GroXsPPdlZmrtCCNSE0xJz4WoprXiQ==",
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-1.11.0.tgz",
+ "integrity": "sha512-USSjRAAQYsZFlv43FUPdD+jEGML5/8oLF0rUzPQTtK4q9kvaXr49F5ZplyLz5lox78cLZ0TxN2bIDQ1xhOkulQ==",
"requires": {
- "@parcel/diagnostic": "2.0.0-nightly.421+8e72ac50",
- "@parcel/logger": "2.0.0-nightly.421+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
- "chrome-trace-event": "^1.0.2",
- "nullthrows": "^1.1.1"
+ "@parcel/utils": "^1.11.0",
+ "physical-cpu-count": "^2.0.0"
}
},
+ "@redux-saga/core": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@redux-saga/core/-/core-1.1.3.tgz",
+ "integrity": "sha512-8tInBftak8TPzE6X13ABmEtRJGjtK17w7VUs7qV17S8hCO5S3+aUTWZ/DBsBJPdE8Z5jOPwYALyvofgq1Ws+kg==",
+ "requires": {
+ "@babel/runtime": "^7.6.3",
+ "@redux-saga/deferred": "^1.1.2",
+ "@redux-saga/delay-p": "^1.1.2",
+ "@redux-saga/is": "^1.1.2",
+ "@redux-saga/symbols": "^1.1.2",
+ "@redux-saga/types": "^1.1.0",
+ "redux": "^4.0.4",
+ "typescript-tuple": "^2.2.1"
+ }
+ },
+ "@redux-saga/deferred": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@redux-saga/deferred/-/deferred-1.1.2.tgz",
+ "integrity": "sha512-908rDLHFN2UUzt2jb4uOzj6afpjgJe3MjICaUNO3bvkV/kN/cNeI9PMr8BsFXB/MR8WTAZQq/PlTq8Kww3TBSQ=="
+ },
+ "@redux-saga/delay-p": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@redux-saga/delay-p/-/delay-p-1.1.2.tgz",
+ "integrity": "sha512-ojc+1IoC6OP65Ts5+ZHbEYdrohmIw1j9P7HS9MOJezqMYtCDgpkoqB5enAAZrNtnbSL6gVCWPHaoaTY5KeO0/g==",
+ "requires": {
+ "@redux-saga/symbols": "^1.1.2"
+ }
+ },
+ "@redux-saga/is": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@redux-saga/is/-/is-1.1.2.tgz",
+ "integrity": "sha512-OLbunKVsCVNTKEf2cH4TYyNbbPgvmZ52iaxBD4I1fTif4+MTXMa4/Z07L83zW/hTCXwpSZvXogqMqLfex2Tg6w==",
+ "requires": {
+ "@redux-saga/symbols": "^1.1.2",
+ "@redux-saga/types": "^1.1.0"
+ }
+ },
+ "@redux-saga/symbols": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@redux-saga/symbols/-/symbols-1.1.2.tgz",
+ "integrity": "sha512-EfdGnF423glv3uMwLsGAtE6bg+R9MdqlHEzExnfagXPrIiuxwr3bdiAwz3gi+PsrQ3yBlaBpfGLtDG8rf3LgQQ=="
+ },
+ "@redux-saga/types": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@redux-saga/types/-/types-1.1.0.tgz",
+ "integrity": "sha512-afmTuJrylUU/0OtqzaRkbyYFFNgCF73Bvel/sw90pvGrWIZ+vyoIJqA6eMSoA6+nb443kTmulmBtC9NerXboNg=="
+ },
"@sinonjs/commons": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.1.tgz",
@@ -2891,6 +1758,38 @@
"@sinonjs/commons": "^1.7.0"
}
},
+ "@types/autoprefixer": {
+ "version": "9.7.2",
+ "resolved": "https://registry.npmjs.org/@types/autoprefixer/-/autoprefixer-9.7.2.tgz",
+ "integrity": "sha512-QX7U7YW3zX3ex6MECtWO9folTGsXeP4b8bSjTq3I1ODM+H+sFHwGKuof+T+qBcDClGlCGtDb3SVfiTVfmcxw4g==",
+ "dev": true,
+ "requires": {
+ "@types/browserslist": "*",
+ "postcss": "7.x.x"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "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==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
"@types/babel__core": {
"version": "7.1.10",
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.10.tgz",
@@ -2928,6 +1827,12 @@
"@babel/types": "^7.3.0"
}
},
+ "@types/browserslist": {
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/@types/browserslist/-/browserslist-4.8.0.tgz",
+ "integrity": "sha512-4PyO9OM08APvxxo1NmQyQKlJdowPCOQIy5D/NLO3aO0vGC57wsMptvGp3b8IbYnupFZr92l1dlVief1JvS6STQ==",
+ "dev": true
+ },
"@types/cheerio": {
"version": "0.22.22",
"resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.22.tgz",
@@ -2937,6 +1842,11 @@
"@types/node": "*"
}
},
+ "@types/dom4": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@types/dom4/-/dom4-2.0.1.tgz",
+ "integrity": "sha512-kSkVAvWmMZiCYtvqjqQEwOmvKwcH+V4uiv3qPQ8pAh1Xl39xggGEo8gHUqV4waYGHezdFw0rKBR8Jt0CrQSDZA=="
+ },
"@types/enzyme": {
"version": "3.10.7",
"resolved": "https://registry.npmjs.org/@types/enzyme/-/enzyme-3.10.7.tgz",
@@ -2994,6 +1904,22 @@
"@types/node": "*"
}
},
+ "@types/history": {
+ "version": "4.7.8",
+ "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.8.tgz",
+ "integrity": "sha512-S78QIYirQcUoo6UJZx9CSP0O2ix9IaeAXwQi26Rhr/+mg7qqPy8TzaxHSUut7eGjL8WmLccT7/MXf304WjqHcA==",
+ "dev": true
+ },
+ "@types/hoist-non-react-statics": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
+ "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==",
+ "dev": true,
+ "requires": {
+ "@types/react": "*",
+ "hoist-non-react-statics": "^3.3.0"
+ }
+ },
"@types/istanbul-lib-coverage": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
@@ -3141,11 +2067,6 @@
"resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
"integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA=="
},
- "@types/parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA=="
- },
"@types/prettier": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.1.tgz",
@@ -3181,6 +2102,48 @@
"@types/react": "*"
}
},
+ "@types/react-redux": {
+ "version": "7.1.9",
+ "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.9.tgz",
+ "integrity": "sha512-mpC0jqxhP4mhmOl3P4ipRsgTgbNofMRXJb08Ms6gekViLj61v1hOZEKWDCyWsdONr6EjEA6ZHXC446wdywDe0w==",
+ "dev": true,
+ "requires": {
+ "@types/hoist-non-react-statics": "^3.3.0",
+ "@types/react": "*",
+ "hoist-non-react-statics": "^3.3.0",
+ "redux": "^4.0.0"
+ }
+ },
+ "@types/react-router": {
+ "version": "5.1.8",
+ "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.8.tgz",
+ "integrity": "sha512-HzOyJb+wFmyEhyfp4D4NYrumi+LQgQL/68HvJO+q6XtuHSDvw6Aqov7sCAhjbNq3bUPgPqbdvjXC5HeB2oEAPg==",
+ "dev": true,
+ "requires": {
+ "@types/history": "*",
+ "@types/react": "*"
+ }
+ },
+ "@types/react-router-dom": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.1.6.tgz",
+ "integrity": "sha512-gjrxYqxz37zWEdMVvQtWPFMFj1dRDb4TGOcgyOfSXTrEXdF92L00WE3C471O3TV/RF1oskcStkXsOU0Ete4s/g==",
+ "dev": true,
+ "requires": {
+ "@types/history": "*",
+ "@types/react": "*",
+ "@types/react-router": "*"
+ }
+ },
+ "@types/sass": {
+ "version": "1.16.0",
+ "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.16.0.tgz",
+ "integrity": "sha512-2XZovu4NwcqmtZtsBR5XYLw18T8cBCnU2USFHTnYLLHz9fkhnoEMoDsqShJIOFsFhn5aJHjweiUUdTrDGujegA==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
"@types/stack-utils": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz",
@@ -3280,15 +2243,10 @@
"resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
"integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q=="
},
- "abortcontroller-polyfill": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.5.0.tgz",
- "integrity": "sha512-O6Xk757Jb4o0LMzMOMdWvxpHWrQzruYBaUruFaIOfAQRnWFxfdXYobw12jrVHGtoXk6WiiyYzc0QWN9aL62HQA=="
- },
"acorn": {
- "version": "6.4.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
- "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ=="
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
},
"acorn-globals": {
"version": "4.3.4",
@@ -3297,6 +2255,13 @@
"requires": {
"acorn": "^6.0.1",
"acorn-walk": "^6.0.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
+ "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ=="
+ }
}
},
"acorn-jsx": {
@@ -3309,15 +2274,6 @@
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz",
"integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA=="
},
- "aggregate-error": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
- "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
- "requires": {
- "clean-stack": "^2.0.0",
- "indent-string": "^4.0.0"
- }
- },
"airbnb-prop-types": {
"version": "2.16.0",
"resolved": "https://registry.npmjs.org/airbnb-prop-types/-/airbnb-prop-types-2.16.0.tgz",
@@ -3363,11 +2319,6 @@
"type-fest": "^0.11.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-regex": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
@@ -3381,6 +2332,21 @@
"color-convert": "^1.9.0"
}
},
+ "ansi-to-html": {
+ "version": "0.6.14",
+ "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.14.tgz",
+ "integrity": "sha512-7ZslfB1+EnFSDO5Ju+ue5Y6It19DRnZXWv8jrGHgIlPna5Mh4jz7BV5jCbQneXNFurQcKoolaaAjHtgSBfOIuA==",
+ "requires": {
+ "entities": "^1.1.2"
+ },
+ "dependencies": {
+ "entities": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
+ "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
+ }
+ }
+ },
"anymatch": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
@@ -3507,14 +2473,27 @@
}
},
"assert": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz",
- "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
+ "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
"requires": {
- "es6-object-assign": "^1.1.0",
- "is-nan": "^1.2.1",
- "object-is": "^1.0.1",
- "util": "^0.12.0"
+ "object-assign": "^4.1.1",
+ "util": "0.10.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE="
+ },
+ "util": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+ "requires": {
+ "inherits": "2.0.1"
+ }
+ }
}
},
"assert-plus": {
@@ -3532,10 +2511,10 @@
"resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
"integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0="
},
- "astral-regex": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
- "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ=="
+ "async-each": {
+ "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-limiter": {
"version": "1.0.1",
@@ -3552,12 +2531,43 @@
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
"integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
},
- "available-typed-arrays": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz",
- "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==",
+ "autoprefixer": {
+ "version": "9.8.6",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz",
+ "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==",
"requires": {
- "array-filter": "^1.0.0"
+ "browserslist": "^4.12.0",
+ "caniuse-lite": "^1.0.30001109",
+ "colorette": "^1.2.1",
+ "normalize-range": "^0.1.2",
+ "num2fraction": "^1.2.2",
+ "postcss": "^7.0.32",
+ "postcss-value-parser": "^4.1.0"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "postcss-value-parser": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
+ "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ=="
+ },
+ "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"
+ }
+ }
}
},
"aws-sign2": {
@@ -3698,6 +2708,50 @@
"babel-preset-current-node-syntax": "^0.1.3"
}
},
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ },
+ "dependencies": {
+ "regenerator-runtime": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
+ }
+ }
+ },
+ "babel-types": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.4",
+ "to-fast-properties": "^1.0.3"
+ },
+ "dependencies": {
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
+ }
+ }
+ },
+ "babylon-walk": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/babylon-walk/-/babylon-walk-1.0.2.tgz",
+ "integrity": "sha1-OxWl3btIKni0zpwByLoYFwLZ1s4=",
+ "requires": {
+ "babel-runtime": "^6.11.6",
+ "babel-types": "^6.15.0",
+ "lodash.clone": "^4.5.0"
+ }
+ },
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
@@ -3758,14 +2812,6 @@
}
}
},
- "base-x": {
- "version": "3.0.8",
- "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz",
- "integrity": "sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==",
- "requires": {
- "safe-buffer": "^5.0.1"
- }
- },
"base64-js": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
@@ -3779,6 +2825,19 @@
"tweetnacl": "^0.14.3"
}
},
+ "binary-extensions": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
+ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw=="
+ },
+ "bindings": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
+ "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+ "requires": {
+ "file-uri-to-path": "1.0.0"
+ }
+ },
"bn.js": {
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz",
@@ -3806,6 +2865,17 @@
"fill-range": "^7.0.1"
}
},
+ "brfs": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz",
+ "integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==",
+ "requires": {
+ "quote-stream": "^1.0.1",
+ "resolve": "^1.1.5",
+ "static-module": "^2.2.0",
+ "through2": "^2.0.0"
+ }
+ },
"brorand": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
@@ -3888,6 +2958,13 @@
"integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
"requires": {
"pako": "~1.0.5"
+ },
+ "dependencies": {
+ "pako": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
+ }
}
},
"browserslist": {
@@ -3918,14 +2995,20 @@
}
},
"buffer": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz",
- "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==",
+ "version": "4.9.2",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
+ "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
"requires": {
"base64-js": "^1.0.2",
- "ieee754": "^1.1.4"
+ "ieee754": "^1.1.4",
+ "isarray": "^1.0.0"
}
},
+ "buffer-equal": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz",
+ "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs="
+ },
"buffer-from": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
@@ -3941,11 +3024,6 @@
"resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
"integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug="
},
- "bytes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
- "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
- },
"cache-base": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
@@ -3969,6 +3047,11 @@
}
}
},
+ "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="
+ },
"caller-callsite": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
@@ -4007,9 +3090,9 @@
}
},
"caniuse-lite": {
- "version": "1.0.30001144",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001144.tgz",
- "integrity": "sha512-4GQTEWNMnVZVOFG3BK0xvGeaDAtiPAbG2N8yuMXuXzx/c2Vd4XoMPO8+E918zeXn5IF0FRVtGShBfkfQea2wHQ=="
+ "version": "1.0.30001147",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001147.tgz",
+ "integrity": "sha512-CPyN875geYk46eIqPl5jlmotCr5YZC2KxIVfb4z0FrNfLxPM+MyodWD2irJGDG8vUUE1fmg3De9vt8uaC6Nf6w=="
},
"capture-exit": {
"version": "2.0.0",
@@ -4106,12 +3189,167 @@
}
}
},
- "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==",
+ "chokidar": {
+ "version": "2.1.8",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
+ "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
"requires": {
- "tslib": "^1.9.0"
+ "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.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"
+ }
+ }
+ }
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "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"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "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"
+ }
+ }
+ }
+ },
+ "fsevents": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
+ "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
+ "optional": true,
+ "requires": {
+ "bindings": "^1.5.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-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "requires": {
+ "kind-of": "^3.0.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"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ }
}
},
"ci-info": {
@@ -4154,10 +3392,10 @@
}
}
},
- "clean-stack": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
- "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A=="
+ "classnames": {
+ "version": "2.2.6",
+ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz",
+ "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q=="
},
"cli-cursor": {
"version": "3.1.0",
@@ -4168,51 +3406,9 @@
}
},
"cli-spinners": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.4.0.tgz",
- "integrity": "sha512-sJAofoarcm76ZGpuooaO0eDy8saEy+YoZBLjC4h8srt4jeBnkYeOgqxgsJQTpyt2LjI5PTfLJHSL+41Yu4fEJA=="
- },
- "cli-truncate": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz",
- "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==",
- "requires": {
- "slice-ansi": "^3.0.0",
- "string-width": "^4.2.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
- },
- "slice-ansi": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz",
- "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==",
- "requires": {
- "ansi-styles": "^4.0.0",
- "astral-regex": "^2.0.0",
- "is-fullwidth-code-point": "^3.0.0"
- }
- }
- }
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz",
+ "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg=="
},
"cli-width": {
"version": "3.0.0",
@@ -4249,11 +3445,6 @@
"q": "^1.1.2"
}
},
- "coffeescript": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-2.5.1.tgz",
- "integrity": "sha512-J2jRPX0eeFh5VKyVnoLrfVFgLZtnnmp96WQSLAS8OrLm2wtQLcnikYKe1gViJKDH7vucjuhHvBKKBP3rKcD1tQ=="
- },
"collect-v8-coverage": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz",
@@ -4269,12 +3460,12 @@
}
},
"color": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz",
- "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz",
+ "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==",
"requires": {
"color-convert": "^1.9.1",
- "color-string": "^1.5.2"
+ "color-string": "^1.5.4"
}
},
"color-convert": {
@@ -4291,9 +3482,9 @@
"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==",
+ "version": "1.5.4",
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz",
+ "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==",
"requires": {
"color-name": "^1.0.0",
"simple-swizzle": "^0.2.2"
@@ -4337,29 +3528,43 @@
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
- "connect": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
- "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
+ "concat-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
"requires": {
- "debug": "2.6.9",
- "finalhandler": "1.1.2",
- "parseurl": "~1.3.3",
- "utils-merge": "1.0.1"
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
},
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
"requires": {
- "ms": "2.0.0"
+ "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": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "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"
+ }
}
}
},
@@ -4378,11 +3583,6 @@
"resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
"integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo="
},
- "content-disposition": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
- "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
- },
"convert-source-map": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
@@ -4404,9 +3604,9 @@
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
},
"core-js": {
- "version": "3.6.5",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz",
- "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA=="
+ "version": "2.6.11",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
+ "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg=="
},
"core-js-compat": {
"version": "3.6.5",
@@ -4486,6 +3686,15 @@
"sha.js": "^2.4.8"
}
},
+ "create-react-context": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.3.0.tgz",
+ "integrity": "sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw==",
+ "requires": {
+ "gud": "^1.0.0",
+ "warning": "^4.0.3"
+ }
+ },
"cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
@@ -4663,9 +3872,9 @@
}
},
"css-what": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.1.tgz",
- "integrity": "sha512-wHOppVDKl4vTAOWzJt5Ek37Sgd9qq1Bmj/T1OjvicWbU5W7ru7Pqbn0Jdqii3Drx/h+dixHKXNhZYx7blthL7g=="
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz",
+ "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ=="
},
"cssesc": {
"version": "3.0.0",
@@ -4869,6 +4078,15 @@
"whatwg-url": "^7.0.0"
}
},
+ "deasync": {
+ "version": "0.1.20",
+ "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.20.tgz",
+ "integrity": "sha512-E1GI7jMI57hL30OX6Ht/hfQU8DO4AuB9m72WFm4c38GNbUD4Q03//XZaOIHZiY+H1xUaomcot5yk2q/qIZQkGQ==",
+ "requires": {
+ "bindings": "^1.5.0",
+ "node-addon-api": "^1.7.1"
+ }
+ },
"debug": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
@@ -4892,10 +4110,18 @@
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
},
- "dedent": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
- "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw="
+ "deep-equal": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
+ "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==",
+ "requires": {
+ "is-arguments": "^1.0.4",
+ "is-date-object": "^1.0.1",
+ "is-regex": "^1.0.4",
+ "object-is": "^1.0.1",
+ "object-keys": "^1.1.1",
+ "regexp.prototype.flags": "^1.2.0"
+ }
},
"deep-is": {
"version": "0.1.3",
@@ -4977,6 +4203,11 @@
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
},
+ "depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
+ },
"des.js": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
@@ -4986,6 +4217,11 @@
"minimalistic-assert": "^1.0.0"
}
},
+ "destroy": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
+ },
"detect-newline": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
@@ -5039,6 +4275,14 @@
"esutils": "^2.0.2"
}
},
+ "dom-helpers": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz",
+ "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==",
+ "requires": {
+ "@babel/runtime": "^7.1.2"
+ }
+ },
"dom-serializer": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
@@ -5055,10 +4299,15 @@
}
}
},
+ "dom4": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/dom4/-/dom4-2.1.5.tgz",
+ "integrity": "sha512-gJbnVGq5zaBUY0lUh0LUEVGYrtN75Ks8ZwpwOYvnVFrKy/qzXK4R/1WuLIFExWj/tBxbRAkTzZUGJHXmqsBNjQ=="
+ },
"domain-browser": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-3.5.0.tgz",
- "integrity": "sha512-zrzUu6auyZWRexjCEPJnfWc30Hupxh2lJZOJAF3qa2bCuD4O/55t0FvQt3ZMhEw++gjNkwdkOVZh8yA32w/Vfw=="
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
+ "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA=="
},
"domelementtype": {
"version": "1.3.1",
@@ -5099,15 +4348,52 @@
}
},
"dotenv": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz",
- "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g=="
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz",
+ "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow=="
},
"dotenv-expand": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz",
"integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA=="
},
+ "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"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "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"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "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": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
@@ -5122,11 +4408,6 @@
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
- "ejs": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz",
- "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA=="
- },
"electron-to-chromium": {
"version": "1.3.578",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.578.tgz",
@@ -5163,16 +4444,6 @@
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.0.0.tgz",
"integrity": "sha512-6p1NII1Vm62wni/VR/cUMauVQoxmLVb9csqQlvLz+hO2gk8U2UYDfXHQSUYIBKmZwAKz867IDqG7B+u0mj+M6w=="
},
- "emphasize": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/emphasize/-/emphasize-2.1.0.tgz",
- "integrity": "sha512-wRlO0Qulw2jieQynsS3STzTabIhHCyjTjZraSkchOiT8rdvWZlahJAJ69HRxwGkv2NThmci2MSnDfJ60jB39tw==",
- "requires": {
- "chalk": "^2.4.0",
- "highlight.js": "~9.12.0",
- "lowlight": "~1.9.0"
- }
- },
"encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
@@ -5199,6 +4470,11 @@
"resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz",
"integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ=="
},
+ "envinfo": {
+ "version": "7.7.3",
+ "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.3.tgz",
+ "integrity": "sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA=="
+ },
"enzyme": {
"version": "3.11.0",
"resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.11.0.tgz",
@@ -5316,11 +4592,6 @@
"is-symbol": "^1.0.2"
}
},
- "es6-object-assign": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz",
- "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw="
- },
"escalade": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.0.tgz",
@@ -5957,10 +5228,10 @@
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
},
- "eventemitter3": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
- "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="
+ "etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
},
"events": {
"version": "3.2.0",
@@ -6181,6 +5452,24 @@
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
},
+ "falafel": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.4.tgz",
+ "integrity": "sha512-0HXjo8XASWRmsS0X1EkhwEMZaD3Qvp7FfURwjLKjG1ghfRm/MGZl2r4cWUTv41KdNghTw4OUMmVtdGQp3+H+uQ==",
+ "requires": {
+ "acorn": "^7.1.1",
+ "foreach": "^2.0.5",
+ "isarray": "^2.0.1",
+ "object-keys": "^1.0.6"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="
+ }
+ }
+ },
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -6214,26 +5503,6 @@
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
},
- "fast-url-parser": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz",
- "integrity": "sha1-9K8+qfNNiicc9YrSs3WfQx8LMY0=",
- "requires": {
- "punycode": "^1.3.2"
- },
- "dependencies": {
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
- }
- }
- },
- "fastest-levenshtein": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
- "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow=="
- },
"fastparse": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
@@ -6247,14 +5516,6 @@
"reusify": "^1.0.4"
}
},
- "fault": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz",
- "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==",
- "requires": {
- "format": "^0.2.0"
- }
- },
"fb-watchman": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
@@ -6279,6 +5540,11 @@
"flat-cache": "^2.0.1"
}
},
+ "file-uri-to-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="
+ },
"filesize": {
"version": "3.6.1",
"resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz",
@@ -6292,35 +5558,6 @@
"to-regex-range": "^5.0.1"
}
},
- "finalhandler": {
- "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.3",
- "statuses": "~1.5.0",
- "unpipe": "~1.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="
- }
- }
- },
"find-up": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
@@ -6355,11 +5592,6 @@
"resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
"integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA=="
},
- "follow-redirects": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz",
- "integrity": "sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA=="
- },
"for-in": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
@@ -6385,11 +5617,6 @@
"mime-types": "^2.1.12"
}
},
- "format": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz",
- "integrity": "sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs="
- },
"fragment-cache": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
@@ -6398,6 +5625,11 @@
"map-cache": "^0.2.2"
}
},
+ "fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
+ },
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -6444,20 +5676,15 @@
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
},
- "get-own-enumerable-property-symbols": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz",
- "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g=="
- },
"get-package-type": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
"integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q=="
},
"get-port": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz",
- "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw=="
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
+ "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw="
},
"get-stdin": {
"version": "6.0.0",
@@ -6506,6 +5733,11 @@
"is-glob": "^4.0.1"
}
},
+ "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="
+ },
"globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
@@ -6529,12 +5761,26 @@
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
"integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="
},
+ "grapheme-breaker": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/grapheme-breaker/-/grapheme-breaker-0.3.2.tgz",
+ "integrity": "sha1-W55reMODJFLSuiuxy4MPlidkEKw=",
+ "requires": {
+ "brfs": "^1.2.0",
+ "unicode-trie": "^0.3.1"
+ }
+ },
"growly": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
"integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=",
"optional": true
},
+ "gud": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz",
+ "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw=="
+ },
"har-schema": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
@@ -6660,10 +5906,18 @@
"resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz",
"integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ=="
},
- "highlight.js": {
- "version": "9.12.0",
- "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz",
- "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4="
+ "history": {
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz",
+ "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==",
+ "requires": {
+ "@babel/runtime": "^7.1.2",
+ "loose-envify": "^1.2.0",
+ "resolve-pathname": "^3.0.0",
+ "tiny-invariant": "^1.0.2",
+ "tiny-warning": "^1.0.0",
+ "value-equal": "^1.0.1"
+ }
},
"hmac-drbg": {
"version": "1.0.1",
@@ -6675,6 +5929,14 @@
"minimalistic-crypto-utils": "^1.0.1"
}
},
+ "hoist-non-react-statics": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
+ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+ "requires": {
+ "react-is": "^16.7.0"
+ }
+ },
"hosted-git-info": {
"version": "2.8.8",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
@@ -6744,6 +6006,24 @@
"posthtml-parser": "^0.5.0",
"posthtml-render": "^1.2.3"
}
+ },
+ "posthtml-parser": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.5.0.tgz",
+ "integrity": "sha512-BsZFAqOeX9lkJJPKG2JmGgtm6t++WibU7FeS40FNNGZ1KS2szRSRQ8Wr2JLvikDgAecrQ/9V4sjugTAin2+KVw==",
+ "requires": {
+ "htmlparser2": "^3.9.2"
+ }
+ },
+ "terser": {
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
+ "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
+ "requires": {
+ "commander": "^2.20.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.12"
+ }
}
}
},
@@ -6767,127 +6047,16 @@
}
}
},
- "http-proxy": {
- "version": "1.18.1",
- "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
- "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
+ "http-errors": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz",
+ "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==",
"requires": {
- "eventemitter3": "^4.0.0",
- "follow-redirects": "^1.0.0",
- "requires-port": "^1.0.0"
- }
- },
- "http-proxy-middleware": {
- "version": "0.19.2",
- "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.2.tgz",
- "integrity": "sha512-aYk1rTKqLTus23X3L96LGNCGNgWpG4cG0XoZIT1GUPhhulEHX/QalnO6Vbo+WmKWi4AL2IidjuC0wZtbpg0yhQ==",
- "requires": {
- "http-proxy": "^1.18.1",
- "is-glob": "^4.0.0",
- "lodash": "^4.17.11",
- "micromatch": "^3.1.10"
- },
- "dependencies": {
- "braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "requires": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "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"
- }
- }
- }
- },
- "fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
- "requires": {
- "extend-shallow": "^2.0.1",
- "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"
- }
- }
- }
- },
- "is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "requires": {
- "kind-of": "^3.0.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"
- }
- }
- }
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- },
- "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"
- }
- },
- "to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
- "requires": {
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1"
- }
- }
+ "depd": "~1.1.2",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.1.1",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.0"
}
},
"http-signature": {
@@ -6928,11 +6097,6 @@
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
"integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg=="
},
- "iferr": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/iferr/-/iferr-1.0.2.tgz",
- "integrity": "sha512-9AfeLfji44r5TKInjhz3W9DyZI1zR1JAf2hVBMGhddAKPqBsupb89jGfbCTHIGZd6fGZl9WlHdn4AObygyMKwg=="
- },
"ignore": {
"version": "5.1.8",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
@@ -7106,6 +6270,14 @@
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
"integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
},
+ "is-binary-path": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "requires": {
+ "binary-extensions": "^1.0.0"
+ }
+ },
"is-boolean-object": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.1.tgz",
@@ -7190,7 +6362,8 @@
"is-docker": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz",
- "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw=="
+ "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==",
+ "optional": true
},
"is-extendable": {
"version": "0.1.1",
@@ -7212,11 +6385,6 @@
"resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
"integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ=="
},
- "is-generator-function": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.7.tgz",
- "integrity": "sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw=="
- },
"is-glob": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
@@ -7233,19 +6401,6 @@
"html-tags": "^1.0.0"
}
},
- "is-interactive": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
- "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="
- },
- "is-nan": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.0.tgz",
- "integrity": "sha512-z7bbREymOqt2CCaZVly8aC4ML3Xhfi0ekuOnjO2L8vKdl+CttdVoGZQhd4adMFAsxQ5VeRVwORs4tU8RH+HFtQ==",
- "requires": {
- "define-properties": "^1.1.3"
- }
- },
"is-negative-zero": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz",
@@ -7294,11 +6449,6 @@
"has-symbols": "^1.0.1"
}
},
- "is-regexp": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
- "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk="
- },
"is-resolvable": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
@@ -7335,17 +6485,6 @@
"has-symbols": "^1.0.1"
}
},
- "is-typed-array": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.3.tgz",
- "integrity": "sha512-BSYUBOK/HJibQ30wWkWold5txYwMUXQct9YHAQJr8fSwvZoiglcqB0pd7vEN23+Tsi9IUEjztdOSzl4qLVYGTQ==",
- "requires": {
- "available-typed-arrays": "^1.0.0",
- "es-abstract": "^1.17.4",
- "foreach": "^2.0.5",
- "has-symbols": "^1.0.1"
- }
- },
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
@@ -7365,6 +6504,7 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
"integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "optional": true,
"requires": {
"is-docker": "^2.0.0"
}
@@ -7374,23 +6514,15 @@
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
},
- "isbinaryfile": {
- "version": "4.0.6",
- "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.6.tgz",
- "integrity": "sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg=="
- },
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
},
"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"
- }
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
},
"isstream": {
"version": "0.1.2",
@@ -8725,6 +7857,21 @@
"whatwg-url": "^7.0.0",
"ws": "^6.1.2",
"xml-name-validator": "^3.0.0"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
+ "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ=="
+ },
+ "ws": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
+ "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
+ "requires": {
+ "async-limiter": "~1.0.0"
+ }
+ }
}
},
"jsesc": {
@@ -8752,11 +7899,6 @@
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
},
- "json-source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/json-source-map/-/json-source-map-0.6.1.tgz",
- "integrity": "sha512-1QoztHPsMQqhDq0hlXY5ZqcEdUzxQEIxgFkKl4WUp2pgShObl+9ovi4kRh2TfvAfxAoHOJ9vIMEqk3k4iex7tg=="
- },
"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",
@@ -8847,6 +7989,16 @@
"requires": {
"isarray": "^1.0.0",
"isobject": "^2.0.0"
+ },
+ "dependencies": {
+ "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"
+ }
+ }
}
},
"lines-and-columns": {
@@ -8854,183 +8006,6 @@
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
"integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA="
},
- "lint-staged": {
- "version": "10.4.0",
- "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.4.0.tgz",
- "integrity": "sha512-uaiX4U5yERUSiIEQc329vhCTDDwUcSvKdRLsNomkYLRzijk3v8V9GWm2Nz0RMVB87VcuzLvtgy6OsjoH++QHIg==",
- "requires": {
- "chalk": "^4.1.0",
- "cli-truncate": "^2.1.0",
- "commander": "^6.0.0",
- "cosmiconfig": "^7.0.0",
- "debug": "^4.1.1",
- "dedent": "^0.7.0",
- "enquirer": "^2.3.6",
- "execa": "^4.0.3",
- "listr2": "^2.6.0",
- "log-symbols": "^4.0.0",
- "micromatch": "^4.0.2",
- "normalize-path": "^3.0.0",
- "please-upgrade-node": "^3.2.0",
- "string-argv": "0.3.1",
- "stringify-object": "^3.3.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
- "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
- },
- "commander": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-6.1.0.tgz",
- "integrity": "sha512-wl7PNrYWd2y5mp1OK/LhTlv8Ff4kQJQRXXAvF+uU/TPNiVJUxZLRYGj/B0y/lPGAVcSbJqH2Za/cvHmrPMC8mA=="
- },
- "cosmiconfig": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
- "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==",
- "requires": {
- "@types/parse-json": "^4.0.0",
- "import-fresh": "^3.2.1",
- "parse-json": "^5.0.0",
- "path-type": "^4.0.0",
- "yaml": "^1.10.0"
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
- },
- "import-fresh": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
- "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
- "requires": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- }
- },
- "log-symbols": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz",
- "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==",
- "requires": {
- "chalk": "^4.0.0"
- }
- },
- "parse-json": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz",
- "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==",
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "error-ex": "^1.3.1",
- "json-parse-even-better-errors": "^2.3.0",
- "lines-and-columns": "^1.1.6"
- }
- },
- "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=="
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "listr2": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/listr2/-/listr2-2.6.2.tgz",
- "integrity": "sha512-6x6pKEMs8DSIpA/tixiYY2m/GcbgMplMVmhQAaLFxEtNSKLeWTGjtmU57xvv6QCm2XcqzyNXL/cTSVf4IChCRA==",
- "requires": {
- "chalk": "^4.1.0",
- "cli-truncate": "^2.1.0",
- "figures": "^3.2.0",
- "indent-string": "^4.0.0",
- "log-update": "^4.0.0",
- "p-map": "^4.0.0",
- "rxjs": "^6.6.2",
- "through": "^2.3.8"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
- "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
"load-json-file": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
@@ -9111,22 +8086,11 @@
"integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M="
},
"log-symbols": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
- "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
"requires": {
- "chalk": "^2.4.2"
- }
- },
- "log-update": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz",
- "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==",
- "requires": {
- "ansi-escapes": "^4.3.0",
- "cli-cursor": "^3.1.0",
- "slice-ansi": "^4.0.0",
- "wrap-ansi": "^6.2.0"
+ "chalk": "^2.0.1"
}
},
"loglevel": {
@@ -9188,13 +8152,12 @@
"js-tokens": "^3.0.0 || ^4.0.0"
}
},
- "lowlight": {
- "version": "1.9.2",
- "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.9.2.tgz",
- "integrity": "sha512-Ek18ElVCf/wF/jEm1b92gTnigh94CtBNWiZ2ad+vTgW7cTmQxUY3I98BjHK68gZAJEWmybGBZgx9qv3QxLQB/Q==",
+ "magic-string": {
+ "version": "0.22.5",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz",
+ "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==",
"requires": {
- "fault": "^1.0.2",
- "highlight.js": "~9.12.0"
+ "vlq": "^0.2.2"
}
},
"make-dir": {
@@ -9253,6 +8216,21 @@
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
"integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA=="
},
+ "merge-source-map": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz",
+ "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=",
+ "requires": {
+ "source-map": "^0.5.6"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ }
+ }
+ },
"merge-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
@@ -9289,9 +8267,9 @@
}
},
"mime": {
- "version": "2.4.6",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz",
- "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA=="
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
},
"mime-db": {
"version": "1.44.0",
@@ -9311,6 +8289,15 @@
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
},
+ "mini-create-react-context": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.0.tgz",
+ "integrity": "sha512-b0TytUgFSbgFJGzJqXPKCFCBWigAjpjo+Fl7Vf7ZbKRDptszpppKxXH6DRXEABZ/gcEQczeb0iZ7JvL8e8jjCA==",
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "tiny-warning": "^1.0.3"
+ }
+ },
"minimalistic-assert": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
@@ -9404,11 +8391,6 @@
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc="
},
- "ncp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
- "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M="
- },
"nearley": {
"version": "2.19.7",
"resolved": "https://registry.npmjs.org/nearley/-/nearley-2.19.7.tgz",
@@ -9434,25 +8416,86 @@
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
},
"node-addon-api": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.0.2.tgz",
- "integrity": "sha512-+D4s2HCnxPd5PjjI0STKwncjXTUKKqm74MDMz9OPXavjsGmjkvwgLtA5yoxJUdmpj52+2u+RrXgPipahKczMKg=="
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz",
+ "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg=="
},
"node-forge": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz",
- "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA=="
- },
- "node-gyp-build": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz",
- "integrity": "sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg=="
+ "version": "0.7.6",
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz",
+ "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw=="
},
"node-int64": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
"integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs="
},
+ "node-libs-browser": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
+ "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
+ "requires": {
+ "assert": "^1.1.1",
+ "browserify-zlib": "^0.2.0",
+ "buffer": "^4.3.0",
+ "console-browserify": "^1.1.0",
+ "constants-browserify": "^1.0.0",
+ "crypto-browserify": "^3.11.0",
+ "domain-browser": "^1.1.1",
+ "events": "^3.0.0",
+ "https-browserify": "^1.0.0",
+ "os-browserify": "^0.3.0",
+ "path-browserify": "0.0.1",
+ "process": "^0.11.10",
+ "punycode": "^1.2.4",
+ "querystring-es3": "^0.2.0",
+ "readable-stream": "^2.3.3",
+ "stream-browserify": "^2.0.1",
+ "stream-http": "^2.7.2",
+ "string_decoder": "^1.0.0",
+ "timers-browserify": "^2.0.4",
+ "tty-browserify": "0.0.0",
+ "url": "^0.11.0",
+ "util": "^0.11.0",
+ "vm-browserify": "^1.0.1"
+ },
+ "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.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "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"
+ }
+ }
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ }
+ }
+ },
"node-modules-regexp": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
@@ -9513,11 +8556,21 @@
"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": "3.3.0",
"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz",
"integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg=="
},
+ "normalize.css": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz",
+ "integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg=="
+ },
"npm-run-path": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
@@ -9534,10 +8587,10 @@
"boolbase": "~1.0.0"
}
},
- "nullthrows": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz",
- "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw=="
+ "num2fraction": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
+ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4="
},
"nwsapi": {
"version": "2.2.0",
@@ -9749,13 +8802,19 @@
"mimic-fn": "^2.1.0"
}
},
- "open": {
- "version": "7.3.0",
- "resolved": "https://registry.npmjs.org/open/-/open-7.3.0.tgz",
- "integrity": "sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw==",
+ "opn": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
+ "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==",
"requires": {
- "is-docker": "^2.0.0",
- "is-wsl": "^2.1.1"
+ "is-wsl": "^1.1.0"
+ },
+ "dependencies": {
+ "is-wsl": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
+ "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0="
+ }
}
},
"optionator": {
@@ -9772,61 +8831,59 @@
}
},
"ora": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz",
- "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-2.1.0.tgz",
+ "integrity": "sha512-hNNlAd3gfv/iPmsNxYoAPLvxg7HuPozww7fFonMZvL84tP6Ox5igfk5j/+a9rtJJwqMgKK+JgWsAQik5o0HTLA==",
"requires": {
- "chalk": "^3.0.0",
- "cli-cursor": "^3.1.0",
- "cli-spinners": "^2.2.0",
- "is-interactive": "^1.0.0",
- "log-symbols": "^3.0.0",
- "mute-stream": "0.0.8",
- "strip-ansi": "^6.0.0",
+ "chalk": "^2.3.1",
+ "cli-cursor": "^2.1.0",
+ "cli-spinners": "^1.1.0",
+ "log-symbols": "^2.2.0",
+ "strip-ansi": "^4.0.0",
"wcwidth": "^1.0.1"
},
"dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
+ "ansi-regex": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+ },
+ "cli-cursor": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
"requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
+ "restore-cursor": "^2.0.0"
}
},
- "color-convert": {
+ "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=="
+ },
+ "onetime": {
"version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
"requires": {
- "color-name": "~1.1.4"
+ "mimic-fn": "^1.0.0"
}
},
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
- },
- "supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "restore-cursor": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
"requires": {
- "has-flag": "^4.0.0"
+ "onetime": "^2.0.0",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "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"
}
}
}
@@ -9867,41 +8924,275 @@
"p-limit": "^2.2.0"
}
},
- "p-map": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
- "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
- "requires": {
- "aggregate-error": "^3.0.0"
- }
- },
"p-try": {
"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.11",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
- "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
+ "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU="
},
"parcel": {
- "version": "2.0.0-nightly.419",
- "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.0.0-nightly.419.tgz",
- "integrity": "sha512-BjgDLFCNmh7IcYrts31gU2KCzm49XIk+3xTJGd3Y1RmBuV2CplTJisI+oJ/c3JE7IMEgP4bXwLORp7Sjsl4B2Q==",
+ "version": "1.12.4",
+ "resolved": "https://registry.npmjs.org/parcel/-/parcel-1.12.4.tgz",
+ "integrity": "sha512-qfc74e2/R4pCoU6L/ZZnK9k3iDS6ir4uHea0e9th9w52eehcAGf2ido/iABq9PBXdsIOe4NSY3oUm7Khe7+S3w==",
"requires": {
- "@parcel/config-default": "2.0.0-nightly.421+8e72ac50",
- "@parcel/core": "2.0.0-nightly.419+8e72ac50",
- "@parcel/diagnostic": "2.0.0-nightly.421+8e72ac50",
- "@parcel/events": "2.0.0-nightly.421+8e72ac50",
- "@parcel/fs": "2.0.0-nightly.421+8e72ac50",
- "@parcel/logger": "2.0.0-nightly.421+8e72ac50",
- "@parcel/package-manager": "2.0.0-nightly.421+8e72ac50",
- "@parcel/utils": "2.0.0-nightly.421+8e72ac50",
+ "@babel/code-frame": "^7.0.0",
+ "@babel/core": "^7.4.4",
+ "@babel/generator": "^7.4.4",
+ "@babel/parser": "^7.4.4",
+ "@babel/plugin-transform-flow-strip-types": "^7.4.4",
+ "@babel/plugin-transform-modules-commonjs": "^7.4.4",
+ "@babel/plugin-transform-react-jsx": "^7.0.0",
+ "@babel/preset-env": "^7.4.4",
+ "@babel/runtime": "^7.4.4",
+ "@babel/template": "^7.4.4",
+ "@babel/traverse": "^7.4.4",
+ "@babel/types": "^7.4.4",
+ "@iarna/toml": "^2.2.0",
+ "@parcel/fs": "^1.11.0",
+ "@parcel/logger": "^1.11.1",
+ "@parcel/utils": "^1.11.0",
+ "@parcel/watcher": "^1.12.1",
+ "@parcel/workers": "^1.11.0",
+ "ansi-to-html": "^0.6.4",
+ "babylon-walk": "^1.0.2",
+ "browserslist": "^4.1.0",
"chalk": "^2.1.0",
- "commander": "^2.19.0",
- "get-port": "^4.2.0",
- "v8-compile-cache": "^2.0.0"
+ "clone": "^2.1.1",
+ "command-exists": "^1.2.6",
+ "commander": "^2.11.0",
+ "core-js": "^2.6.5",
+ "cross-spawn": "^6.0.4",
+ "css-modules-loader-core": "^1.1.0",
+ "cssnano": "^4.0.0",
+ "deasync": "^0.1.14",
+ "dotenv": "^5.0.0",
+ "dotenv-expand": "^5.1.0",
+ "envinfo": "^7.3.1",
+ "fast-glob": "^2.2.2",
+ "filesize": "^3.6.0",
+ "get-port": "^3.2.0",
+ "htmlnano": "^0.2.2",
+ "is-glob": "^4.0.0",
+ "is-url": "^1.2.2",
+ "js-yaml": "^3.10.0",
+ "json5": "^1.0.1",
+ "micromatch": "^3.0.4",
+ "mkdirp": "^0.5.1",
+ "node-forge": "^0.7.1",
+ "node-libs-browser": "^2.0.0",
+ "opn": "^5.1.0",
+ "postcss": "^7.0.11",
+ "postcss-value-parser": "^3.3.1",
+ "posthtml": "^0.11.2",
+ "posthtml-parser": "^0.4.0",
+ "posthtml-render": "^1.1.3",
+ "resolve": "^1.4.0",
+ "semver": "^5.4.1",
+ "serialize-to-js": "^3.0.0",
+ "serve-static": "^1.12.4",
+ "source-map": "0.6.1",
+ "terser": "^3.7.3",
+ "v8-compile-cache": "^2.0.0",
+ "ws": "^5.1.1"
+ },
+ "dependencies": {
+ "@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=="
+ },
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "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"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "fast-glob": {
+ "version": "2.2.7",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz",
+ "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==",
+ "requires": {
+ "@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"
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "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"
+ }
+ }
+ }
+ },
+ "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-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "requires": {
+ "kind-of": "^3.0.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"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
+ },
+ "postcss": {
+ "version": "7.0.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
+ "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+ "requires": {
+ "chalk": "^2.4.2",
+ "source-map": "^0.6.1",
+ "supports-color": "^6.1.0"
+ }
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
+ },
+ "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"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
}
},
"parent-module": {
@@ -9956,9 +9247,14 @@
"integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
},
"path-browserify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
- "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
+ "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ=="
+ },
+ "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": "4.0.0",
@@ -9970,11 +9266,6 @@
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
},
- "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="
- },
"path-key": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
@@ -9985,11 +9276,6 @@
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
},
- "path-to-regexp": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz",
- "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ=="
- },
"path-type": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
@@ -10012,6 +9298,11 @@
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
},
+ "physical-cpu-count": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz",
+ "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA="
+ },
"picomatch": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
@@ -10038,19 +9329,16 @@
"find-up": "^4.0.0"
}
},
- "please-upgrade-node": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz",
- "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==",
- "requires": {
- "semver-compare": "^1.0.0"
- }
- },
"pn": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
"integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA=="
},
+ "popper.js": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
+ "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ=="
+ },
"posix-character-classes": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
@@ -10087,6 +9375,11 @@
"supports-color": "^6.1.0"
}
},
+ "postcss-value-parser": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
+ "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ=="
+ },
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -10119,11 +9412,6 @@
"supports-color": "^6.1.0"
}
},
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -10153,11 +9441,6 @@
"supports-color": "^6.1.0"
}
},
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -10301,11 +9584,6 @@
"supports-color": "^6.1.0"
}
},
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -10378,11 +9656,6 @@
"supports-color": "^6.1.0"
}
},
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -10414,11 +9687,6 @@
"supports-color": "^6.1.0"
}
},
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -10452,11 +9720,6 @@
"supports-color": "^6.1.0"
}
},
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -10639,11 +9902,6 @@
"supports-color": "^6.1.0"
}
},
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -10675,11 +9933,6 @@
"supports-color": "^6.1.0"
}
},
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -10711,11 +9964,6 @@
"supports-color": "^6.1.0"
}
},
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -10746,11 +9994,6 @@
"supports-color": "^6.1.0"
}
},
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -10781,11 +10024,6 @@
"supports-color": "^6.1.0"
}
},
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -10816,11 +10054,6 @@
"supports-color": "^6.1.0"
}
},
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -10852,11 +10085,6 @@
"supports-color": "^6.1.0"
}
},
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -10886,11 +10114,6 @@
"supports-color": "^6.1.0"
}
},
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -10921,11 +10144,6 @@
"supports-color": "^6.1.0"
}
},
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -10988,11 +10206,6 @@
"supports-color": "^6.1.0"
}
},
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -11035,11 +10248,6 @@
"supports-color": "^6.1.0"
}
},
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
- },
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -11081,9 +10289,9 @@
}
},
"postcss-value-parser": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
- "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ=="
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="
},
"posthtml": {
"version": "0.11.6",
@@ -11092,22 +10300,12 @@
"requires": {
"posthtml-parser": "^0.4.1",
"posthtml-render": "^1.1.5"
- },
- "dependencies": {
- "posthtml-parser": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.4.2.tgz",
- "integrity": "sha512-BUIorsYJTvS9UhXxPTzupIztOMVNPa/HtAm9KHni9z6qEfiJ1bpOBL5DfUOL9XAc3XkLIEzBzpph+Zbm4AdRAg==",
- "requires": {
- "htmlparser2": "^3.9.2"
- }
- }
}
},
"posthtml-parser": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.5.0.tgz",
- "integrity": "sha512-BsZFAqOeX9lkJJPKG2JmGgtm6t++WibU7FeS40FNNGZ1KS2szRSRQ8Wr2JLvikDgAecrQ/9V4sjugTAin2+KVw==",
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.4.2.tgz",
+ "integrity": "sha512-BUIorsYJTvS9UhXxPTzupIztOMVNPa/HtAm9KHni9z6qEfiJ1bpOBL5DfUOL9XAc3XkLIEzBzpph+Zbm4AdRAg==",
"requires": {
"htmlparser2": "^3.9.2"
}
@@ -11584,6 +10782,16 @@
"resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
"integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM="
},
+ "quote-stream": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz",
+ "integrity": "sha1-hJY/jJwmuULhU/7rU6rnRlK34LI=",
+ "requires": {
+ "buffer-equal": "0.0.1",
+ "minimist": "^1.1.3",
+ "through2": "^2.0.0"
+ }
+ },
"raf": {
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
@@ -11624,9 +10832,9 @@
}
},
"range-parser": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
- "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
},
"react": {
"version": "16.13.1",
@@ -11654,10 +10862,91 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
- "react-refresh": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.6.0.tgz",
- "integrity": "sha512-Wv48N+GFt6Azvtl/LMvzNW9hvEyJdRQ48oVKIBAN7hjtvXXfxfVJXbPl/11SM1C/NIquIFXzzWCo6ZNH0I8I4g=="
+ "react-lifecycles-compat": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
+ "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
+ },
+ "react-popper": {
+ "version": "1.3.7",
+ "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-1.3.7.tgz",
+ "integrity": "sha512-nmqYTx7QVjCm3WUZLeuOomna138R1luC4EqkW3hxJUrAe+3eNz3oFCLYdnPwILfn0mX1Ew2c3wctrjlUMYYUww==",
+ "requires": {
+ "@babel/runtime": "^7.1.2",
+ "create-react-context": "^0.3.0",
+ "deep-equal": "^1.1.1",
+ "popper.js": "^1.14.4",
+ "prop-types": "^15.6.1",
+ "typed-styles": "^0.0.7",
+ "warning": "^4.0.2"
+ }
+ },
+ "react-redux": {
+ "version": "7.2.1",
+ "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.1.tgz",
+ "integrity": "sha512-T+VfD/bvgGTUA74iW9d2i5THrDQWbweXP0AVNI8tNd1Rk5ch1rnMiJkDD67ejw7YBKM4+REvcvqRuWJb7BLuEg==",
+ "requires": {
+ "@babel/runtime": "^7.5.5",
+ "hoist-non-react-statics": "^3.3.0",
+ "loose-envify": "^1.4.0",
+ "prop-types": "^15.7.2",
+ "react-is": "^16.9.0"
+ }
+ },
+ "react-router": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz",
+ "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==",
+ "requires": {
+ "@babel/runtime": "^7.1.2",
+ "history": "^4.9.0",
+ "hoist-non-react-statics": "^3.1.0",
+ "loose-envify": "^1.3.1",
+ "mini-create-react-context": "^0.4.0",
+ "path-to-regexp": "^1.7.0",
+ "prop-types": "^15.6.2",
+ "react-is": "^16.6.0",
+ "tiny-invariant": "^1.0.2",
+ "tiny-warning": "^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="
+ },
+ "path-to-regexp": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
+ "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
+ "requires": {
+ "isarray": "0.0.1"
+ }
+ }
+ }
+ },
+ "react-router-dom": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz",
+ "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==",
+ "requires": {
+ "@babel/runtime": "^7.1.2",
+ "history": "^4.9.0",
+ "loose-envify": "^1.3.1",
+ "prop-types": "^15.6.2",
+ "react-router": "5.2.0",
+ "tiny-invariant": "^1.0.2",
+ "tiny-warning": "^1.0.0"
+ }
+ },
+ "react-spring": {
+ "version": "8.0.27",
+ "resolved": "https://registry.npmjs.org/react-spring/-/react-spring-8.0.27.tgz",
+ "integrity": "sha512-nDpWBe3ZVezukNRandTeLSPcwwTMjNVu1IDq9qA/AMiUqHuRN4BeSWvKr3eIxxg1vtiYiOLy4FqdfCP5IoP77g==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "prop-types": "^15.5.8"
+ }
},
"react-test-renderer": {
"version": "16.13.1",
@@ -11670,6 +10959,17 @@
"scheduler": "^0.19.1"
}
},
+ "react-transition-group": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz",
+ "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==",
+ "requires": {
+ "dom-helpers": "^3.4.0",
+ "loose-envify": "^1.4.0",
+ "prop-types": "^15.6.2",
+ "react-lifecycles-compat": "^3.0.4"
+ }
+ },
"read-pkg": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
@@ -11726,6 +11026,167 @@
"util-deprecate": "^1.0.1"
}
},
+ "readdirp": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
+ "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+ "requires": {
+ "graceful-fs": "^4.1.11",
+ "micromatch": "^3.1.10",
+ "readable-stream": "^2.0.2"
+ },
+ "dependencies": {
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "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"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "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"
+ }
+ }
+ }
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "requires": {
+ "kind-of": "^3.0.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"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "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"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "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"
+ }
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
+ }
+ }
+ },
+ "redux": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.5.tgz",
+ "integrity": "sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==",
+ "requires": {
+ "loose-envify": "^1.4.0",
+ "symbol-observable": "^1.2.0"
+ }
+ },
+ "redux-devtools-extension": {
+ "version": "2.13.8",
+ "resolved": "https://registry.npmjs.org/redux-devtools-extension/-/redux-devtools-extension-2.13.8.tgz",
+ "integrity": "sha512-8qlpooP2QqPtZHQZRhx3x3OP5skEV1py/zUdMY28WNAocbafxdG2tRD1MWE7sp8obGMNYuLWanhhQ7EQvT1FBg=="
+ },
+ "redux-persist": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/redux-persist/-/redux-persist-6.0.0.tgz",
+ "integrity": "sha512-71LLMbUq2r02ng2We9S215LtPu3fY0KgaGE0k8WRgl6RkqxtGfl7HUozz1Dftwsb0D/5mZ8dwAaPbtnzfvbEwQ=="
+ },
+ "redux-saga": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-1.1.3.tgz",
+ "integrity": "sha512-RkSn/z0mwaSa5/xH/hQLo8gNf4tlvT18qXDNvedihLcfzh+jMchDgaariQoehCpgRltEm4zHKJyINEz6aqswTw==",
+ "requires": {
+ "@redux-saga/core": "^1.1.3"
+ }
+ },
"reflect.ownkeys": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz",
@@ -11888,10 +11349,10 @@
"resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz",
"integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4="
},
- "requires-port": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8="
+ "resize-observer-polyfill": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
+ "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
},
"resolve": {
"version": "1.17.0",
@@ -11921,6 +11382,11 @@
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
"integrity": "sha1-six699nWiBvItuZTM17rywoYh0g="
},
+ "resolve-pathname": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz",
+ "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng=="
+ },
"resolve-url": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
@@ -12235,6 +11701,14 @@
}
}
},
+ "sass": {
+ "version": "1.27.0",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.27.0.tgz",
+ "integrity": "sha512-0gcrER56OkzotK/GGwgg4fPrKuiFlPNitO7eUJ18Bs+/NBlofJfMxmxqpqJxjae9vu0Wq8TZzrSyxZal00WDig==",
+ "requires": {
+ "chokidar": ">=2.0.0 <4.0.0"
+ }
+ },
"sax": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
@@ -12262,41 +11736,64 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
"integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ=="
},
- "semver-compare": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
- "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w="
- },
- "serve-handler": {
- "version": "6.1.3",
- "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.3.tgz",
- "integrity": "sha512-FosMqFBNrLyeiIDvP1zgO6YoTzFYHxLDEIavhlmQ+knB2Z7l1t+kGLHkZIDN7UVWqQAmKI3D20A6F6jo3nDd4w==",
+ "send": {
+ "version": "0.17.1",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
+ "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
"requires": {
- "bytes": "3.0.0",
- "content-disposition": "0.5.2",
- "fast-url-parser": "1.1.3",
- "mime-types": "2.1.18",
- "minimatch": "3.0.4",
- "path-is-inside": "1.0.2",
- "path-to-regexp": "2.2.1",
- "range-parser": "1.2.0"
+ "debug": "2.6.9",
+ "depd": "~1.1.2",
+ "destroy": "~1.0.4",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "~1.7.2",
+ "mime": "1.6.0",
+ "ms": "2.1.1",
+ "on-finished": "~2.3.0",
+ "range-parser": "~1.2.1",
+ "statuses": "~1.5.0"
},
"dependencies": {
- "mime-db": {
- "version": "1.33.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
- "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ=="
- },
- "mime-types": {
- "version": "2.1.18",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
- "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"requires": {
- "mime-db": "~1.33.0"
+ "ms": "2.0.0"
+ },
+ "dependencies": {
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ }
}
+ },
+ "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=="
}
}
},
+ "serialize-to-js": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/serialize-to-js/-/serialize-to-js-3.1.1.tgz",
+ "integrity": "sha512-F+NGU0UHMBO4Q965tjw7rvieNVjlH6Lqi2emq/Lc9LUURYJbiCzmpi4Cy1OOjjVPtxu0c+NE85LU6968Wko5ZA=="
+ },
+ "serve-static": {
+ "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.3",
+ "send": "0.17.1"
+ }
+ },
"set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
@@ -12328,6 +11825,11 @@
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
},
+ "setprototypeof": {
+ "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",
"resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
@@ -12337,6 +11839,11 @@
"safe-buffer": "^5.0.1"
}
},
+ "shallow-copy": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz",
+ "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA="
+ },
"shebang-command": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@@ -12416,39 +11923,6 @@
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
},
- "slice-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
- "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
- "requires": {
- "ansi-styles": "^4.0.0",
- "astral-regex": "^2.0.0",
- "is-fullwidth-code-point": "^3.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
- }
- }
- },
"snapdragon": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
@@ -12636,14 +12110,6 @@
"extend-shallow": "^3.0.0"
}
},
- "split2": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz",
- "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==",
- "requires": {
- "readable-stream": "^3.0.0"
- }
- },
"sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
@@ -12685,6 +12151,14 @@
}
}
},
+ "static-eval": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.0.tgz",
+ "integrity": "sha512-agtxZ/kWSsCkI5E4QifRwsaPs0P0JmZV6dkLz6ILYfFYQGn+5plctanRN+IC8dJRiFkyXHrwEE3W9Wmx67uDbw==",
+ "requires": {
+ "escodegen": "^1.11.1"
+ }
+ },
"static-extend": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
@@ -12704,6 +12178,78 @@
}
}
},
+ "static-module": {
+ "version": "2.2.5",
+ "resolved": "https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz",
+ "integrity": "sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ==",
+ "requires": {
+ "concat-stream": "~1.6.0",
+ "convert-source-map": "^1.5.1",
+ "duplexer2": "~0.1.4",
+ "escodegen": "~1.9.0",
+ "falafel": "^2.1.0",
+ "has": "^1.0.1",
+ "magic-string": "^0.22.4",
+ "merge-source-map": "1.0.4",
+ "object-inspect": "~1.4.0",
+ "quote-stream": "~1.0.2",
+ "readable-stream": "~2.3.3",
+ "shallow-copy": "~0.0.1",
+ "static-eval": "^2.0.0",
+ "through2": "~2.0.3"
+ },
+ "dependencies": {
+ "escodegen": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz",
+ "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==",
+ "requires": {
+ "esprima": "^3.1.3",
+ "estraverse": "^4.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1",
+ "source-map": "~0.6.1"
+ }
+ },
+ "esprima": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
+ "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM="
+ },
+ "object-inspect": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz",
+ "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw=="
+ },
+ "readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "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"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "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"
+ }
+ }
+ }
+ },
"statuses": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
@@ -12714,21 +12260,84 @@
"resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
"integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks="
},
- "stream-http": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.1.1.tgz",
- "integrity": "sha512-S7OqaYu0EkFpgeGFb/NPOoPLxFko7TPqtEeFg5DXPB4v/KETHG0Ln6fRFrNezoelpaDKmycEmmZ81cC9DAwgYg==",
+ "stream-browserify": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
+ "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
"requires": {
- "builtin-status-codes": "^3.0.0",
- "inherits": "^2.0.4",
- "readable-stream": "^3.6.0",
- "xtend": "^4.0.2"
+ "inherits": "~2.0.1",
+ "readable-stream": "^2.0.2"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "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"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "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"
+ }
+ }
}
},
- "string-argv": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz",
- "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg=="
+ "stream-http": {
+ "version": "2.8.3",
+ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
+ "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
+ "requires": {
+ "builtin-status-codes": "^3.0.0",
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.3.6",
+ "to-arraybuffer": "^1.0.0",
+ "xtend": "^4.0.0"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "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"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "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"
+ }
+ }
+ }
},
"string-length": {
"version": "4.0.1",
@@ -12825,23 +12434,6 @@
"safe-buffer": "~5.2.0"
}
},
- "stringify-object": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz",
- "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==",
- "requires": {
- "get-own-enumerable-property-symbols": "^3.0.0",
- "is-obj": "^1.0.1",
- "is-regexp": "^1.0.0"
- },
- "dependencies": {
- "is-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
- "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
- }
- }
- },
"strip-ansi": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
@@ -12962,6 +12554,11 @@
"util.promisify": "~1.0.0"
}
},
+ "symbol-observable": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
+ "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ=="
+ },
"symbol-tree": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
@@ -13028,11 +12625,6 @@
}
}
},
- "term-size": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.0.tgz",
- "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw=="
- },
"terminal-link": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
@@ -13043,13 +12635,13 @@
}
},
"terser": {
- "version": "4.8.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
- "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
+ "version": "3.17.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz",
+ "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==",
"requires": {
- "commander": "^2.20.0",
+ "commander": "^2.19.0",
"source-map": "~0.6.1",
- "source-map-support": "~0.5.12"
+ "source-map-support": "~0.5.10"
}
},
"test-exclude": {
@@ -13077,6 +12669,44 @@
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
},
+ "through2": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
+ "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+ "requires": {
+ "readable-stream": "~2.3.6",
+ "xtend": "~4.0.1"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "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"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "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"
+ }
+ }
+ }
+ },
"timers-browserify": {
"version": "2.0.11",
"resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz",
@@ -13090,6 +12720,21 @@
"resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
"integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q="
},
+ "tiny-inflate": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz",
+ "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="
+ },
+ "tiny-invariant": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz",
+ "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw=="
+ },
+ "tiny-warning": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
+ "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
+ },
"tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
@@ -13103,6 +12748,11 @@
"resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
"integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE="
},
+ "to-arraybuffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+ "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M="
+ },
"to-fast-properties": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
@@ -13145,6 +12795,11 @@
"is-number": "^7.0.0"
}
},
+ "toidentifier": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
+ "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
+ },
"tough-cookie": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
@@ -13232,9 +12887,9 @@
}
},
"tty-browserify": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
- "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw=="
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY="
},
"tunnel-agent": {
"version": "0.6.0",
@@ -13267,6 +12922,16 @@
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
"integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ=="
},
+ "typed-styles": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/typed-styles/-/typed-styles-0.0.7.tgz",
+ "integrity": "sha512-pzP0PWoZUhsECYjABgCGQlRGL1n7tOHsgwYv3oIiEpJwGhFTuty/YNeduxQYzXXa3Ge5BdT6sHYIQYpl4uJ+5Q=="
+ },
+ "typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+ },
"typedarray-to-buffer": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
@@ -13280,6 +12945,27 @@
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.3.tgz",
"integrity": "sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg=="
},
+ "typescript-compare": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/typescript-compare/-/typescript-compare-0.0.2.tgz",
+ "integrity": "sha512-8ja4j7pMHkfLJQO2/8tut7ub+J3Lw2S3061eJLFQcvs3tsmJKp8KG5NtpLn7KcY2w08edF74BSVN7qJS0U6oHA==",
+ "requires": {
+ "typescript-logic": "^0.0.0"
+ }
+ },
+ "typescript-logic": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/typescript-logic/-/typescript-logic-0.0.0.tgz",
+ "integrity": "sha512-zXFars5LUkI3zP492ls0VskH3TtdeHCqu0i7/duGt60i5IGPIpAHE/DWo5FqJ6EjQ15YKXrt+AETjv60Dat34Q=="
+ },
+ "typescript-tuple": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/typescript-tuple/-/typescript-tuple-2.2.1.tgz",
+ "integrity": "sha512-Zcr0lbt8z5ZdEzERHAMAniTiIKerFCMgd7yjq1fPnDJ43et/k9twIFQMUYff9k5oXcsQ0WpvFcgzK2ZKASoW6Q==",
+ "requires": {
+ "typescript-compare": "^0.0.2"
+ }
+ },
"uncss": {
"version": "0.17.3",
"resolved": "https://registry.npmjs.org/uncss/-/uncss-0.17.3.tgz",
@@ -13355,6 +13041,15 @@
"resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz",
"integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg=="
},
+ "unicode-trie": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz",
+ "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=",
+ "requires": {
+ "pako": "^0.2.5",
+ "tiny-inflate": "^1.0.0"
+ }
+ },
"union-value": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
@@ -13376,11 +13071,6 @@
"resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
"integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI="
},
- "unpipe": {
- "version": "1.0.0",
- "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",
@@ -13427,6 +13117,11 @@
}
}
},
+ "upath": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
+ "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg=="
+ },
"uri-js": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
@@ -13462,16 +13157,18 @@
"integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
},
"util": {
- "version": "0.12.3",
- "resolved": "https://registry.npmjs.org/util/-/util-0.12.3.tgz",
- "integrity": "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==",
+ "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",
- "is-arguments": "^1.0.4",
- "is-generator-function": "^1.0.7",
- "is-typed-array": "^1.1.3",
- "safe-buffer": "^5.1.2",
- "which-typed-array": "^1.1.2"
+ "inherits": "2.0.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ }
}
},
"util-deprecate": {
@@ -13490,11 +13187,6 @@
"object.getownpropertydescriptors": "^2.1.0"
}
},
- "utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
- },
"uuid": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
@@ -13531,6 +13223,11 @@
"spdx-expression-parse": "^3.0.0"
}
},
+ "value-equal": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz",
+ "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw=="
+ },
"vendors": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz",
@@ -13546,6 +13243,11 @@
"extsprintf": "^1.2.0"
}
},
+ "vlq": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz",
+ "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow=="
+ },
"vm-browserify": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
@@ -13612,6 +13314,14 @@
"makeerror": "1.0.x"
}
},
+ "warning": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
+ "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ },
"wcwidth": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
@@ -13661,19 +13371,6 @@
"resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
},
- "which-typed-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.2.tgz",
- "integrity": "sha512-KT6okrd1tE6JdZAy3o2VhMoYPh3+J6EMZLyrxBQsZflI1QCZIxMrIYLkosd8Twf+YfknVIHmYQPgJt238p8dnQ==",
- "requires": {
- "available-typed-arrays": "^1.0.2",
- "es-abstract": "^1.17.5",
- "foreach": "^2.0.5",
- "function-bind": "^1.1.1",
- "has-symbols": "^1.0.1",
- "is-typed-array": "^1.1.3"
- }
- },
"word-wrap": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
@@ -13737,9 +13434,9 @@
}
},
"ws": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
- "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz",
+ "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==",
"requires": {
"async-limiter": "~1.0.0"
}
@@ -13764,11 +13461,6 @@
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
"integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w=="
},
- "yaml": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz",
- "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg=="
- },
"yargs": {
"version": "15.4.1",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz",
diff --git a/frontend/package.json b/frontend/package.json
index 359c85b..5f50368 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -12,8 +12,10 @@
}
},
"dependencies": {
+ "@blueprintjs/core": "^3.33.0",
"@typescript-eslint/eslint-plugin": "^4.4.0",
"@typescript-eslint/parser": "^4.4.0",
+ "autoprefixer": "^9.8.6",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.5",
"eslint": "^7.10.0",
@@ -27,21 +29,36 @@
"eslint-plugin-react": "^7.21.3",
"eslint-plugin-react-hooks": "^4.1.2",
"jest": "^26.5.2",
- "parcel": "^2.0.0-nightly.419",
+ "parcel": "^1.12.4",
+ "postcss": "^8.1.1",
"prettier": "^2.1.2",
"prettier-eslint": "^11.0.0",
"react": "^16.13.1",
"react-dom": "^16.13.1",
+ "react-redux": "^7.2.1",
+ "react-router": "^5.2.0",
+ "react-router-dom": "^5.2.0",
+ "react-spring": "^8.0.27",
+ "redux": "^4.0.5",
+ "redux-devtools-extension": "^2.13.8",
+ "redux-persist": "^6.0.0",
+ "redux-saga": "^1.1.3",
+ "sass": "^1.27.0",
"ts-jest": "^26.4.1",
"typescript": "^4.0.3"
},
"devDependencies": {
+ "@types/autoprefixer": "^9.7.2",
"@types/enzyme": "^3.10.7",
"@types/enzyme-adapter-react-16": "^1.0.6",
"@types/eslint": "^7.2.4",
"@types/eslint-plugin-prettier": "^3.1.0",
"@types/prettier": "^2.1.1",
"@types/react": "^16.9.51",
- "@types/react-dom": "^16.9.8"
+ "@types/react-dom": "^16.9.8",
+ "@types/react-redux": "^7.1.9",
+ "@types/react-router": "^5.1.8",
+ "@types/react-router-dom": "^5.1.6",
+ "@types/sass": "^1.16.0"
}
}
diff --git a/frontend/src/Account/Account.scss b/frontend/src/Account/Account.scss
new file mode 100644
index 0000000..e69de29
diff --git a/frontend/src/Account/Account.tsx b/frontend/src/Account/Account.tsx
new file mode 100644
index 0000000..52eeb10
--- /dev/null
+++ b/frontend/src/Account/Account.tsx
@@ -0,0 +1,76 @@
+import { Button, Card, FormGroup, H2, InputGroup } from "@blueprintjs/core";
+import * as React from "react";
+import { connect } from "react-redux";
+import { Dispatch } from "redux";
+import { IAppState } from "~redux/reducers";
+import { userPassChange } from "~redux/user/actions";
+
+export interface IAccountComponentProps {
+ username: string | undefined;
+ changePass: (password: string) => void;
+}
+
+export function AccountComponent(props: IAccountComponentProps) {
+ const [pass, setPass] = React.useState("");
+
+ return (
+
+
+
+ );
+}
+
+function mapStateToProps(state: IAppState) {
+ return { username: state?.user?.user?.username };
+}
+
+function mapDispatchToProps(dispatch: Dispatch) {
+ return {
+ changePass: (password: string) => dispatch(userPassChange(password)),
+ };
+}
+
+export const Account = connect(
+ mapStateToProps,
+ mapDispatchToProps,
+)(AccountComponent);
diff --git a/frontend/src/Account/tests/Account.test.tsx b/frontend/src/Account/tests/Account.test.tsx
new file mode 100644
index 0000000..1a64cd9
--- /dev/null
+++ b/frontend/src/Account/tests/Account.test.tsx
@@ -0,0 +1,17 @@
+import * as React from "react";
+
+import { shallow } from "enzyme";
+import { AccountComponent } from "../Account";
+
+describe("", () => {
+ it("should not crash", () => {
+ const wrapper = shallow(
+ {
+ return null;
+ }}
+ />,
+ );
+ });
+});
diff --git a/frontend/src/App.scss b/frontend/src/App.scss
new file mode 100644
index 0000000..928fb9c
--- /dev/null
+++ b/frontend/src/App.scss
@@ -0,0 +1,32 @@
+@import "~@blueprintjs/core/lib/scss/variables";
+
+.animationWrapper {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ overflow-x: hidden;
+}
+
+.loadingWrapper {
+ position: fixed;
+ width: 100%;
+ height: 75%;
+ display: flex;
+ justify-content: center;
+ align-content: center;
+ overflow: hidden;
+}
+
+.bp3-navbar {
+ .bp3-button {
+ margin-right: 0.25rem;
+ }
+}
+
+body {
+ font-family: "PT Sans", "emoji", sans-serif;
+
+ background: $light-gray5;
+}
diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
new file mode 100644
index 0000000..6ac8141
--- /dev/null
+++ b/frontend/src/App.tsx
@@ -0,0 +1,42 @@
+import * as React from "react";
+import { connect } from "react-redux";
+import {
+ Redirect,
+ Route,
+ RouteComponentProps,
+ Switch,
+ withRouter,
+} from "react-router";
+import { AuthScreen } from "~Auth/AuthScreen";
+import { Home } from "~Home/Home";
+import { Landing } from "~Landing/Landing";
+import { IAppState } from "~redux/reducers";
+
+interface IAppComponentProps extends RouteComponentProps {
+ loggedIn: boolean;
+}
+
+export function AppComponent(props: IAppComponentProps) {
+ const { loggedIn } = props;
+ return loggedIn ? (
+
+ ,
+ ,
+ ,
+ ,
+
+ ) : (
+
+
+
+
+ } />
+
+ );
+}
+
+function mapStateToProps(state: IAppState) {
+ return { loggedIn: state.auth.jwt !== null };
+}
+
+export const App = withRouter(connect(mapStateToProps)(AppComponent));
diff --git a/frontend/src/AppToaster.tsx b/frontend/src/AppToaster.tsx
new file mode 100644
index 0000000..88253fe
--- /dev/null
+++ b/frontend/src/AppToaster.tsx
@@ -0,0 +1,22 @@
+import { Position, Toaster } from "@blueprintjs/core";
+
+export const AppToaster = Toaster.create({
+ className: "recipe-toaster",
+ position: Position.TOP,
+});
+
+export function showPasswordSavedToast() {
+ AppToaster.show({
+ message: "Password saved!",
+ intent: "success",
+ timeout: 2000,
+ });
+}
+
+export function showPasswordNotSavedToast(error: string) {
+ AppToaster.show({
+ message: "Password not saved! " + error,
+ intent: "danger",
+ timeout: 2000,
+ });
+}
diff --git a/frontend/src/Auth/Auth.scss b/frontend/src/Auth/Auth.scss
new file mode 100644
index 0000000..8b8c5d2
--- /dev/null
+++ b/frontend/src/Auth/Auth.scss
@@ -0,0 +1,41 @@
+@import "~@blueprintjs/core/lib/scss/variables";
+
+.AuthForm {
+ margin: auto;
+ margin-top: 10rem;
+ width: 20rem;
+ left: 0;
+ right: 0;
+ position: absolute;
+
+ form {
+ display: flex;
+ flex-direction: column;
+
+ h2 {
+ margin-bottom: 1rem;
+ }
+
+ .header,
+ .footer {
+ display: flex;
+ flex-direction: row;
+ align-items: baseline;
+
+ button.change {
+ margin-left: auto;
+ }
+ }
+
+ .footer {
+ #error {
+ height: 1rem;
+ color: $pt-intent-danger;
+ }
+
+ button.submit {
+ margin-left: auto;
+ }
+ }
+ }
+}
diff --git a/frontend/src/Auth/AuthScreen.tsx b/frontend/src/Auth/AuthScreen.tsx
new file mode 100644
index 0000000..113c190
--- /dev/null
+++ b/frontend/src/Auth/AuthScreen.tsx
@@ -0,0 +1,69 @@
+import * as React from "react";
+import { connect } from "react-redux";
+import {
+ Redirect,
+ Route,
+ RouteComponentProps,
+ Switch,
+ withRouter,
+} from "react-router";
+import { animated, Transition } from "react-spring/renderprops";
+import { IAppState } from "~redux/reducers";
+
+import { Login } from "./Login";
+import { Signup } from "./Signup";
+
+interface IAuthScreenProps extends RouteComponentProps {
+ loggedIn: boolean;
+}
+
+export class AuthScreenComponent extends React.PureComponent {
+ constructor(props: IAuthScreenProps) {
+ super(props);
+ }
+ public render() {
+ const { location } = this.props.history;
+ const { from } = this.props.location.state || { from: "/" };
+ const { loggedIn } = this.props;
+ return loggedIn ? (
+
+ ) : (
+
+
+ {(_location: any) => (style: any) => (
+
+
+
+
+
+
+ )}
+
+
+ );
+ }
+}
+
+function mapStateToProps(state: IAppState) {
+ return { loggedIn: !(state.auth.jwt === null) };
+}
+
+export const AuthScreen = withRouter(
+ connect(mapStateToProps)(AuthScreenComponent),
+);
diff --git a/frontend/src/Auth/Login.tsx b/frontend/src/Auth/Login.tsx
new file mode 100644
index 0000000..3992c77
--- /dev/null
+++ b/frontend/src/Auth/Login.tsx
@@ -0,0 +1,123 @@
+import "./Auth.scss";
+
+import { Button, Card, FormGroup, H2, InputGroup } from "@blueprintjs/core";
+import * as React from "react";
+import { connect } from "react-redux";
+import { RouteComponentProps, withRouter } from "react-router-dom";
+import { Dispatch } from "redux";
+import { authStart } from "~redux/auth/actions";
+import { IAppState } from "~redux/reducers";
+
+interface ILoginComponentProps extends RouteComponentProps {
+ inProgress: boolean;
+ error: string;
+ spinner: boolean;
+ login: (username: string, password: string) => void;
+}
+
+interface ILoginComponentState {
+ username: string;
+ password: string;
+}
+
+export class LoginComponent extends React.PureComponent<
+ ILoginComponentProps,
+ ILoginComponentState
+> {
+ constructor(props: ILoginComponentProps) {
+ super(props);
+ this.submit = this.submit.bind(this);
+ this.change = this.change.bind(this);
+ this.updateFields = this.updateFields.bind(this);
+ this.state = { username: "", password: "" };
+ }
+
+ public change() {
+ this.props.history.push("/signup");
+ }
+
+ public submit(e: React.FormEvent) {
+ e.preventDefault();
+ const { username, password } = this.state;
+ if (!this.props.inProgress) {
+ this.props.login(username, password);
+ }
+ }
+
+ public updateFields(e: React.FormEvent) {
+ const { value, name } = e.currentTarget;
+ this.setState({ ...this.state, [name]: value });
+ }
+
+ public render() {
+ return (
+ <>
+
+
+
+ >
+ );
+ }
+}
+
+function mapStateToProps(state: IAppState) {
+ return {
+ inProgress: state.auth.inProgress,
+ error: state.auth.formError,
+ spinner: state.auth.formSpinner,
+ };
+}
+
+function mapDispatchToProps(dispatch: Dispatch) {
+ return {
+ login: (username: string, password: string) =>
+ dispatch(authStart(username, password)),
+ };
+}
+
+export const Login = withRouter(
+ connect(mapStateToProps, mapDispatchToProps)(LoginComponent),
+);
diff --git a/frontend/src/Auth/Signup.tsx b/frontend/src/Auth/Signup.tsx
new file mode 100644
index 0000000..b084ce2
--- /dev/null
+++ b/frontend/src/Auth/Signup.tsx
@@ -0,0 +1,134 @@
+import "./Auth.scss";
+
+import { Button, Card, FormGroup, H2, InputGroup } from "@blueprintjs/core";
+import * as React from "react";
+import { connect } from "react-redux";
+import { RouteComponentProps, withRouter } from "react-router";
+import { Dispatch } from "redux";
+import { signupStart } from "~redux/auth/actions";
+import { IAppState } from "~redux/reducers";
+
+interface ISignupComponentProps extends RouteComponentProps {
+ inProgress: boolean;
+ error: string;
+ spinner: boolean;
+ signup: (username: string, password: string, email: string) => void;
+}
+
+interface ISignupComponentState {
+ username: string;
+ password: string;
+ email: string;
+}
+
+export class SignupComponent extends React.PureComponent<
+ ISignupComponentProps,
+ ISignupComponentState
+> {
+ constructor(props: ISignupComponentProps) {
+ super(props);
+ this.submit = this.submit.bind(this);
+ this.change = this.change.bind(this);
+ this.updateFields = this.updateFields.bind(this);
+ this.state = { username: "", password: "", email: "" };
+ }
+
+ public change() {
+ this.props.history.push("/login");
+ }
+
+ public submit(e: React.FormEvent) {
+ e.preventDefault();
+ const { username, password, email } = this.state;
+ if (!this.props.inProgress) {
+ this.props.signup(username, password, email);
+ }
+ }
+
+ public updateFields(e: React.FormEvent) {
+ const { value, name } = e.currentTarget;
+ this.setState({ ...this.state, [name]: value });
+ }
+
+ public render() {
+ return (
+ <>
+
+
+
+ >
+ );
+ }
+}
+
+function mapStateToProps(state: IAppState) {
+ return {
+ inProgress: state.auth.inProgress,
+ error: state.auth.formError,
+ spinner: state.auth.formSpinner,
+ };
+}
+
+function mapDispatchToProps(dispatch: Dispatch) {
+ return {
+ signup: (username: string, password: string, email: string) =>
+ dispatch(signupStart(username, password, email)),
+ };
+}
+
+export const Signup = withRouter(
+ connect(mapStateToProps, mapDispatchToProps)(SignupComponent),
+);
diff --git a/frontend/src/Home/Home.scss b/frontend/src/Home/Home.scss
new file mode 100644
index 0000000..3a2abb4
--- /dev/null
+++ b/frontend/src/Home/Home.scss
@@ -0,0 +1,53 @@
+@import "~@blueprintjs/core/lib/scss/variables";
+
+.viewComponent {
+ position: absolute;
+ max-width: 100%;
+ width: 50rem;
+ left: 0;
+ right: 0;
+ top: -$pt-navbar-height;
+ bottom: 0;
+ margin-left: auto;
+ margin-right: auto;
+ padding-top: 2 * $pt-navbar-height + 20px;
+ max-height: 100%;
+}
+
+#mainContainer {
+ transition: 0.3s;
+
+ #MainScreen {
+ transition: 0.3s;
+ }
+
+ .bp3-navbar {
+ transition: 0.3s;
+
+ > * {
+ // keeps the breadcrumbs from taking all the space
+ max-width: 65%;
+ }
+
+ * {
+ transition: 0.3s;
+ }
+ }
+
+ #uploadingStatusButton {
+ width: 40px;
+ }
+}
+
+#mainContainer.bp3-dark {
+ transition: 0.3s;
+
+ #MainScreen {
+ transition: 0.3s;
+ background: $dark-gray3;
+ }
+
+ .bp3-navbar {
+ transition: 0.3s;
+ }
+}
diff --git a/frontend/src/Home/Home.tsx b/frontend/src/Home/Home.tsx
new file mode 100644
index 0000000..2e172d7
--- /dev/null
+++ b/frontend/src/Home/Home.tsx
@@ -0,0 +1,161 @@
+import "./Home.scss";
+
+import {
+ Alignment,
+ Breadcrumbs,
+ Button,
+ Classes,
+ IBreadcrumbProps,
+ Icon,
+ Menu,
+ Navbar,
+ Popover,
+ Spinner,
+} from "@blueprintjs/core";
+import * as React from "react";
+import { connect } from "react-redux";
+import { Route, RouteComponentProps, Switch, withRouter } from "react-router";
+import { animated, config, Transition } from "react-spring/renderprops";
+import { Dispatch } from "redux";
+import { IUserJSON } from "~../../src/entity/User";
+import { Account } from "~Account/Account";
+import { Overview } from "~Photos/Overview";
+import { toggleDarkMode } from "~redux/localSettings/actions";
+import { IAppState } from "~redux/reducers";
+import { logoutUser } from "~redux/user/actions";
+
+export interface IHomeProps extends RouteComponentProps {
+ user: IUserJSON | null;
+
+ darkMode: boolean;
+
+ logout: () => void;
+ dispatchToggleDarkMode: () => void;
+}
+
+export class HomeComponent extends React.PureComponent {
+ constructor(props: IHomeProps) {
+ super(props);
+ }
+
+ public render() {
+ const { location } = this.props.history;
+ return (
+ this.props.user && (
+
+
+
+
+
+
+
+
+ {this.props.user.username}
+
+ }
+ content={this.menu()}
+ />
+
+
+
+
+ {(_location: any) => (style: any) => (
+
+
+
+
+
+
+ )}
+
+
+
+ )
+ );
+ }
+
+ private menu() {
+ return (
+
+ );
+ }
+}
+
+function mapStateToProps(state: IAppState) {
+ return {
+ user: state.user.user,
+ darkMode: state.localSettings.darkMode,
+ };
+}
+
+function mapDispatchToProps(dispatch: Dispatch) {
+ return {
+ logout: () => dispatch(logoutUser()),
+ dispatchToggleDarkMode: () => dispatch(toggleDarkMode()),
+ };
+}
+
+export const Home = withRouter(
+ connect(mapStateToProps, mapDispatchToProps)(HomeComponent),
+);
diff --git a/frontend/src/Home/tests/Home.test.tsx b/frontend/src/Home/tests/Home.test.tsx
new file mode 100644
index 0000000..118786c
--- /dev/null
+++ b/frontend/src/Home/tests/Home.test.tsx
@@ -0,0 +1,27 @@
+import { shallow } from "enzyme";
+import * as React from "react";
+
+import { HomeComponent, IHomeProps } from "../Home";
+
+const defaultHomeProps: IHomeProps = {
+ user: { id: 1, username: "test" },
+
+ darkMode: false,
+
+ logout: jest.fn(),
+ dispatchToggleDarkMode: jest.fn(),
+
+ history: { location: { pathname: "/" } } as any,
+ location: { pathname: "/" } as any,
+ match: {
+ params: {
+ id: null,
+ },
+ } as any,
+};
+
+describe("", () => {
+ it("should not crash", () => {
+ const wrapper = shallow();
+ });
+});
diff --git a/frontend/src/Landing/Landing.tsx b/frontend/src/Landing/Landing.tsx
new file mode 100644
index 0000000..6713dbb
--- /dev/null
+++ b/frontend/src/Landing/Landing.tsx
@@ -0,0 +1,26 @@
+import { Alignment, Button, Navbar } from "@blueprintjs/core";
+import * as React from "react";
+import { RouteComponentProps, withRouter } from "react-router";
+
+export function LandingComponent(props: RouteComponentProps) {
+ function login() {
+ props.history.push("/login");
+ }
+ return (
+ <>
+
+
+ Writer
+
+
+
+
+
+
+ >
+ );
+}
+
+export const Landing = withRouter(LandingComponent);
diff --git a/frontend/src/LoadingStub.tsx b/frontend/src/LoadingStub.tsx
new file mode 100644
index 0000000..9738807
--- /dev/null
+++ b/frontend/src/LoadingStub.tsx
@@ -0,0 +1,10 @@
+import { Spinner } from "@blueprintjs/core";
+import * as React from "react";
+
+export function LoadingStub() {
+ return (
+
+
+
+ );
+}
diff --git a/frontend/src/NotFound.tsx b/frontend/src/NotFound.tsx
new file mode 100644
index 0000000..fbe2649
--- /dev/null
+++ b/frontend/src/NotFound.tsx
@@ -0,0 +1,5 @@
+import * as React from "react";
+
+export function NotFound() {
+ return 404
;
+}
diff --git a/frontend/src/Photos/Overview.tsx b/frontend/src/Photos/Overview.tsx
new file mode 100644
index 0000000..e476aa3
--- /dev/null
+++ b/frontend/src/Photos/Overview.tsx
@@ -0,0 +1,29 @@
+import "./Photos.scss";
+import * as React from "react";
+import { connect } from "react-redux";
+import { Dispatch } from "redux";
+import { IAppState } from "~redux/reducers";
+
+export interface IOverviewComponentProps {
+ fetching: boolean;
+ spinner: boolean;
+
+ fetchDocs: () => void;
+}
+
+export function OverviewComponent() {
+ return Overview!
;
+}
+
+function mapStateToProps(state: IAppState) {
+ return {};
+}
+
+function mapDispatchToProps(dispatch: Dispatch) {
+ return {};
+}
+
+export const Overview = connect(
+ mapStateToProps,
+ mapDispatchToProps,
+)(OverviewComponent);
diff --git a/frontend/src/Photos/Photos.scss b/frontend/src/Photos/Photos.scss
new file mode 100644
index 0000000..96f54f0
--- /dev/null
+++ b/frontend/src/Photos/Photos.scss
@@ -0,0 +1,10 @@
+@import "~@blueprintjs/core/lib/scss/variables";
+
+#overview {
+ display: flex;
+ flex-direction: column;
+}
+
+.bp3-dark {
+ #overview {}
+}
\ No newline at end of file
diff --git a/frontend/src/Photos/tests/Overview.test.tsx b/frontend/src/Photos/tests/Overview.test.tsx
new file mode 100644
index 0000000..0b2c2a3
--- /dev/null
+++ b/frontend/src/Photos/tests/Overview.test.tsx
@@ -0,0 +1,15 @@
+import * as React from "react";
+
+import { shallow } from "enzyme";
+import { OverviewComponent } from "../Overview";
+
+afterEach(() => {
+ jest.restoreAllMocks();
+});
+
+describe("", () => {
+ it("should not crash", () => {
+ const wrapper = shallow();
+ expect(wrapper.contains("Overview!")).toBeTruthy();
+ });
+});
diff --git a/frontend/src/TestTest.test.tsx b/frontend/src/TestTest.test.tsx
deleted file mode 100644
index 43c9e51..0000000
--- a/frontend/src/TestTest.test.tsx
+++ /dev/null
@@ -1,11 +0,0 @@
-import * as React from "react";
-
-import { shallow } from "enzyme";
-import { TestTest } from "~TestTest";
-
-describe("", () => {
- it("should not crash", () => {
- const wrapper = shallow();
- expect(wrapper.contains(Hello!
)).toBeTruthy();
- });
-});
diff --git a/frontend/src/TestTest.tsx b/frontend/src/TestTest.tsx
deleted file mode 100644
index a885ab5..0000000
--- a/frontend/src/TestTest.tsx
+++ /dev/null
@@ -1,5 +0,0 @@
-import * as React from "react";
-
-export function TestTest() {
- return Hello!
;
-}
diff --git a/frontend/src/env.ts b/frontend/src/env.ts
new file mode 100644
index 0000000..995525f
--- /dev/null
+++ b/frontend/src/env.ts
@@ -0,0 +1,2 @@
+export const apiRoot = process.env.API_ROOT || "http://localhost:3000";
+export const webRoot = process.env.WEB_ROOT || "http://localhost:1234";
diff --git a/frontend/src/fileMock.ts b/frontend/src/fileMock.ts
new file mode 100644
index 0000000..0a445d0
--- /dev/null
+++ b/frontend/src/fileMock.ts
@@ -0,0 +1 @@
+module.exports = "test-file-stub";
diff --git a/frontend/src/index.html b/frontend/src/index.html
index bff477f..17807f6 100644
--- a/frontend/src/index.html
+++ b/frontend/src/index.html
@@ -1,14 +1,20 @@
-
+
+
+
+
+
-
-
- My Parcel Project
-
+
-
-
-
-
+ Writer
+
-
\ No newline at end of file
+
+
+
+
+
diff --git a/frontend/src/index.tsx b/frontend/src/index.tsx
index 923b377..0272766 100644
--- a/frontend/src/index.tsx
+++ b/frontend/src/index.tsx
@@ -1,4 +1,23 @@
+import "@blueprintjs/core/lib/css/blueprint.css";
+import "@blueprintjs/icons/lib/css/blueprint-icons.css";
+import "normalize.css/normalize.css";
+import "~App.scss";
+
import * as React from "react";
import { render } from "react-dom";
+import { Provider } from "react-redux";
+import { BrowserRouter } from "react-router-dom";
+import { PersistGate } from "redux-persist/integration/react";
+import { App } from "~App";
+import { persistor, store } from "~redux/store";
-render(Hello World
, document.getElementById("root"));
+render(
+
+
+
+
+
+
+ ,
+ document.getElementById("body"),
+);
diff --git a/frontend/src/redux/api/auth/index.ts b/frontend/src/redux/api/auth/index.ts
new file mode 100644
index 0000000..e4e6923
--- /dev/null
+++ b/frontend/src/redux/api/auth/index.ts
@@ -0,0 +1,25 @@
+import { IUserAuthJSON } from "~../../src/entity/User";
+import { IAPIResponse } from "~../../src/types";
+import { fetchJSON } from "../utils";
+
+export async function login(
+ username: string,
+ password: string,
+): Promise> {
+ return (fetchJSON("/users/login", "POST", {
+ username,
+ password,
+ }) as unknown) as Promise>;
+}
+
+export async function signup(
+ username: string,
+ password: string,
+ email: string,
+): Promise> {
+ return (fetchJSON("/users/signup", "POST", {
+ username,
+ password,
+ email,
+ }) as unknown) as Promise>;
+}
diff --git a/frontend/src/redux/api/user/index.ts b/frontend/src/redux/api/user/index.ts
new file mode 100644
index 0000000..956767a
--- /dev/null
+++ b/frontend/src/redux/api/user/index.ts
@@ -0,0 +1,15 @@
+import { fetchJSON, fetchJSONAuth } from "../utils";
+import { IAPIResponse } from "~/../../src/types";
+import { IUserAuthJSON, IUserJSON } from "~../../src/entity/User";
+
+export async function fetchUser(): Promise> {
+ return (fetchJSONAuth("/users/user", "GET") as unknown) as Promise<
+ IAPIResponse
+ >;
+}
+
+export async function changeUserPassword(newPassword: string) {
+ return (fetchJSONAuth("/users/edit", "POST", {
+ password: newPassword,
+ }) as unknown) as Promise>;
+}
diff --git a/frontend/src/redux/api/utils.ts b/frontend/src/redux/api/utils.ts
new file mode 100644
index 0000000..25ac877
--- /dev/null
+++ b/frontend/src/redux/api/utils.ts
@@ -0,0 +1,52 @@
+import { apiRoot } from "~env";
+
+let token: string | null;
+
+export function setToken(_token: string): void {
+ token = _token;
+}
+
+export function getToken(): string | null {
+ return token;
+}
+
+export function deleteToken(): void {
+ token = null;
+}
+
+export async function fetchJSON(
+ path: string,
+ method: string,
+ body?: string | Record,
+ headers?: Record,
+): Promise> {
+ if (typeof body === "object") {
+ body = JSON.stringify(body);
+ }
+ const response = await fetch(apiRoot + path, {
+ method,
+ body,
+ headers: {
+ ...headers,
+ "Content-Type": "application/json",
+ },
+ });
+ const json = (await response.json()) as Record;
+ return json;
+}
+
+export async function fetchJSONAuth(
+ path: string,
+ method: string,
+ body?: string | Record,
+ headers?: Record,
+): Promise> {
+ if (token) {
+ return fetchJSON(path, method, body, {
+ ...headers,
+ Authorization: `Bearer ${token}`,
+ });
+ } else {
+ throw new Error("Not logged in");
+ }
+}
diff --git a/frontend/src/redux/auth/actions.ts b/frontend/src/redux/auth/actions.ts
new file mode 100644
index 0000000..2961bed
--- /dev/null
+++ b/frontend/src/redux/auth/actions.ts
@@ -0,0 +1,80 @@
+import { Action } from "redux";
+import { IUserAuthJSON } from "~../../src/entity/User";
+
+export enum AuthTypes {
+ AUTH_START = "AUTH_START",
+ SIGNUP_START = "SIGNUP_START",
+ AUTH_SUCCESS = "AUTH_SUCCESS",
+ AUTH_FAIL = "AUTH_FAIL",
+ AUTH_START_FORM_SPINNER = "AUTH_START_FORM_SPINNER",
+}
+
+export interface IAuthStartAction extends Action {
+ type: AuthTypes.AUTH_START;
+ payload: {
+ username: string;
+ password: string;
+ };
+}
+
+export interface ISignupStartAction extends Action {
+ type: AuthTypes.SIGNUP_START;
+ payload: {
+ username: string;
+ password: string;
+ email: string;
+ };
+}
+
+export interface IAuthSuccessAction extends Action {
+ type: AuthTypes.AUTH_SUCCESS;
+ payload: IUserAuthJSON;
+}
+
+export interface IAuthFailureAction extends Action {
+ type: AuthTypes.AUTH_FAIL;
+ payload: {
+ error: string;
+ };
+}
+
+export interface IAuthStartFormSpinnerAction extends Action {
+ type: AuthTypes.AUTH_START_FORM_SPINNER;
+}
+
+export function startFormSpinner(): IAuthStartFormSpinnerAction {
+ return { type: AuthTypes.AUTH_START_FORM_SPINNER };
+}
+
+export function authStart(
+ username: string,
+ password: string,
+): IAuthStartAction {
+ return { type: AuthTypes.AUTH_START, payload: { username, password } };
+}
+
+export function signupStart(
+ username: string,
+ password: string,
+ email: string,
+): ISignupStartAction {
+ return {
+ type: AuthTypes.SIGNUP_START,
+ payload: { username, password, email },
+ };
+}
+
+export function authSuccess(user: IUserAuthJSON): IAuthSuccessAction {
+ return { type: AuthTypes.AUTH_SUCCESS, payload: user };
+}
+
+export function authFail(error: string): IAuthFailureAction {
+ return { type: AuthTypes.AUTH_FAIL, payload: { error } };
+}
+
+export type AuthAction =
+ | IAuthStartAction
+ | IAuthSuccessAction
+ | IAuthFailureAction
+ | IAuthStartFormSpinnerAction
+ | ISignupStartAction;
diff --git a/frontend/src/redux/auth/reducer.ts b/frontend/src/redux/auth/reducer.ts
new file mode 100644
index 0000000..179caa5
--- /dev/null
+++ b/frontend/src/redux/auth/reducer.ts
@@ -0,0 +1,56 @@
+import { Reducer } from "react";
+
+import { setToken } from "~redux/api/utils";
+import { UserAction, UserTypes } from "~redux/user/actions";
+import { AuthAction, AuthTypes } from "./actions";
+
+export interface IAuthState {
+ jwt: string | null;
+ inProgress: boolean;
+ formError: string | null;
+ formSpinner: boolean;
+}
+
+const defaultAuthState: IAuthState = {
+ jwt: null,
+ inProgress: false,
+ formError: null,
+ formSpinner: false,
+};
+
+export const authReducer: Reducer = (
+ state: IAuthState = defaultAuthState,
+ action: AuthAction | UserAction,
+): IAuthState => {
+ switch (action.type) {
+ case AuthTypes.AUTH_START:
+ case AuthTypes.SIGNUP_START:
+ return { ...defaultAuthState, inProgress: true };
+ break;
+ case AuthTypes.AUTH_SUCCESS:
+ case UserTypes.USER_GET_SUCCESS:
+ setToken(action.payload.jwt);
+ return {
+ ...defaultAuthState,
+ jwt: action.payload.jwt,
+ };
+ break;
+ case UserTypes.USER_GET_FAIL:
+ if (action.payload.logout) {
+ return defaultAuthState;
+ }
+ break;
+ case AuthTypes.AUTH_FAIL:
+ return { ...defaultAuthState, formError: action.payload.error };
+ break;
+ case AuthTypes.AUTH_START_FORM_SPINNER:
+ return { ...state, formSpinner: true };
+ case UserTypes.USER_LOGOUT:
+ return defaultAuthState;
+ break;
+ default:
+ return state;
+ break;
+ }
+ return state;
+};
diff --git a/frontend/src/redux/auth/sagas.ts b/frontend/src/redux/auth/sagas.ts
new file mode 100644
index 0000000..3ee71a6
--- /dev/null
+++ b/frontend/src/redux/auth/sagas.ts
@@ -0,0 +1,86 @@
+import {
+ all,
+ call,
+ cancel,
+ delay,
+ fork,
+ put,
+ race,
+ takeLatest,
+} from "redux-saga/effects";
+import { login, signup } from "~redux/api/auth";
+
+import {
+ authFail,
+ authSuccess,
+ AuthTypes,
+ IAuthStartAction,
+ ISignupStartAction,
+ startFormSpinner,
+} from "./actions";
+
+function* startSpinner() {
+ yield delay(300);
+ yield put(startFormSpinner());
+}
+
+function* authStart(action: IAuthStartAction) {
+ const { username, password } = action.payload;
+ try {
+ const spinner = yield fork(startSpinner);
+
+ const { response, timeout } = yield race({
+ response: call(login, username, password),
+ timeout: delay(10000),
+ });
+
+ yield cancel(spinner);
+
+ if (timeout) {
+ yield put(authFail("Timeout"));
+ return;
+ }
+ if (response.data) {
+ const user = response.data;
+ yield put(authSuccess(user));
+ } else {
+ yield put(authFail(response.error));
+ }
+ } catch (e) {
+ yield put(authFail("Internal error"));
+ }
+}
+
+function* signupStart(action: ISignupStartAction) {
+ const { username, password, email } = action.payload;
+ try {
+ const spinner = yield fork(startSpinner);
+
+ const { response, timeout } = yield race({
+ response: call(signup, username, password, email),
+ timeout: delay(10000),
+ });
+
+ yield cancel(spinner);
+
+ if (timeout) {
+ yield put(authFail("Timeout"));
+ return;
+ }
+ if (response.data) {
+ const user = response.data;
+ yield put(authSuccess(user));
+ } else {
+ yield put(authFail(response.error));
+ }
+ } catch (e) {
+ yield put(authFail(e.toString()));
+ }
+}
+
+export function* authSaga() {
+ yield all([
+ takeLatest(AuthTypes.AUTH_START, authStart),
+ takeLatest(AuthTypes.SIGNUP_START, signupStart),
+ ]);
+}
diff --git a/frontend/src/redux/localSettings/actions.ts b/frontend/src/redux/localSettings/actions.ts
new file mode 100644
index 0000000..9bf3b6d
--- /dev/null
+++ b/frontend/src/redux/localSettings/actions.ts
@@ -0,0 +1,15 @@
+import { Action } from "redux";
+
+export enum LocalSettingsTypes {
+ TOGGLE_DARK_MODE = "TOGGLE_DARK_MODE",
+}
+
+export interface IToggleDarkModeAction extends Action {
+ type: LocalSettingsTypes.TOGGLE_DARK_MODE;
+}
+
+export function toggleDarkMode(): IToggleDarkModeAction {
+ return { type: LocalSettingsTypes.TOGGLE_DARK_MODE };
+}
+
+export type LocalSettingsAction = IToggleDarkModeAction;
diff --git a/frontend/src/redux/localSettings/reducer.ts b/frontend/src/redux/localSettings/reducer.ts
new file mode 100644
index 0000000..dcff56c
--- /dev/null
+++ b/frontend/src/redux/localSettings/reducer.ts
@@ -0,0 +1,32 @@
+import { Reducer } from "react";
+import { UserAction, UserTypes } from "~redux/user/actions";
+
+import { LocalSettingsAction, LocalSettingsTypes } from "./actions";
+
+export interface ILocalSettingsState {
+ darkMode: boolean;
+}
+
+const defaultLocalSettingsState: ILocalSettingsState = {
+ darkMode: false,
+};
+
+export const localSettingsReducer: Reducer<
+ ILocalSettingsState,
+ LocalSettingsAction
+> = (
+ state: ILocalSettingsState = defaultLocalSettingsState,
+ action: LocalSettingsAction | UserAction,
+): ILocalSettingsState => {
+ const { darkMode } = state;
+ switch (action.type) {
+ case LocalSettingsTypes.TOGGLE_DARK_MODE:
+ return { ...state, darkMode: !darkMode };
+ case UserTypes.USER_LOGOUT:
+ return defaultLocalSettingsState;
+ default:
+ return state;
+ break;
+ }
+ return state;
+};
diff --git a/frontend/src/redux/reducers.ts b/frontend/src/redux/reducers.ts
new file mode 100644
index 0000000..35ea9b3
--- /dev/null
+++ b/frontend/src/redux/reducers.ts
@@ -0,0 +1,36 @@
+import { combineReducers } from "redux";
+import { persistReducer } from "redux-persist";
+import { PersistPartial } from "redux-persist/es/persistReducer";
+import storage from "redux-persist/lib/storage";
+import { authReducer, IAuthState } from "~redux/auth/reducer";
+import {
+ ILocalSettingsState,
+ localSettingsReducer,
+} from "./localSettings/reducer";
+import { IUserState, userReducer } from "./user/reducer";
+
+export interface IAppState {
+ auth: IAuthState & PersistPartial;
+ user: IUserState;
+ localSettings: ILocalSettingsState & PersistPartial;
+}
+
+const authPersistConfig = {
+ key: "auth",
+ storage,
+ whitelist: ["jwt"],
+};
+
+const localSettingsPersistConfig = {
+ key: "localSettings",
+ storage,
+};
+
+export const rootReducer = combineReducers({
+ auth: persistReducer(authPersistConfig, authReducer),
+ user: userReducer,
+ localSettings: persistReducer(
+ localSettingsPersistConfig,
+ localSettingsReducer,
+ ),
+});
diff --git a/frontend/src/redux/store.ts b/frontend/src/redux/store.ts
new file mode 100644
index 0000000..9eb60a9
--- /dev/null
+++ b/frontend/src/redux/store.ts
@@ -0,0 +1,28 @@
+import { applyMiddleware, createStore } from "redux";
+import { composeWithDevTools } from "redux-devtools-extension";
+import { persistStore } from "redux-persist";
+import createSagaMiddlware from "redux-saga";
+import { rootReducer } from "~redux/reducers";
+
+import { setToken } from "./api/utils";
+import { authSaga } from "./auth/sagas";
+import { getUser } from "./user/actions";
+import { userSaga } from "./user/sagas";
+
+const sagaMiddleware = createSagaMiddlware();
+
+export const store = createStore(
+ rootReducer,
+ composeWithDevTools(applyMiddleware(sagaMiddleware)),
+);
+
+export const persistor = persistStore(store, null, () => {
+ const state = store.getState();
+ if (state.auth.jwt) {
+ setToken(state.auth.jwt);
+ store.dispatch(getUser());
+ }
+});
+
+sagaMiddleware.run(authSaga);
+sagaMiddleware.run(userSaga);
diff --git a/frontend/src/redux/types.ts b/frontend/src/redux/types.ts
new file mode 100644
index 0000000..e69de29
diff --git a/frontend/src/redux/user/actions.ts b/frontend/src/redux/user/actions.ts
new file mode 100644
index 0000000..ee478a7
--- /dev/null
+++ b/frontend/src/redux/user/actions.ts
@@ -0,0 +1,102 @@
+import { Action } from "redux";
+import { IUserAuthJSON, IUserJSON } from "~../../src/entity/User";
+import { showPasswordNotSavedToast, showPasswordSavedToast } from "~AppToaster";
+
+export enum UserTypes {
+ USER_GET = "USER_GET",
+ USER_GET_SUCCESS = "USER_GET_SUCCESS",
+ USER_GET_FAIL = "USER_GET_FAIL",
+ USER_LOGOUT = "USER_LOGOUT",
+ USER_PASS_CHANGE = "USER_PASS_CHANGE",
+ USER_PASS_CHANGE_SUCCESS = "USER_PASS_CHANGE_SUCCESS",
+ USER_PASS_CHANGE_FAIL = "USER_PASS_CHANGE_FAIL",
+}
+
+export interface IUserGetAction extends Action {
+ type: UserTypes.USER_GET;
+}
+
+export interface IUserLogoutAction extends Action {
+ type: UserTypes.USER_LOGOUT;
+}
+
+export interface IUserGetSuccessAction extends Action {
+ type: UserTypes.USER_GET_SUCCESS;
+ payload: IUserAuthJSON;
+}
+
+export interface IUserGetFailAction extends Action {
+ type: UserTypes.USER_GET_FAIL;
+ payload: {
+ error: string;
+ logout: boolean;
+ };
+}
+
+export interface IUserPassChangeAction extends Action {
+ type: UserTypes.USER_PASS_CHANGE;
+ password: string;
+}
+
+export interface IUserPassChangeSuccessAction extends Action {
+ type: UserTypes.USER_PASS_CHANGE_SUCCESS;
+ payload: IUserAuthJSON;
+}
+
+export interface IUserPassChangeFailAction extends Action {
+ type: UserTypes.USER_PASS_CHANGE_FAIL;
+ payload: {
+ error: string;
+ logout: boolean;
+ };
+}
+
+export function getUser(): IUserGetAction {
+ return { type: UserTypes.USER_GET };
+}
+
+export function logoutUser(): IUserLogoutAction {
+ return { type: UserTypes.USER_LOGOUT };
+}
+
+export function getUserSuccess(user: IUserAuthJSON): IUserGetSuccessAction {
+ return { type: UserTypes.USER_GET_SUCCESS, payload: user };
+}
+
+export function getUserFail(
+ error: string,
+ logout: boolean,
+): IUserGetFailAction {
+ return { type: UserTypes.USER_GET_FAIL, payload: { error, logout } };
+}
+
+export function userPassChange(password: string): IUserPassChangeAction {
+ return { type: UserTypes.USER_PASS_CHANGE, password };
+}
+
+export function userPassChangeSuccess(
+ user: IUserAuthJSON,
+): IUserPassChangeSuccessAction {
+ showPasswordSavedToast();
+ return { type: UserTypes.USER_PASS_CHANGE_SUCCESS, payload: user };
+}
+
+export function userPassChangeFail(
+ error: string,
+ logout: boolean,
+): IUserPassChangeFailAction {
+ showPasswordNotSavedToast(error);
+ return {
+ type: UserTypes.USER_PASS_CHANGE_FAIL,
+ payload: { error, logout },
+ };
+}
+
+export type UserAction =
+ | IUserGetAction
+ | IUserGetSuccessAction
+ | IUserGetFailAction
+ | IUserLogoutAction
+ | IUserPassChangeAction
+ | IUserPassChangeFailAction
+ | IUserPassChangeSuccessAction;
diff --git a/frontend/src/redux/user/reducer.ts b/frontend/src/redux/user/reducer.ts
new file mode 100644
index 0000000..4529439
--- /dev/null
+++ b/frontend/src/redux/user/reducer.ts
@@ -0,0 +1,39 @@
+import { Reducer } from "react";
+import { IUserJSON } from "~../../src/entity/User";
+import { AuthAction, AuthTypes } from "~redux/auth/actions";
+import { UserAction, UserTypes } from "./actions";
+
+export interface IUserState {
+ user: IUserJSON | null;
+}
+
+const defaultUserState: IUserState = {
+ user: null,
+};
+
+export const userReducer: Reducer = (
+ state: IUserState = defaultUserState,
+ action: AuthAction | UserAction,
+): IUserState => {
+ switch (action.type) {
+ case AuthTypes.AUTH_SUCCESS:
+ case UserTypes.USER_GET_SUCCESS:
+ case UserTypes.USER_PASS_CHANGE_SUCCESS:
+ return {
+ ...defaultUserState,
+ user: action.payload,
+ };
+ break;
+ case UserTypes.USER_GET_FAIL:
+ case UserTypes.USER_PASS_CHANGE_FAIL:
+ return defaultUserState;
+ break;
+ case UserTypes.USER_LOGOUT:
+ return defaultUserState;
+ break;
+ default:
+ return state;
+ break;
+ }
+ return state;
+};
diff --git a/frontend/src/redux/user/sagas.ts b/frontend/src/redux/user/sagas.ts
new file mode 100644
index 0000000..2ef26bd
--- /dev/null
+++ b/frontend/src/redux/user/sagas.ts
@@ -0,0 +1,62 @@
+import { all, call, delay, put, race, takeLatest } from "redux-saga/effects";
+import { changeUserPassword, fetchUser } from "~redux/api/user";
+
+import {
+ getUserFail,
+ getUserSuccess,
+ IUserPassChangeAction,
+ userPassChangeFail,
+ userPassChangeSuccess,
+ UserTypes,
+} from "./actions";
+
+function* getUser() {
+ try {
+ const { response, timeout } = yield race({
+ response: call(fetchUser),
+ timeout: delay(10000),
+ });
+
+ if (timeout) {
+ yield put(getUserFail("Timeout", false));
+ return;
+ }
+ if (response.data) {
+ const user = response.data;
+ yield put(getUserSuccess(user));
+ } else {
+ yield put(getUserFail(response.error, true));
+ }
+ } catch (e) {
+ yield put(getUserFail("Internal error", false));
+ }
+}
+
+function* userPassChange(action: IUserPassChangeAction) {
+ try {
+ const { response, timeout } = yield race({
+ response: call(changeUserPassword, action.password),
+ timeout: delay(10000),
+ });
+
+ if (timeout) {
+ yield put(userPassChangeFail("Timeout", false));
+ return;
+ }
+ if (response.data) {
+ const user = response.data;
+ yield put(userPassChangeSuccess(user));
+ } else {
+ yield put(userPassChangeFail(response.error, true));
+ }
+ } catch (e) {
+ yield put(userPassChangeFail("Internal error", false));
+ }
+}
+
+export function* userSaga() {
+ yield all([
+ takeLatest(UserTypes.USER_GET, getUser),
+ takeLatest(UserTypes.USER_PASS_CHANGE, userPassChange),
+ ]);
+}
diff --git a/frontend/src/styleMock.ts b/frontend/src/styleMock.ts
new file mode 100644
index 0000000..f053ebf
--- /dev/null
+++ b/frontend/src/styleMock.ts
@@ -0,0 +1 @@
+module.exports = {};
diff --git a/frontend/src/tests/utils.ts b/frontend/src/tests/utils.ts
new file mode 100644
index 0000000..b549515
--- /dev/null
+++ b/frontend/src/tests/utils.ts
@@ -0,0 +1,3 @@
+export function flushPromises() {
+ return new Promise(setImmediate);
+}