From b7b49a77cc8ff32edfd30758d4ac291eef4a12dc Mon Sep 17 00:00:00 2001 From: Brian Holt Date: Wed, 8 Aug 2018 22:00:00 -0700 Subject: [PATCH] 2 - part one --- .editorconfig | 10 + .eslintrc.json | 15 + .gitignore | 7 + .prettierrc | 1 + README.md | 14 + package-lock.json | 1217 +++++++++++++++++++++++++++++++++++++++++++++ package.json | 26 + src/App.js | 38 +- src/adopt-me.png | Bin 0 -> 12790 bytes src/style.css | 190 +++++++ 10 files changed, 1504 insertions(+), 14 deletions(-) create mode 100644 .editorconfig create mode 100644 .eslintrc.json create mode 100644 .gitignore create mode 100644 .prettierrc create mode 100644 README.md create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/adopt-me.png create mode 100644 src/style.css diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..fe26763c --- /dev/null +++ b/.editorconfig @@ -0,0 +1,10 @@ +# editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +insert_final_newline = true +trim_trailing_whitespace = true \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 00000000..16e3dfa4 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,15 @@ +{ + "extends": ["eslint:recommended", "prettier", "prettier/react"], + "parserOptions": { + "ecmaVersion": 2016, + "sourceType": "module", + "ecmaFeatures": { + "jsx": true + } + }, + "env": { + "es6": true, + "browser": true, + "node": true + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..8f66a17f --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +node_modules +.cache/ +dist/ +.env +.DS_Store +coverage/ +.vscode/ diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/.prettierrc @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 00000000..09135c79 --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +# Welcome to the Complete Intro to React v4 and Intermediate React v1! + +[See the course website here][v4]. + +This course was written for and recorded by [Frontend Masters][fem]. The code here is licensed under the Apache 2.0 license and the [course notes][v4] are licensed under the Creative Commons Attribution-NonCommercial 4.0 International license. + +## Debugging + +Parcel is an ever evolving project that's just getting better. If you run into problems with it not respecting changes (particularly to your `.babelrc` or `.env` files) then delete the `dist/` and the `.cache/` directories. You can do this in bash by running from the root directoy of your project `rm -rf dist/ .cache/` or just by deleting those directories in your editor. This will force Parcel to start over and not cache anything. + +If you run into anything else, open an issue and we'll try to clarify or help. + +[v4]: https://bit.ly/react-v4 +[fem]: https://frontendmasters.com/courses/react/ diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..0bf059bd --- /dev/null +++ b/package-lock.json @@ -0,0 +1,1217 @@ +{ + "name": "adopt-me", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "acorn": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", + "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==", + "dev": true + }, + "acorn-jsx": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-4.1.1.tgz", + "integrity": "sha512-JY+iV6r+cO21KtntVvFkD+iqjtdpRUpGqKWgfkCdZq1R+kbreEl8EcdcJR4SmiIgsIQT33s6QzheQ9a275Q8xw==", + "dev": true, + "requires": { + "acorn": "^5.0.3" + } + }, + "ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" + } + }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true + }, + "ansi-escapes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "requires": { + "callsites": "^0.2.0" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true + }, + "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=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "color-convert": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz", + "integrity": "sha512-3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==", + "dev": true, + "requires": { + "color-name": "1.1.1" + } + }, + "color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha1-SxQVMEz1ACjqgWQ2Q72C6gWANok=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "define-properties": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", + "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "dev": true, + "requires": { + "foreach": "^2.0.5", + "object-keys": "^1.0.8" + } + }, + "del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "dev": true, + "requires": { + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "es-abstract": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", + "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", + "dev": true, + "requires": { + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" + } + }, + "es-to-primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", + "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "dev": true, + "requires": { + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.3.0.tgz", + "integrity": "sha512-N/tCqlMKkyNvAvLu+zI9AqDasnSLt00K+Hu8kdsERliC9jYEc8ck12XtjvOXrBKu8fK6RrBcN9bat6Xk++9jAg==", + "dev": true, + "requires": { + "ajv": "^6.5.0", + "babel-code-frame": "^6.26.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^4.0.0", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^4.0.0", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.2", + "imurmurhash": "^0.1.4", + "inquirer": "^5.2.0", + "is-resolvable": "^1.1.0", + "js-yaml": "^3.11.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.5", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^2.0.0", + "require-uncached": "^1.0.3", + "semver": "^5.5.0", + "string.prototype.matchall": "^2.0.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^4.0.3", + "text-table": "^0.2.0" + } + }, + "eslint-config-prettier": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-2.9.0.tgz", + "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", + "dev": true, + "requires": { + "get-stdin": "^5.0.1" + } + }, + "eslint-scope": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz", + "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", + "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", + "dev": true + }, + "eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", + "dev": true + }, + "espree": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-4.0.0.tgz", + "integrity": "sha512-kapdTCt1bjmspxStVKX6huolXVV5ZfyZguY1lcfhVVZstce3bqxH9mcLzNn3/mlgW6wQ732+0fuG9v7h0ZQoKg==", + "dev": true, + "requires": { + "acorn": "^5.6.0", + "acorn-jsx": "^4.1.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "requires": { + "estraverse": "^4.0.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, + "requires": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "requires": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + } + }, + "flat-cache": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", + "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", + "dev": true, + "requires": { + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" + } + }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "get-stdin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", + "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=", + "dev": true + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globals": { + "version": "11.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", + "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==", + "dev": true + }, + "globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.3.tgz", + "integrity": "sha512-Z/vAH2GGIEATQnBVXMclE2IGV6i0GyVngKThcGZ5kHgHMxLo9Ow2+XHRq1aEKEej5vOF1TPJNbvX6J/anT0M7A==", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "inquirer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", + "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.1.0", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^5.5.2", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + } + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "dev": true, + "requires": { + "is-path-inside": "^1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "^1.0.1" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "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", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", + "dev": true + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "nice-try": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz", + "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-keys": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prettier": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.14.2.tgz", + "integrity": "sha512-McHPg0n1pIke+A/4VcaS2en+pTNjy4xF+Uuq86u/5dyDO59/TtFZtQ708QIRkEZ3qwKz3GVkVa6mpxK/CpB8Rg==", + "dev": true + }, + "progress": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", + "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "regexp.prototype.flags": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz", + "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2" + } + }, + "regexpp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.0.tgz", + "integrity": "sha512-g2FAVtR8Uh8GO1Nv5wpxW7VFVwHcCEr4wyA8/MHiRkO8uHoR5ntAA8Uq3P1vvMTX/BeQiRVSpDGLd+Wn5HNOTA==", + "dev": true + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "requires": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + } + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "^7.0.5" + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "^2.1.0" + } + }, + "rxjs": { + "version": "5.5.11", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.11.tgz", + "integrity": "sha512-3bjO7UwWfA2CV7lmwYMBzj4fQ6Cq+ftHc2MvUe+WMS7wcdJ1LosDWmdjPQanYp2dBRj572p7PeU81JUxHKOcBA==", + "dev": true, + "requires": { + "symbol-observable": "1.0.1" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "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=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "string.prototype.matchall": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-2.0.0.tgz", + "integrity": "sha512-WoZ+B2ypng1dp4iFLF2kmZlwwlE19gmjgKuhL1FJfDgCREWb3ye3SDVHSzLH6bxfnvYmkCxbzkmWcQZHA4P//Q==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.10.0", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "regexp.prototype.flags": "^1.2.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + } + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", + "dev": true + }, + "table": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz", + "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", + "dev": true, + "requires": { + "ajv": "^6.0.1", + "ajv-keywords": "^3.0.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", + "slice-ansi": "1.0.0", + "string-width": "^2.1.1" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..5ee2fee3 --- /dev/null +++ b/package.json @@ -0,0 +1,26 @@ +{ + "name": "adopt-me", + "version": "1.0.0", + "description": "An app to teach you to write React", + "main": "src/App.js", + "scripts": { + "test": "", + "format": "prettier --write \"src/**/*.{js,jsx}\"", + "lint": "eslint \"**/*.{js,jsx}\" --quiet" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/btholt/complete-intro-to-react-v4.git" + }, + "author": "Brian Holt ", + "license": "Apache-2.0", + "bugs": { + "url": "https://github.com/btholt/complete-intro-to-react-v4/issues" + }, + "homepage": "https://github.com/btholt/complete-intro-to-react-v4#readme", + "devDependencies": { + "eslint": "^5.3.0", + "eslint-config-prettier": "^2.9.0", + "prettier": "^1.14.2" + } +} diff --git a/src/App.js b/src/App.js index 32b529b6..fa17aad8 100644 --- a/src/App.js +++ b/src/App.js @@ -1,18 +1,28 @@ -const Pet = (props) => { - return React.createElement('div', {}, [ - React.createElement('h1', {}, props.name), - React.createElement('h2', {}, props.animal), - React.createElement('h2', {}, props.breed) +const Pet = props => { + return React.createElement("div", {}, [ + React.createElement("h1", {}, props.name), + React.createElement("h2", {}, props.animal), + React.createElement("h2", {}, props.breed) ]); }; -const App = () => { - return React.createElement('div', {}, [ - React.createElement('h1', {}, 'Adopt Me!'), - React.createElement(Pet, { name: "Luna", animal: "Dog", breed: "Havanese" }), - React.createElement(Pet, { name: "Pepper", animal: "Bird", breed: "Cockatiel" }), - React.createElement(Pet, { name: "Doink", animal: "Cat", breed: "Mix" }) - ]); -}; +class App extends React.Component { + render() { + return React.createElement("div", {}, [ + React.createElement("h1", {}, "Adopt Me!"), + React.createElement(Pet, { + name: "Luna", + animal: "Dog", + breed: "Havanese" + }), + React.createElement(Pet, { + name: "Pepper", + animal: "Bird", + breed: "Cockatiel" + }), + React.createElement(Pet, { name: "Doink", animal: "Cat", breed: "Mix" }) + ]); + } +} -ReactDOM.render(React.createElement(App), document.getElementById('root')); \ No newline at end of file +ReactDOM.render(React.createElement(App), document.getElementById("root")); diff --git a/src/adopt-me.png b/src/adopt-me.png new file mode 100644 index 0000000000000000000000000000000000000000..1fdfecc2d91449cac5f026224268aa2807b11c03 GIT binary patch literal 12790 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 literal 0 HcmV?d00001 diff --git a/src/style.css b/src/style.css new file mode 100644 index 00000000..3b24d266 --- /dev/null +++ b/src/style.css @@ -0,0 +1,190 @@ +* { + box-sizing: border-box; + color: #333; +} + +body { + background-color: #ad343e; + margin: 0; + font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; +} + +.search, +.details, +.search-params { + background-color: #c4b2bc; + width: 95%; + margin: 0 auto; + padding: 15px; + border-radius: 5px; +} + +.pet { + width: 100%; + height: 100px; + display: block; + overflow: hidden; + margin: 15px 0; +} + +.pet img { + width: 100px; + min-height: 100px; +} + +.info { + float: left; + height: 100px; + display: flex; + flex-direction: column; + justify-content: space-around; +} + +.image-container { + clip-path: circle(50% at 50% 50%); + width: 100px; + height: 100px; + float: left; + margin-right: 20px; +} + +.pet h1 { + white-space: nowrap; + font-weight: normal; + font-size: 30px; + width: 100%; + overflow: hidden; + margin: 0; +} + +.pet h2 { + white-space: nowrap; + font-weight: normal; + font-size: 20px; + margin: 0; +} + +header a { + color: #f2af29; + font-size: 50px; + text-decoration: none; + font-weight: bold; + display: block; +} + +header { + display: flex; + align-content: center; + justify-content: space-between; + margin-bottom: 20px; + padding: 20px; +} + +.details p { + line-height: 2; +} + +.details h1, +.details h2 { + text-align: center; +} + +.carousel { + display: flex; + justify-content: space-around; + align-items: center; + height: 400px; +} + +.carousel > img { + max-width: 45%; + max-height: 400px; +} + +.carousel-smaller { + width: 50%; +} + +.carousel-smaller > img { + width: 100px; + height: 100px; + border-radius: 50%; + display: inline-block; + margin: 15px; + cursor: pointer; + border: 2px solid #333; +} + +.carousel-smaller > img.active { + border-color: #ad343e; + opacity: 0.6; +} + +.search-params label { + display: block; + width: 60px; +} + +.search-params input, +.search-params select { + margin-bottom: 30px; + font-size: 18px; + height: 30px; + width: 325px; +} + +.search-params button, +#modal button, +.details button { + background-color: #ad343e; + padding: 5px 25px; + color: white; + font-size: 18px; + border: #333 1px solid; + border-radius: 5px; + display: block; + margin: 0 auto; + cursor: pointer; +} + +.search-params button:hover { + background-color: #c36b72; +} + +.search-params button:active { + background-color: #5f1d22; +} + +.search-params button:focus { + border: 1px solid cornflowerblue; +} + +#modal { + background-color: rgba(0, 0, 0, 0.9); + position: fixed; + left: 0; + right: 0; + bottom: 0; + top: 0; + z-index: 10; + display: flex; + justify-content: center; + align-items: center; +} + +#modal:empty { + display: none; +} + +#modal > div { + background-color: white; + max-width: 500px; + padding: 15px; + border-radius: 5px; + text-align: center; +} + +#modal .buttons button { + display: inline-block; + margin-right: 15px; +}