최동원

login/logout/signup

...@@ -1788,6 +1788,12 @@ ...@@ -1788,6 +1788,12 @@
1788 "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", 1788 "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
1789 "dev": true 1789 "dev": true
1790 }, 1790 },
1791 + "acorn-jsx": {
1792 + "version": "5.2.0",
1793 + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz",
1794 + "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==",
1795 + "dev": true
1796 + },
1791 "acorn-walk": { 1797 "acorn-walk": {
1792 "version": "7.1.1", 1798 "version": "7.1.1",
1793 "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz", 1799 "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz",
...@@ -1846,6 +1852,23 @@ ...@@ -1846,6 +1852,23 @@
1846 "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", 1852 "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
1847 "dev": true 1853 "dev": true
1848 }, 1854 },
1855 + "ansi-escapes": {
1856 + "version": "4.3.1",
1857 + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
1858 + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==",
1859 + "dev": true,
1860 + "requires": {
1861 + "type-fest": "^0.11.0"
1862 + },
1863 + "dependencies": {
1864 + "type-fest": {
1865 + "version": "0.11.0",
1866 + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
1867 + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
1868 + "dev": true
1869 + }
1870 + }
1871 + },
1849 "ansi-html": { 1872 "ansi-html": {
1850 "version": "0.0.7", 1873 "version": "0.0.7",
1851 "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", 1874 "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
...@@ -2027,6 +2050,12 @@ ...@@ -2027,6 +2050,12 @@
2027 "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", 2050 "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
2028 "dev": true 2051 "dev": true
2029 }, 2052 },
2053 + "astral-regex": {
2054 + "version": "1.0.0",
2055 + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
2056 + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
2057 + "dev": true
2058 + },
2030 "async": { 2059 "async": {
2031 "version": "2.6.3", 2060 "version": "2.6.3",
2032 "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", 2061 "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
...@@ -2087,6 +2116,37 @@ ...@@ -2087,6 +2116,37 @@
2087 "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", 2116 "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==",
2088 "dev": true 2117 "dev": true
2089 }, 2118 },
2119 + "axios": {
2120 + "version": "0.19.2",
2121 + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz",
2122 + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==",
2123 + "requires": {
2124 + "follow-redirects": "1.5.10"
2125 + },
2126 + "dependencies": {
2127 + "debug": {
2128 + "version": "3.1.0",
2129 + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
2130 + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
2131 + "requires": {
2132 + "ms": "2.0.0"
2133 + }
2134 + },
2135 + "follow-redirects": {
2136 + "version": "1.5.10",
2137 + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
2138 + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
2139 + "requires": {
2140 + "debug": "=3.1.0"
2141 + }
2142 + },
2143 + "ms": {
2144 + "version": "2.0.0",
2145 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
2146 + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
2147 + }
2148 + }
2149 + },
2090 "babel-loader": { 2150 "babel-loader": {
2091 "version": "8.1.0", 2151 "version": "8.1.0",
2092 "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", 2152 "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz",
...@@ -2730,6 +2790,12 @@ ...@@ -2730,6 +2790,12 @@
2730 "supports-color": "^5.3.0" 2790 "supports-color": "^5.3.0"
2731 } 2791 }
2732 }, 2792 },
2793 + "chardet": {
2794 + "version": "0.7.0",
2795 + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
2796 + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
2797 + "dev": true
2798 + },
2733 "check-types": { 2799 "check-types": {
2734 "version": "8.0.3", 2800 "version": "8.0.3",
2735 "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", 2801 "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz",
...@@ -2908,6 +2974,12 @@ ...@@ -2908,6 +2974,12 @@
2908 "integrity": "sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==", 2974 "integrity": "sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==",
2909 "dev": true 2975 "dev": true
2910 }, 2976 },
2977 + "cli-width": {
2978 + "version": "2.2.1",
2979 + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
2980 + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==",
2981 + "dev": true
2982 + },
2911 "clipboardy": { 2983 "clipboardy": {
2912 "version": "2.3.0", 2984 "version": "2.3.0",
2913 "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", 2985 "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz",
...@@ -3665,6 +3737,12 @@ ...@@ -3665,6 +3737,12 @@
3665 "regexp.prototype.flags": "^1.2.0" 3737 "regexp.prototype.flags": "^1.2.0"
3666 } 3738 }
3667 }, 3739 },
3740 + "deep-is": {
3741 + "version": "0.1.3",
3742 + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
3743 + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
3744 + "dev": true
3745 + },
3668 "deepmerge": { 3746 "deepmerge": {
3669 "version": "1.5.2", 3747 "version": "1.5.2",
3670 "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", 3748 "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz",
...@@ -3976,6 +4054,15 @@ ...@@ -3976,6 +4054,15 @@
3976 "buffer-indexof": "^1.0.0" 4054 "buffer-indexof": "^1.0.0"
3977 } 4055 }
3978 }, 4056 },
4057 + "doctrine": {
4058 + "version": "3.0.0",
4059 + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
4060 + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
4061 + "dev": true,
4062 + "requires": {
4063 + "esutils": "^2.0.2"
4064 + }
4065 + },
3979 "dom-converter": { 4066 "dom-converter": {
3980 "version": "0.2.0", 4067 "version": "0.2.0",
3981 "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", 4068 "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
...@@ -4255,6 +4342,234 @@ ...@@ -4255,6 +4342,234 @@
4255 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 4342 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
4256 "dev": true 4343 "dev": true
4257 }, 4344 },
4345 + "eslint": {
4346 + "version": "7.1.0",
4347 + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.1.0.tgz",
4348 + "integrity": "sha512-DfS3b8iHMK5z/YLSme8K5cge168I8j8o1uiVmFCgnnjxZQbCGyraF8bMl7Ju4yfBmCuxD7shOF7eqGkcuIHfsA==",
4349 + "dev": true,
4350 + "requires": {
4351 + "@babel/code-frame": "^7.0.0",
4352 + "ajv": "^6.10.0",
4353 + "chalk": "^4.0.0",
4354 + "cross-spawn": "^7.0.2",
4355 + "debug": "^4.0.1",
4356 + "doctrine": "^3.0.0",
4357 + "eslint-scope": "^5.0.0",
4358 + "eslint-utils": "^2.0.0",
4359 + "eslint-visitor-keys": "^1.1.0",
4360 + "espree": "^7.0.0",
4361 + "esquery": "^1.2.0",
4362 + "esutils": "^2.0.2",
4363 + "file-entry-cache": "^5.0.1",
4364 + "functional-red-black-tree": "^1.0.1",
4365 + "glob-parent": "^5.0.0",
4366 + "globals": "^12.1.0",
4367 + "ignore": "^4.0.6",
4368 + "import-fresh": "^3.0.0",
4369 + "imurmurhash": "^0.1.4",
4370 + "inquirer": "^7.0.0",
4371 + "is-glob": "^4.0.0",
4372 + "js-yaml": "^3.13.1",
4373 + "json-stable-stringify-without-jsonify": "^1.0.1",
4374 + "levn": "^0.4.1",
4375 + "lodash": "^4.17.14",
4376 + "minimatch": "^3.0.4",
4377 + "natural-compare": "^1.4.0",
4378 + "optionator": "^0.9.1",
4379 + "progress": "^2.0.0",
4380 + "regexpp": "^3.1.0",
4381 + "semver": "^7.2.1",
4382 + "strip-ansi": "^6.0.0",
4383 + "strip-json-comments": "^3.1.0",
4384 + "table": "^5.2.3",
4385 + "text-table": "^0.2.0",
4386 + "v8-compile-cache": "^2.0.3"
4387 + },
4388 + "dependencies": {
4389 + "ansi-styles": {
4390 + "version": "4.2.1",
4391 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
4392 + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
4393 + "dev": true,
4394 + "requires": {
4395 + "@types/color-name": "^1.1.1",
4396 + "color-convert": "^2.0.1"
4397 + }
4398 + },
4399 + "chalk": {
4400 + "version": "4.0.0",
4401 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
4402 + "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
4403 + "dev": true,
4404 + "requires": {
4405 + "ansi-styles": "^4.1.0",
4406 + "supports-color": "^7.1.0"
4407 + }
4408 + },
4409 + "color-convert": {
4410 + "version": "2.0.1",
4411 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
4412 + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
4413 + "dev": true,
4414 + "requires": {
4415 + "color-name": "~1.1.4"
4416 + }
4417 + },
4418 + "color-name": {
4419 + "version": "1.1.4",
4420 + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
4421 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
4422 + "dev": true
4423 + },
4424 + "cross-spawn": {
4425 + "version": "7.0.2",
4426 + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.2.tgz",
4427 + "integrity": "sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw==",
4428 + "dev": true,
4429 + "requires": {
4430 + "path-key": "^3.1.0",
4431 + "shebang-command": "^2.0.0",
4432 + "which": "^2.0.1"
4433 + }
4434 + },
4435 + "eslint-scope": {
4436 + "version": "5.0.0",
4437 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
4438 + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
4439 + "dev": true,
4440 + "requires": {
4441 + "esrecurse": "^4.1.0",
4442 + "estraverse": "^4.1.1"
4443 + }
4444 + },
4445 + "glob-parent": {
4446 + "version": "5.1.1",
4447 + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
4448 + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
4449 + "dev": true,
4450 + "requires": {
4451 + "is-glob": "^4.0.1"
4452 + }
4453 + },
4454 + "globals": {
4455 + "version": "12.4.0",
4456 + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
4457 + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
4458 + "dev": true,
4459 + "requires": {
4460 + "type-fest": "^0.8.1"
4461 + }
4462 + },
4463 + "has-flag": {
4464 + "version": "4.0.0",
4465 + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
4466 + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
4467 + "dev": true
4468 + },
4469 + "ignore": {
4470 + "version": "4.0.6",
4471 + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
4472 + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
4473 + "dev": true
4474 + },
4475 + "import-fresh": {
4476 + "version": "3.2.1",
4477 + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
4478 + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
4479 + "dev": true,
4480 + "requires": {
4481 + "parent-module": "^1.0.0",
4482 + "resolve-from": "^4.0.0"
4483 + }
4484 + },
4485 + "path-key": {
4486 + "version": "3.1.1",
4487 + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
4488 + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
4489 + "dev": true
4490 + },
4491 + "resolve-from": {
4492 + "version": "4.0.0",
4493 + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
4494 + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
4495 + "dev": true
4496 + },
4497 + "semver": {
4498 + "version": "7.3.2",
4499 + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
4500 + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
4501 + "dev": true
4502 + },
4503 + "shebang-command": {
4504 + "version": "2.0.0",
4505 + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
4506 + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
4507 + "dev": true,
4508 + "requires": {
4509 + "shebang-regex": "^3.0.0"
4510 + }
4511 + },
4512 + "shebang-regex": {
4513 + "version": "3.0.0",
4514 + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
4515 + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
4516 + "dev": true
4517 + },
4518 + "supports-color": {
4519 + "version": "7.1.0",
4520 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
4521 + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
4522 + "dev": true,
4523 + "requires": {
4524 + "has-flag": "^4.0.0"
4525 + }
4526 + },
4527 + "type-fest": {
4528 + "version": "0.8.1",
4529 + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
4530 + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
4531 + "dev": true
4532 + },
4533 + "which": {
4534 + "version": "2.0.2",
4535 + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
4536 + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
4537 + "dev": true,
4538 + "requires": {
4539 + "isexe": "^2.0.0"
4540 + }
4541 + }
4542 + }
4543 + },
4544 + "eslint-config-prettier": {
4545 + "version": "6.11.0",
4546 + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz",
4547 + "integrity": "sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==",
4548 + "dev": true,
4549 + "requires": {
4550 + "get-stdin": "^6.0.0"
4551 + }
4552 + },
4553 + "eslint-plugin-prettier": {
4554 + "version": "3.1.3",
4555 + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.3.tgz",
4556 + "integrity": "sha512-+HG5jmu/dN3ZV3T6eCD7a4BlAySdN7mLIbJYo0z1cFQuI+r2DiTJEFeF68ots93PsnrMxbzIZ2S/ieX+mkrBeQ==",
4557 + "dev": true,
4558 + "requires": {
4559 + "prettier-linter-helpers": "^1.0.0"
4560 + }
4561 + },
4562 + "eslint-plugin-vue": {
4563 + "version": "6.2.2",
4564 + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-6.2.2.tgz",
4565 + "integrity": "sha512-Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ==",
4566 + "dev": true,
4567 + "requires": {
4568 + "natural-compare": "^1.4.0",
4569 + "semver": "^5.6.0",
4570 + "vue-eslint-parser": "^7.0.0"
4571 + }
4572 + },
4258 "eslint-scope": { 4573 "eslint-scope": {
4259 "version": "4.0.3", 4574 "version": "4.0.3",
4260 "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", 4575 "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
...@@ -4265,12 +4580,63 @@ ...@@ -4265,12 +4580,63 @@
4265 "estraverse": "^4.1.1" 4580 "estraverse": "^4.1.1"
4266 } 4581 }
4267 }, 4582 },
4583 + "eslint-utils": {
4584 + "version": "2.0.0",
4585 + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz",
4586 + "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==",
4587 + "dev": true,
4588 + "requires": {
4589 + "eslint-visitor-keys": "^1.1.0"
4590 + }
4591 + },
4592 + "eslint-visitor-keys": {
4593 + "version": "1.1.0",
4594 + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
4595 + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
4596 + "dev": true
4597 + },
4598 + "espree": {
4599 + "version": "7.0.0",
4600 + "resolved": "https://registry.npmjs.org/espree/-/espree-7.0.0.tgz",
4601 + "integrity": "sha512-/r2XEx5Mw4pgKdyb7GNLQNsu++asx/dltf/CI8RFi9oGHxmQFgvLbc5Op4U6i8Oaj+kdslhJtVlEZeAqH5qOTw==",
4602 + "dev": true,
4603 + "requires": {
4604 + "acorn": "^7.1.1",
4605 + "acorn-jsx": "^5.2.0",
4606 + "eslint-visitor-keys": "^1.1.0"
4607 + },
4608 + "dependencies": {
4609 + "acorn": {
4610 + "version": "7.2.0",
4611 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz",
4612 + "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==",
4613 + "dev": true
4614 + }
4615 + }
4616 + },
4268 "esprima": { 4617 "esprima": {
4269 "version": "4.0.1", 4618 "version": "4.0.1",
4270 "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 4619 "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
4271 "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 4620 "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
4272 "dev": true 4621 "dev": true
4273 }, 4622 },
4623 + "esquery": {
4624 + "version": "1.3.1",
4625 + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
4626 + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
4627 + "dev": true,
4628 + "requires": {
4629 + "estraverse": "^5.1.0"
4630 + },
4631 + "dependencies": {
4632 + "estraverse": {
4633 + "version": "5.1.0",
4634 + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz",
4635 + "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==",
4636 + "dev": true
4637 + }
4638 + }
4639 + },
4274 "esrecurse": { 4640 "esrecurse": {
4275 "version": "4.2.1", 4641 "version": "4.2.1",
4276 "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", 4642 "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
...@@ -4488,6 +4854,17 @@ ...@@ -4488,6 +4854,17 @@
4488 } 4854 }
4489 } 4855 }
4490 }, 4856 },
4857 + "external-editor": {
4858 + "version": "3.1.0",
4859 + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
4860 + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
4861 + "dev": true,
4862 + "requires": {
4863 + "chardet": "^0.7.0",
4864 + "iconv-lite": "^0.4.24",
4865 + "tmp": "^0.0.33"
4866 + }
4867 + },
4491 "extglob": { 4868 "extglob": {
4492 "version": "2.0.4", 4869 "version": "2.0.4",
4493 "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", 4870 "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
...@@ -4565,6 +4942,12 @@ ...@@ -4565,6 +4942,12 @@
4565 "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", 4942 "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
4566 "dev": true 4943 "dev": true
4567 }, 4944 },
4945 + "fast-diff": {
4946 + "version": "1.2.0",
4947 + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
4948 + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
4949 + "dev": true
4950 + },
4568 "fast-glob": { 4951 "fast-glob": {
4569 "version": "2.2.7", 4952 "version": "2.2.7",
4570 "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", 4953 "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz",
...@@ -4585,6 +4968,12 @@ ...@@ -4585,6 +4968,12 @@
4585 "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 4968 "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
4586 "dev": true 4969 "dev": true
4587 }, 4970 },
4971 + "fast-levenshtein": {
4972 + "version": "2.0.6",
4973 + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
4974 + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
4975 + "dev": true
4976 + },
4588 "faye-websocket": { 4977 "faye-websocket": {
4589 "version": "0.10.0", 4978 "version": "0.10.0",
4590 "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", 4979 "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
...@@ -4600,6 +4989,24 @@ ...@@ -4600,6 +4989,24 @@
4600 "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", 4989 "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
4601 "dev": true 4990 "dev": true
4602 }, 4991 },
4992 + "figures": {
4993 + "version": "3.2.0",
4994 + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
4995 + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
4996 + "dev": true,
4997 + "requires": {
4998 + "escape-string-regexp": "^1.0.5"
4999 + }
5000 + },
5001 + "file-entry-cache": {
5002 + "version": "5.0.1",
5003 + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
5004 + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
5005 + "dev": true,
5006 + "requires": {
5007 + "flat-cache": "^2.0.1"
5008 + }
5009 + },
4603 "file-loader": { 5010 "file-loader": {
4604 "version": "4.3.0", 5011 "version": "4.3.0",
4605 "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz", 5012 "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz",
...@@ -4698,6 +5105,34 @@ ...@@ -4698,6 +5105,34 @@
4698 "locate-path": "^2.0.0" 5105 "locate-path": "^2.0.0"
4699 } 5106 }
4700 }, 5107 },
5108 + "flat-cache": {
5109 + "version": "2.0.1",
5110 + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
5111 + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
5112 + "dev": true,
5113 + "requires": {
5114 + "flatted": "^2.0.0",
5115 + "rimraf": "2.6.3",
5116 + "write": "1.0.3"
5117 + },
5118 + "dependencies": {
5119 + "rimraf": {
5120 + "version": "2.6.3",
5121 + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
5122 + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
5123 + "dev": true,
5124 + "requires": {
5125 + "glob": "^7.1.3"
5126 + }
5127 + }
5128 + }
5129 + },
5130 + "flatted": {
5131 + "version": "2.0.2",
5132 + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
5133 + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
5134 + "dev": true
5135 + },
4701 "flush-write-stream": { 5136 "flush-write-stream": {
4702 "version": "1.1.1", 5137 "version": "1.1.1",
4703 "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", 5138 "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
...@@ -4837,6 +5272,12 @@ ...@@ -4837,6 +5272,12 @@
4837 "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 5272 "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
4838 "dev": true 5273 "dev": true
4839 }, 5274 },
5275 + "functional-red-black-tree": {
5276 + "version": "1.0.1",
5277 + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
5278 + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
5279 + "dev": true
5280 + },
4840 "gensync": { 5281 "gensync": {
4841 "version": "1.0.0-beta.1", 5282 "version": "1.0.0-beta.1",
4842 "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", 5283 "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
...@@ -4849,6 +5290,12 @@ ...@@ -4849,6 +5290,12 @@
4849 "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 5290 "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
4850 "dev": true 5291 "dev": true
4851 }, 5292 },
5293 + "get-stdin": {
5294 + "version": "6.0.0",
5295 + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz",
5296 + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==",
5297 + "dev": true
5298 + },
4852 "get-stream": { 5299 "get-stream": {
4853 "version": "4.1.0", 5300 "version": "4.1.0",
4854 "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", 5301 "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
...@@ -5487,6 +5934,130 @@ ...@@ -5487,6 +5934,130 @@
5487 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 5934 "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
5488 "dev": true 5935 "dev": true
5489 }, 5936 },
5937 + "inquirer": {
5938 + "version": "7.1.0",
5939 + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz",
5940 + "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==",
5941 + "dev": true,
5942 + "requires": {
5943 + "ansi-escapes": "^4.2.1",
5944 + "chalk": "^3.0.0",
5945 + "cli-cursor": "^3.1.0",
5946 + "cli-width": "^2.0.0",
5947 + "external-editor": "^3.0.3",
5948 + "figures": "^3.0.0",
5949 + "lodash": "^4.17.15",
5950 + "mute-stream": "0.0.8",
5951 + "run-async": "^2.4.0",
5952 + "rxjs": "^6.5.3",
5953 + "string-width": "^4.1.0",
5954 + "strip-ansi": "^6.0.0",
5955 + "through": "^2.3.6"
5956 + },
5957 + "dependencies": {
5958 + "ansi-styles": {
5959 + "version": "4.2.1",
5960 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
5961 + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
5962 + "dev": true,
5963 + "requires": {
5964 + "@types/color-name": "^1.1.1",
5965 + "color-convert": "^2.0.1"
5966 + }
5967 + },
5968 + "chalk": {
5969 + "version": "3.0.0",
5970 + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
5971 + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
5972 + "dev": true,
5973 + "requires": {
5974 + "ansi-styles": "^4.1.0",
5975 + "supports-color": "^7.1.0"
5976 + }
5977 + },
5978 + "cli-cursor": {
5979 + "version": "3.1.0",
5980 + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
5981 + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
5982 + "dev": true,
5983 + "requires": {
5984 + "restore-cursor": "^3.1.0"
5985 + }
5986 + },
5987 + "color-convert": {
5988 + "version": "2.0.1",
5989 + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
5990 + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
5991 + "dev": true,
5992 + "requires": {
5993 + "color-name": "~1.1.4"
5994 + }
5995 + },
5996 + "color-name": {
5997 + "version": "1.1.4",
5998 + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
5999 + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
6000 + "dev": true
6001 + },
6002 + "has-flag": {
6003 + "version": "4.0.0",
6004 + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
6005 + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
6006 + "dev": true
6007 + },
6008 + "is-fullwidth-code-point": {
6009 + "version": "3.0.0",
6010 + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
6011 + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
6012 + "dev": true
6013 + },
6014 + "mimic-fn": {
6015 + "version": "2.1.0",
6016 + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
6017 + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
6018 + "dev": true
6019 + },
6020 + "onetime": {
6021 + "version": "5.1.0",
6022 + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
6023 + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
6024 + "dev": true,
6025 + "requires": {
6026 + "mimic-fn": "^2.1.0"
6027 + }
6028 + },
6029 + "restore-cursor": {
6030 + "version": "3.1.0",
6031 + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
6032 + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
6033 + "dev": true,
6034 + "requires": {
6035 + "onetime": "^5.1.0",
6036 + "signal-exit": "^3.0.2"
6037 + }
6038 + },
6039 + "string-width": {
6040 + "version": "4.2.0",
6041 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
6042 + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
6043 + "dev": true,
6044 + "requires": {
6045 + "emoji-regex": "^8.0.0",
6046 + "is-fullwidth-code-point": "^3.0.0",
6047 + "strip-ansi": "^6.0.0"
6048 + }
6049 + },
6050 + "supports-color": {
6051 + "version": "7.1.0",
6052 + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
6053 + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
6054 + "dev": true,
6055 + "requires": {
6056 + "has-flag": "^4.0.0"
6057 + }
6058 + }
6059 + }
6060 + },
5490 "internal-ip": { 6061 "internal-ip": {
5491 "version": "4.3.0", 6062 "version": "4.3.0",
5492 "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", 6063 "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz",
...@@ -5939,6 +6510,12 @@ ...@@ -5939,6 +6510,12 @@
5939 "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 6510 "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
5940 "dev": true 6511 "dev": true
5941 }, 6512 },
6513 + "json-stable-stringify-without-jsonify": {
6514 + "version": "1.0.1",
6515 + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
6516 + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
6517 + "dev": true
6518 + },
5942 "json-stringify-safe": { 6519 "json-stringify-safe": {
5943 "version": "5.0.1", 6520 "version": "5.0.1",
5944 "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 6521 "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
...@@ -6027,6 +6604,16 @@ ...@@ -6027,6 +6604,16 @@
6027 "leven": "^3.1.0" 6604 "leven": "^3.1.0"
6028 } 6605 }
6029 }, 6606 },
6607 + "levn": {
6608 + "version": "0.4.1",
6609 + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
6610 + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
6611 + "dev": true,
6612 + "requires": {
6613 + "prelude-ls": "^1.2.1",
6614 + "type-check": "~0.4.0"
6615 + }
6616 + },
6030 "lines-and-columns": { 6617 "lines-and-columns": {
6031 "version": "1.1.6", 6618 "version": "1.1.6",
6032 "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", 6619 "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
...@@ -6509,6 +7096,12 @@ ...@@ -6509,6 +7096,12 @@
6509 "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", 7096 "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
6510 "dev": true 7097 "dev": true
6511 }, 7098 },
7099 + "mute-stream": {
7100 + "version": "0.0.8",
7101 + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
7102 + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
7103 + "dev": true
7104 + },
6512 "mz": { 7105 "mz": {
6513 "version": "2.7.0", 7106 "version": "2.7.0",
6514 "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 7107 "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
...@@ -6546,6 +7139,12 @@ ...@@ -6546,6 +7139,12 @@
6546 "to-regex": "^3.0.1" 7139 "to-regex": "^3.0.1"
6547 } 7140 }
6548 }, 7141 },
7142 + "natural-compare": {
7143 + "version": "1.4.0",
7144 + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
7145 + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
7146 + "dev": true
7147 + },
6549 "negotiator": { 7148 "negotiator": {
6550 "version": "0.6.2", 7149 "version": "0.6.2",
6551 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", 7150 "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
...@@ -6869,6 +7468,20 @@ ...@@ -6869,6 +7468,20 @@
6869 "is-wsl": "^1.1.0" 7468 "is-wsl": "^1.1.0"
6870 } 7469 }
6871 }, 7470 },
7471 + "optionator": {
7472 + "version": "0.9.1",
7473 + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
7474 + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
7475 + "dev": true,
7476 + "requires": {
7477 + "deep-is": "^0.1.3",
7478 + "fast-levenshtein": "^2.0.6",
7479 + "levn": "^0.4.1",
7480 + "prelude-ls": "^1.2.1",
7481 + "type-check": "^0.4.0",
7482 + "word-wrap": "^1.2.3"
7483 + }
7484 + },
6872 "ora": { 7485 "ora": {
6873 "version": "3.4.0", 7486 "version": "3.4.0",
6874 "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", 7487 "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz",
...@@ -6909,6 +7522,12 @@ ...@@ -6909,6 +7522,12 @@
6909 "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", 7522 "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
6910 "dev": true 7523 "dev": true
6911 }, 7524 },
7525 + "os-tmpdir": {
7526 + "version": "1.0.2",
7527 + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
7528 + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
7529 + "dev": true
7530 + },
6912 "p-finally": { 7531 "p-finally": {
6913 "version": "1.0.0", 7532 "version": "1.0.0",
6914 "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", 7533 "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
...@@ -6983,6 +7602,23 @@ ...@@ -6983,6 +7602,23 @@
6983 "no-case": "^2.2.0" 7602 "no-case": "^2.2.0"
6984 } 7603 }
6985 }, 7604 },
7605 + "parent-module": {
7606 + "version": "1.0.1",
7607 + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
7608 + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
7609 + "dev": true,
7610 + "requires": {
7611 + "callsites": "^3.0.0"
7612 + },
7613 + "dependencies": {
7614 + "callsites": {
7615 + "version": "3.1.0",
7616 + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
7617 + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
7618 + "dev": true
7619 + }
7620 + }
7621 + },
6986 "parse-asn1": { 7622 "parse-asn1": {
6987 "version": "5.1.5", 7623 "version": "5.1.5",
6988 "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", 7624 "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz",
...@@ -7825,6 +8461,12 @@ ...@@ -7825,6 +8461,12 @@
7825 "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", 8461 "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
7826 "dev": true 8462 "dev": true
7827 }, 8463 },
8464 + "prelude-ls": {
8465 + "version": "1.2.1",
8466 + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
8467 + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
8468 + "dev": true
8469 + },
7828 "prepend-http": { 8470 "prepend-http": {
7829 "version": "1.0.4", 8471 "version": "1.0.4",
7830 "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", 8472 "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
...@@ -7838,6 +8480,15 @@ ...@@ -7838,6 +8480,15 @@
7838 "dev": true, 8480 "dev": true,
7839 "optional": true 8481 "optional": true
7840 }, 8482 },
8483 + "prettier-linter-helpers": {
8484 + "version": "1.0.0",
8485 + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
8486 + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
8487 + "dev": true,
8488 + "requires": {
8489 + "fast-diff": "^1.1.2"
8490 + }
8491 + },
7841 "pretty-error": { 8492 "pretty-error": {
7842 "version": "2.1.1", 8493 "version": "2.1.1",
7843 "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", 8494 "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz",
...@@ -7866,6 +8517,12 @@ ...@@ -7866,6 +8517,12 @@
7866 "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", 8517 "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
7867 "dev": true 8518 "dev": true
7868 }, 8519 },
8520 + "progress": {
8521 + "version": "2.0.3",
8522 + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
8523 + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
8524 + "dev": true
8525 + },
7869 "promise-inflight": { 8526 "promise-inflight": {
7870 "version": "1.0.1", 8527 "version": "1.0.1",
7871 "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", 8528 "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
...@@ -8136,6 +8793,12 @@ ...@@ -8136,6 +8793,12 @@
8136 "es-abstract": "^1.17.0-next.1" 8793 "es-abstract": "^1.17.0-next.1"
8137 } 8794 }
8138 }, 8795 },
8796 + "regexpp": {
8797 + "version": "3.1.0",
8798 + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",
8799 + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
8800 + "dev": true
8801 + },
8139 "regexpu-core": { 8802 "regexpu-core": {
8140 "version": "4.7.0", 8803 "version": "4.7.0",
8141 "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", 8804 "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz",
...@@ -8404,6 +9067,12 @@ ...@@ -8404,6 +9067,12 @@
8404 "inherits": "^2.0.1" 9067 "inherits": "^2.0.1"
8405 } 9068 }
8406 }, 9069 },
9070 + "run-async": {
9071 + "version": "2.4.1",
9072 + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
9073 + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
9074 + "dev": true
9075 + },
8407 "run-queue": { 9076 "run-queue": {
8408 "version": "1.0.3", 9077 "version": "1.0.3",
8409 "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", 9078 "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
...@@ -8413,6 +9082,15 @@ ...@@ -8413,6 +9082,15 @@
8413 "aproba": "^1.1.1" 9082 "aproba": "^1.1.1"
8414 } 9083 }
8415 }, 9084 },
9085 + "rxjs": {
9086 + "version": "6.5.5",
9087 + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
9088 + "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==",
9089 + "dev": true,
9090 + "requires": {
9091 + "tslib": "^1.9.0"
9092 + }
9093 + },
8416 "safe-buffer": { 9094 "safe-buffer": {
8417 "version": "5.1.2", 9095 "version": "5.1.2",
8418 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", 9096 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
...@@ -8748,6 +9426,17 @@ ...@@ -8748,6 +9426,17 @@
8748 "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", 9426 "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
8749 "dev": true 9427 "dev": true
8750 }, 9428 },
9429 + "slice-ansi": {
9430 + "version": "2.1.0",
9431 + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
9432 + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
9433 + "dev": true,
9434 + "requires": {
9435 + "ansi-styles": "^3.2.0",
9436 + "astral-regex": "^1.0.0",
9437 + "is-fullwidth-code-point": "^2.0.0"
9438 + }
9439 + },
8751 "snapdragon": { 9440 "snapdragon": {
8752 "version": "0.8.2", 9441 "version": "0.8.2",
8753 "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", 9442 "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
...@@ -9283,6 +9972,12 @@ ...@@ -9283,6 +9972,12 @@
9283 "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", 9972 "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
9284 "dev": true 9973 "dev": true
9285 }, 9974 },
9975 + "strip-json-comments": {
9976 + "version": "3.1.0",
9977 + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz",
9978 + "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==",
9979 + "dev": true
9980 + },
9286 "stylehacks": { 9981 "stylehacks": {
9287 "version": "4.0.3", 9982 "version": "4.0.3",
9288 "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", 9983 "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz",
...@@ -9343,6 +10038,46 @@ ...@@ -9343,6 +10038,46 @@
9343 "util.promisify": "~1.0.0" 10038 "util.promisify": "~1.0.0"
9344 } 10039 }
9345 }, 10040 },
10041 + "table": {
10042 + "version": "5.4.6",
10043 + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
10044 + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
10045 + "dev": true,
10046 + "requires": {
10047 + "ajv": "^6.10.2",
10048 + "lodash": "^4.17.14",
10049 + "slice-ansi": "^2.1.0",
10050 + "string-width": "^3.0.0"
10051 + },
10052 + "dependencies": {
10053 + "emoji-regex": {
10054 + "version": "7.0.3",
10055 + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
10056 + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
10057 + "dev": true
10058 + },
10059 + "string-width": {
10060 + "version": "3.1.0",
10061 + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
10062 + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
10063 + "dev": true,
10064 + "requires": {
10065 + "emoji-regex": "^7.0.1",
10066 + "is-fullwidth-code-point": "^2.0.0",
10067 + "strip-ansi": "^5.1.0"
10068 + }
10069 + },
10070 + "strip-ansi": {
10071 + "version": "5.2.0",
10072 + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
10073 + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
10074 + "dev": true,
10075 + "requires": {
10076 + "ansi-regex": "^4.1.0"
10077 + }
10078 + }
10079 + }
10080 + },
9346 "tapable": { 10081 "tapable": {
9347 "version": "1.1.3", 10082 "version": "1.1.3",
9348 "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", 10083 "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
...@@ -9404,6 +10139,12 @@ ...@@ -9404,6 +10139,12 @@
9404 } 10139 }
9405 } 10140 }
9406 }, 10141 },
10142 + "text-table": {
10143 + "version": "0.2.0",
10144 + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
10145 + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
10146 + "dev": true
10147 + },
9407 "thenify": { 10148 "thenify": {
9408 "version": "3.3.0", 10149 "version": "3.3.0",
9409 "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", 10150 "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz",
...@@ -9433,6 +10174,12 @@ ...@@ -9433,6 +10174,12 @@
9433 "neo-async": "^2.6.0" 10174 "neo-async": "^2.6.0"
9434 } 10175 }
9435 }, 10176 },
10177 + "through": {
10178 + "version": "2.3.8",
10179 + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
10180 + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
10181 + "dev": true
10182 + },
9436 "through2": { 10183 "through2": {
9437 "version": "2.0.5", 10184 "version": "2.0.5",
9438 "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", 10185 "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
...@@ -9464,6 +10211,15 @@ ...@@ -9464,6 +10211,15 @@
9464 "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", 10211 "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
9465 "dev": true 10212 "dev": true
9466 }, 10213 },
10214 + "tmp": {
10215 + "version": "0.0.33",
10216 + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
10217 + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
10218 + "dev": true,
10219 + "requires": {
10220 + "os-tmpdir": "~1.0.2"
10221 + }
10222 + },
9467 "to-arraybuffer": { 10223 "to-arraybuffer": {
9468 "version": "1.0.1", 10224 "version": "1.0.1",
9469 "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", 10225 "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
...@@ -9579,6 +10335,15 @@ ...@@ -9579,6 +10335,15 @@
9579 "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", 10335 "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
9580 "dev": true 10336 "dev": true
9581 }, 10337 },
10338 + "type-check": {
10339 + "version": "0.4.0",
10340 + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
10341 + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
10342 + "dev": true,
10343 + "requires": {
10344 + "prelude-ls": "^1.2.1"
10345 + }
10346 + },
9582 "type-fest": { 10347 "type-fest": {
9583 "version": "0.6.0", 10348 "version": "0.6.0",
9584 "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", 10349 "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
...@@ -9878,6 +10643,12 @@ ...@@ -9878,6 +10643,12 @@
9878 "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", 10643 "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
9879 "dev": true 10644 "dev": true
9880 }, 10645 },
10646 + "v8-compile-cache": {
10647 + "version": "2.1.0",
10648 + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
10649 + "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==",
10650 + "dev": true
10651 + },
9881 "validate-npm-package-license": { 10652 "validate-npm-package-license": {
9882 "version": "3.0.4", 10653 "version": "3.0.4",
9883 "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", 10654 "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
...@@ -9940,6 +10711,49 @@ ...@@ -9940,6 +10711,49 @@
9940 } 10711 }
9941 } 10712 }
9942 }, 10713 },
10714 + "vue-eslint-parser": {
10715 + "version": "7.1.0",
10716 + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.1.0.tgz",
10717 + "integrity": "sha512-Kr21uPfthDc63nDl27AGQEhtt9VrZ9nkYk/NTftJ2ws9XiJwzJJCnCr3AITQ2jpRMA0XPGDECxYH8E027qMK9Q==",
10718 + "dev": true,
10719 + "requires": {
10720 + "debug": "^4.1.1",
10721 + "eslint-scope": "^5.0.0",
10722 + "eslint-visitor-keys": "^1.1.0",
10723 + "espree": "^6.2.1",
10724 + "esquery": "^1.0.1",
10725 + "lodash": "^4.17.15"
10726 + },
10727 + "dependencies": {
10728 + "acorn": {
10729 + "version": "7.2.0",
10730 + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz",
10731 + "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==",
10732 + "dev": true
10733 + },
10734 + "eslint-scope": {
10735 + "version": "5.0.0",
10736 + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
10737 + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
10738 + "dev": true,
10739 + "requires": {
10740 + "esrecurse": "^4.1.0",
10741 + "estraverse": "^4.1.1"
10742 + }
10743 + },
10744 + "espree": {
10745 + "version": "6.2.1",
10746 + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
10747 + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
10748 + "dev": true,
10749 + "requires": {
10750 + "acorn": "^7.1.1",
10751 + "acorn-jsx": "^5.2.0",
10752 + "eslint-visitor-keys": "^1.1.0"
10753 + }
10754 + }
10755 + }
10756 + },
9943 "vue-hot-reload-api": { 10757 "vue-hot-reload-api": {
9944 "version": "2.3.4", 10758 "version": "2.3.4",
9945 "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", 10759 "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz",
...@@ -10468,6 +11282,12 @@ ...@@ -10468,6 +11282,12 @@
10468 "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", 11282 "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
10469 "dev": true 11283 "dev": true
10470 }, 11284 },
11285 + "word-wrap": {
11286 + "version": "1.2.3",
11287 + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
11288 + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
11289 + "dev": true
11290 + },
10471 "worker-farm": { 11291 "worker-farm": {
10472 "version": "1.7.0", 11292 "version": "1.7.0",
10473 "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", 11293 "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
...@@ -10538,6 +11358,15 @@ ...@@ -10538,6 +11358,15 @@
10538 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 11358 "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
10539 "dev": true 11359 "dev": true
10540 }, 11360 },
11361 + "write": {
11362 + "version": "1.0.3",
11363 + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
11364 + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
11365 + "dev": true,
11366 + "requires": {
11367 + "mkdirp": "^0.5.1"
11368 + }
11369 + },
10541 "ws": { 11370 "ws": {
10542 "version": "6.2.1", 11371 "version": "6.2.1",
10543 "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", 11372 "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
7 "build": "vue-cli-service build" 7 "build": "vue-cli-service build"
8 }, 8 },
9 "dependencies": { 9 "dependencies": {
10 + "axios": "^0.19.2",
10 "core-js": "^3.6.4", 11 "core-js": "^3.6.4",
11 "vue": "^2.6.11", 12 "vue": "^2.6.11",
12 "vue-router": "^3.1.6", 13 "vue-router": "^3.1.6",
...@@ -18,6 +19,10 @@ ...@@ -18,6 +19,10 @@
18 "@vue/cli-plugin-router": "~4.3.0", 19 "@vue/cli-plugin-router": "~4.3.0",
19 "@vue/cli-plugin-vuex": "~4.3.0", 20 "@vue/cli-plugin-vuex": "~4.3.0",
20 "@vue/cli-service": "~4.3.0", 21 "@vue/cli-service": "~4.3.0",
22 + "eslint": "^7.1.0",
23 + "eslint-config-prettier": "^6.11.0",
24 + "eslint-plugin-prettier": "^3.1.3",
25 + "eslint-plugin-vue": "^6.2.2",
21 "sass": "^1.19.0", 26 "sass": "^1.19.0",
22 "sass-loader": "^8.0.0", 27 "sass-loader": "^8.0.0",
23 "vue-cli-plugin-vuetify": "~2.0.5", 28 "vue-cli-plugin-vuetify": "~2.0.5",
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
3 </template> 3 </template>
4 4
5 <script> 5 <script>
6 -import ToolView from './views/ToolView' 6 +import ToolView from './components/ToolView'
7 7
8 export default { 8 export default {
9 data() { 9 data() {
......
1 +import axios from 'axios'
2 +
3 +const instance = axios.create({
4 + baseURL: process.env.VUE_APP_API_URL,
5 +});
6 +
7 +function registerUser(userData) {
8 + return instance.post('RegistUser', userData);
9 + }
10 +
11 + function loginUser(userData) {
12 + return instance.post('login', userData);
13 + }
14 +
15 + export { registerUser, loginUser };
...\ No newline at end of file ...\ No newline at end of file
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
22 > 22 >
23 <v-toolbar-title>KhuLoud</v-toolbar-title> 23 <v-toolbar-title>KhuLoud</v-toolbar-title>
24 <v-spacer></v-spacer> 24 <v-spacer></v-spacer>
25 - <v-tooltip bottom> 25 + <!-- <v-tooltip bottom>
26 <template v-slot:activator="{ on }"> 26 <template v-slot:activator="{ on }">
27 <v-btn 27 <v-btn
28 :href="source" 28 :href="source"
...@@ -35,14 +35,15 @@ ...@@ -35,14 +35,15 @@
35 </v-btn> 35 </v-btn>
36 </template> 36 </template>
37 <span>Source</span> 37 <span>Source</span>
38 - </v-tooltip> 38 + </v-tooltip> -->
39 </v-toolbar> 39 </v-toolbar>
40 <v-card-text> 40 <v-card-text>
41 - <v-form> 41 + <v-form @submit.prevent="submitForm">
42 <v-text-field 42 <v-text-field
43 - label="Login" 43 + label="ID"
44 - name="login" 44 + name="ID"
45 type="text" 45 type="text"
46 + v-model="id"
46 ></v-text-field> 47 ></v-text-field>
47 48
48 <v-text-field 49 <v-text-field
...@@ -50,13 +51,14 @@ ...@@ -50,13 +51,14 @@
50 label="Password" 51 label="Password"
51 name="password" 52 name="password"
52 type="password" 53 type="password"
54 + v-model="password"
53 ></v-text-field> 55 ></v-text-field>
54 </v-form> 56 </v-form>
55 </v-card-text> 57 </v-card-text>
56 <v-card-actions> 58 <v-card-actions>
57 <v-spacer></v-spacer> 59 <v-spacer></v-spacer>
58 - <v-btn color="primary" @click = "$router.push({name: 'RegistUser'})">Regist</v-btn> 60 + <!-- <v-btn color="primary" @click = "$router.push({name: 'RegistUser'})">Regist</v-btn> -->
59 - <v-btn color="primary" router :to="{name: 'Main'}" exact>Login</v-btn> 61 + <v-btn color="primary" :disabled="!id || !password" router :to="{name: 'Main'}" exact>Login</v-btn>
60 </v-card-actions> 62 </v-card-actions>
61 </v-card> 63 </v-card>
62 </v-col> 64 </v-col>
...@@ -67,9 +69,36 @@ ...@@ -67,9 +69,36 @@
67 </template> 69 </template>
68 70
69 <script> 71 <script>
72 +
73 +
70 export default { 74 export default {
71 - props: { 75 + data() {
72 - source: String, 76 + return {
77 + id: '',
78 + password: ''
79 + }
80 + },
81 + methods: {
82 + async submitForm(){
83 + try {
84 + const usderData = {
85 + id: this.id,
86 + password: this.password
87 + };
88 + const { data } = await loginUser(userData);
89 + this.$store.commit('setid', data.user.userid);
90 + this.$router.push('/main');
91 +
92 + } catch (error) {
93 + console.log(error.response.data);
94 + } finally {
95 + this.initForm();
96 + }
97 + }
73 }, 98 },
99 + initForm(){
100 + this.id ='';
101 + this.password='';
102 + }
74 } 103 }
75 </script> 104 </script>
......
...@@ -22,32 +22,18 @@ ...@@ -22,32 +22,18 @@
22 > 22 >
23 <v-toolbar-title>KhuLoud</v-toolbar-title> 23 <v-toolbar-title>KhuLoud</v-toolbar-title>
24 <v-spacer></v-spacer> 24 <v-spacer></v-spacer>
25 - <v-tooltip bottom>
26 - <template v-slot:activator="{ on }">
27 - <v-btn
28 - :href="source"
29 - icon
30 - large
31 - target="_blank"
32 - v-on="on"
33 - >
34 - <v-icon>mdi-code-tags</v-icon>
35 - </v-btn>
36 - </template>
37 - <span>Source</span>
38 - </v-tooltip>
39 </v-toolbar> 25 </v-toolbar>
40 <v-card-text> 26 <v-card-text>
41 - <v-form> 27 + <v-form @submit.prevent="submitForm">
42 <v-text-field 28 <v-text-field
43 label="ID" 29 label="ID"
44 - v-model="Id" 30 + v-model="id"
45 name="ID" 31 name="ID"
46 type="text" 32 type="text"
47 ></v-text-field> 33 ></v-text-field>
48 34
49 <v-text-field 35 <v-text-field
50 - v-model="Password" 36 + v-model="password"
51 label="Password" 37 label="Password"
52 name="password" 38 name="password"
53 type="password" 39 type="password"
...@@ -55,7 +41,7 @@ ...@@ -55,7 +41,7 @@
55 41
56 <v-text-field 42 <v-text-field
57 label="Name" 43 label="Name"
58 - v-model="Name" 44 + v-model="name"
59 name="name" 45 name="name"
60 type="name" 46 type="name"
61 ></v-text-field> 47 ></v-text-field>
...@@ -66,11 +52,17 @@ ...@@ -66,11 +52,17 @@
66 :rules="emailRules" 52 :rules="emailRules"
67 name="Email" 53 name="Email"
68 ></v-text-field> 54 ></v-text-field>
55 +
56 + <v-text-field
57 + label="Contact"
58 + v-model="contact"
59 + name="Contact">
60 + </v-text-field>
69 </v-form> 61 </v-form>
70 </v-card-text> 62 </v-card-text>
71 <v-card-actions> 63 <v-card-actions>
72 <v-spacer></v-spacer> 64 <v-spacer></v-spacer>
73 - <v-btn color="primary" @click = "$router.push({name: 'Login'})">Regist</v-btn> 65 + <v-btn color="primary" :disabled="!id || !password || !name || !email || !contact" @click = "$router.push({name: 'Login'})">Regist</v-btn>
74 </v-card-actions> 66 </v-card-actions>
75 </v-card> 67 </v-card>
76 </v-col> 68 </v-col>
...@@ -82,8 +74,41 @@ ...@@ -82,8 +74,41 @@
82 74
83 <script> 75 <script>
84 export default { 76 export default {
85 - props: { 77 + data() {
86 - source: String, 78 + return {
79 + id: '',
80 + password: '',
81 + name: '',
82 + email: '',
83 + contact: '',
84 + }
87 }, 85 },
86 + methods: {
87 + async submitForm() {
88 + try {
89 + const usderData = {
90 + id: this.id,
91 + password: this.password,
92 + name: this.name,
93 + email: this.email,
94 + contact: this.contact
95 + };
96 + const { data } = await registerUser(userData);
97 + console.log("회원가입 완료");
98 + this.$router.push('/');
99 + } catch (error) {
100 + console.log(error.response.data);
101 + } finally{
102 + this.initForm();
103 + }
104 + },
105 + initForm(){
106 + this.id = '';
107 + this.password ='';
108 + this.name = '';
109 + this.email = '';
110 + this.contact = '';
111 + }
112 + }
88 } 113 }
89 </script> 114 </script>
......
...@@ -81,12 +81,16 @@ ...@@ -81,12 +81,16 @@
81 </v-list> 81 </v-list>
82 </v-navigation-drawer> 82 </v-navigation-drawer>
83 83
84 +
84 <v-app-bar 85 <v-app-bar
85 :clipped-left="$vuetify.breakpoint.lgAndUp" 86 :clipped-left="$vuetify.breakpoint.lgAndUp"
86 app 87 app
87 color="blue darken-3" 88 color="blue darken-3"
88 dark 89 dark
89 > 90 >
91 + <!-- <template v-if="isUserLogin">
92 + <v-app-bar-nav-icon @click.stop="drawer = !drawer"></v-app-bar-nav-icon>
93 + </template> -->
90 <v-app-bar-nav-icon @click.stop="drawer = !drawer"></v-app-bar-nav-icon> 94 <v-app-bar-nav-icon @click.stop="drawer = !drawer"></v-app-bar-nav-icon>
91 <v-toolbar-title 95 <v-toolbar-title
92 style="width: 300px" 96 style="width: 300px"
...@@ -94,6 +98,7 @@ ...@@ -94,6 +98,7 @@
94 > 98 >
95 <span class="hidden-sm-and-down">KhuLoud</span> 99 <span class="hidden-sm-and-down">KhuLoud</span>
96 </v-toolbar-title> 100 </v-toolbar-title>
101 + <template v-if="isUserLogin">
97 <v-text-field 102 <v-text-field
98 flat 103 flat
99 solo-inverted 104 solo-inverted
...@@ -102,13 +107,36 @@ ...@@ -102,13 +107,36 @@
102 label="전체 검색" 107 label="전체 검색"
103 class="hidden-sm-and-down" 108 class="hidden-sm-and-down"
104 ></v-text-field> 109 ></v-text-field>
110 + </template>
111 + <template v-else>
112 + <div></div>
113 + </template>
114 + <!-- <v-text-field
115 + v-if="isUserLogin"
116 + flat
117 + solo-inverted
118 + hide-details
119 + prepend-inner-icon="mdi-magnify"
120 + label="전체 검색"
121 + class="hidden-sm-and-down"
122 + ></v-text-field> -->
105 <v-spacer></v-spacer> 123 <v-spacer></v-spacer>
124 + <template v-if="isUserLogin">
125 + <v-btn icon @click = "logoutUser">
126 + <v-icon>mid-login</v-icon>
127 + </v-btn>
128 + </template>
129 + <template v-else>
106 <v-btn icon @click = "$router.push({name: 'Login'})"> 130 <v-btn icon @click = "$router.push({name: 'Login'})">
107 <v-icon>mdi-login</v-icon> 131 <v-icon>mdi-login</v-icon>
108 </v-btn> 132 </v-btn>
109 - <v-btn icon> 133 + <v-btn icon @click="$router.push({name: 'RegistUser'})">
110 - <v-icon>mdi-bell</v-icon> 134 + <v-icon>mdi-account</v-icon>
111 </v-btn> 135 </v-btn>
136 + </template>
137 + <!-- <v-btn icon @click = "$router.push({name: 'Login'})">
138 + <v-icon>mdi-login</v-icon>
139 + </v-btn> -->
112 </v-app-bar> 140 </v-app-bar>
113 <v-content> 141 <v-content>
114 <v-container 142 <v-container
...@@ -117,6 +145,7 @@ ...@@ -117,6 +145,7 @@
117 <router-view></router-view> 145 <router-view></router-view>
118 </v-container> 146 </v-container>
119 </v-content> 147 </v-content>
148 + <template v-if="isUserLogin">
120 <v-btn 149 <v-btn
121 bottom 150 bottom
122 color="pink" 151 color="pink"
...@@ -128,6 +157,18 @@ ...@@ -128,6 +157,18 @@
128 > 157 >
129 <v-icon>mdi-plus</v-icon> 158 <v-icon>mdi-plus</v-icon>
130 </v-btn> 159 </v-btn>
160 + </template>
161 + <!-- <v-btn
162 + bottom
163 + color="pink"
164 + dark
165 + fab
166 + fixed
167 + right
168 + @click="dialog = !dialog"
169 + >
170 + <v-icon>mdi-plus</v-icon>
171 + </v-btn> -->
131 <v-dialog 172 <v-dialog
132 v-model="dialog" 173 v-model="dialog"
133 width="800px" 174 width="800px"
...@@ -215,9 +256,6 @@ ...@@ -215,9 +256,6 @@
215 256
216 <script> 257 <script>
217 export default { 258 export default {
218 - props: {
219 - source: String,
220 - },
221 data: () => ({ 259 data: () => ({
222 dialog: false, 260 dialog: false,
223 drawer: null, 261 drawer: null,
...@@ -230,9 +268,19 @@ export default { ...@@ -230,9 +268,19 @@ export default {
230 { icon: 'mdi-settings', text: '설정' }, 268 { icon: 'mdi-settings', text: '설정' },
231 { icon: 'mdi-message', text: '피드백' }, 269 { icon: 'mdi-message', text: '피드백' },
232 { icon: 'mdi-help-circle', text: '도움말' }, 270 { icon: 'mdi-help-circle', text: '도움말' },
233 -
234 ], 271 ],
235 }), 272 }),
273 + computed: {
274 + isUserLogin(){
275 + return this.$store.getters.isUserLogin;
276 + },
277 + },
278 + methods: {
279 + logoutUser(){
280 + this.$store.commit('clearid');
281 + this.$router.push('/');
282 + }
283 + }
236 } 284 }
237 </script> 285 </script>
238 286
......
1 import Vue from 'vue' 1 import Vue from 'vue'
2 import App from './App.vue' 2 import App from './App.vue'
3 -import router from './router/index' 3 +import router from './routes/index'
4 -import store from './store' 4 +import store from './store/index'
5 import vuetify from './plugins/vuetify'; 5 import vuetify from './plugins/vuetify';
6 6
7 Vue.config.productionTip = false 7 Vue.config.productionTip = false
......
...@@ -40,12 +40,12 @@ export default new VueRouter ({ ...@@ -40,12 +40,12 @@ export default new VueRouter ({
40 { 40 {
41 path: '/registuser', 41 path: '/registuser',
42 name: 'RegistUser', 42 name: 'RegistUser',
43 - component: () => import('../views/RegistUser.vue') 43 + component: () => import('../views/SignupPage.vue')
44 }, 44 },
45 { 45 {
46 path: '/login', 46 path: '/login',
47 name: 'Login', 47 name: 'Login',
48 - component: () => import('../views/Login.vue') 48 + component: () => import('../views/LoginPage.vue')
49 }, 49 },
50 { 50 {
51 path:'/file', 51 path:'/file',
......
...@@ -5,11 +5,19 @@ Vue.use(Vuex) ...@@ -5,11 +5,19 @@ Vue.use(Vuex)
5 5
6 export default new Vuex.Store({ 6 export default new Vuex.Store({
7 state: { 7 state: {
8 + id: '',
8 }, 9 },
9 mutations: { 10 mutations: {
11 + setId(state, userid){
12 + state.id = id;
10 }, 13 },
11 - actions: { 14 + clearid(state){
15 + state.id= '';
16 + }
12 }, 17 },
13 - modules: { 18 + getters: {
19 + isLogin(state){
20 + return state.id !== '';
21 + }
14 } 22 }
15 }) 23 })
......
1 +function validateEmail(email) {
2 + var re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
3 + return re.test(String(email).toLowerCase());
4 + }
5 +
6 + export { validateEmail };
7 +
...\ No newline at end of file ...\ No newline at end of file
1 +<template>
2 + <div>
3 + <LoginForm></LoginForm>
4 + </div>
5 +</template>
6 +
7 +<script>
8 +import LoginForm from '../components/LoginForm'
9 +
10 +export default {
11 + components: {
12 + LoginForm,
13 + }
14 +}
15 +</script>
16 +
17 +<style>
18 +
19 +</style>
...\ No newline at end of file ...\ No newline at end of file
1 +<template>
2 + <div>
3 + <SignupForm></SignupForm>
4 + </div>
5 +</template>
6 +
7 +<script>
8 +import SignupForm from '../components/SignupForm'
9 +export default {
10 + components: {
11 + SignupForm,
12 + }
13 +}
14 +</script>
15 +
16 +<style>
17 +
18 +</style>
...\ No newline at end of file ...\ No newline at end of file
1 +{
2 + "requires": true,
3 + "lockfileVersion": 1,
4 + "dependencies": {
5 + "axios": {
6 + "version": "0.19.2",
7 + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz",
8 + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==",
9 + "requires": {
10 + "follow-redirects": "1.5.10"
11 + }
12 + },
13 + "debug": {
14 + "version": "3.1.0",
15 + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
16 + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
17 + "requires": {
18 + "ms": "2.0.0"
19 + }
20 + },
21 + "follow-redirects": {
22 + "version": "1.5.10",
23 + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
24 + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
25 + "requires": {
26 + "debug": "=3.1.0"
27 + }
28 + },
29 + "ms": {
30 + "version": "2.0.0",
31 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
32 + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
33 + }
34 + }
35 +}