From 092060d61f776bea84a3499139e3f8f87fc4b765 Mon Sep 17 00:00:00 2001 From: Shu Uesugi Date: Sat, 9 Nov 2019 21:41:35 -0800 Subject: [PATCH 01/11] Add config --- .babelrc | 4 + .eslintignore | 1 + .eslintrc | 38 + .nvmrc | 1 + .prettierrc | 4 + README.md | 0 next-env.d.ts | 2 + next.config.js | 13 + package.json | 33 +- src/pages/{index.js => index.tsx} | 0 tsconfig.json | 30 + yarn.lock | 1086 ++++++++++++++++++++++++++++- 12 files changed, 1184 insertions(+), 28 deletions(-) create mode 100644 .babelrc create mode 100644 .eslintignore create mode 100644 .eslintrc create mode 100644 .nvmrc create mode 100644 .prettierrc create mode 100644 README.md create mode 100644 next-env.d.ts create mode 100644 next.config.js rename src/pages/{index.js => index.tsx} (100%) create mode 100644 tsconfig.json diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..887a4db --- /dev/null +++ b/.babelrc @@ -0,0 +1,4 @@ +{ + "presets": ["next/babel"], + "plugins": ["emotion"] +} diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..c585e19 --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +out \ No newline at end of file diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..1ee10ed --- /dev/null +++ b/.eslintrc @@ -0,0 +1,38 @@ +{ + "parser": "@typescript-eslint/parser", + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/eslint-recommended", + "plugin:@typescript-eslint/recommended", + "plugin:@typescript-eslint/recommended-requiring-type-checking", + "prettier", + "prettier/@typescript-eslint", + "plugin:prettier/recommended" + ], + "parserOptions": { + "project": "./tsconfig.json" + }, + "plugins": ["@typescript-eslint", "react", "react-hooks"], + "rules": { + "@typescript-eslint/explicit-function-return-type": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-use-before-define": "off", + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/no-empty-interface": "off", + "@typescript-eslint/ban-ts-ignore": "off", + "jsx-a11y/anchor-has-content": "off", + "jsx-a11y/anchor-is-valid": "off", + "jsx-a11y/accessible-emoji": "off", + "jsx-a11y/iframe-has-title": "off", + "react-hooks/rules-of-hooks": "error", + "react-hooks/exhaustive-deps": "warn" + }, + "overrides": [ + { + "files": ["*.js", "*.jsx"], + "rules": { + "@typescript-eslint/no-var-requires": "off" + } + } + ] +} diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..94231de --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +v13.0.1 \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..b2095be --- /dev/null +++ b/.prettierrc @@ -0,0 +1,4 @@ +{ + "semi": false, + "singleQuote": true +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/next-env.d.ts b/next-env.d.ts new file mode 100644 index 0000000..7b7aa2c --- /dev/null +++ b/next-env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/next.config.js b/next.config.js new file mode 100644 index 0000000..0a75333 --- /dev/null +++ b/next.config.js @@ -0,0 +1,13 @@ +const path = require('path') + +const config = { + webpack(config) { + config.resolve.alias = Object.assign({}, config.resolve.alias, { + src: path.resolve(__dirname, 'src') + }) + + return config + } +} + +module.exports = config diff --git a/package.json b/package.json index ccf8fe6..39911de 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,44 @@ { "private": true, + "engines": { + "node": "13.x" + }, "dependencies": { + "@emotion/core": "^10.0.22", + "@emotion/styled": "^10.0.23", + "color": "^3.1.2", + "luxon": "^1.21.1", "next": "^9.1.3", + "prism-react-renderer": "^1.0.2", "react": "^16.11.0", "react-dom": "^16.11.0" }, "scripts": { "dev": "next", "build": "next build && next export", - "start": "next start" + "start": "next start", + "tsc": "tsc", + "eslint": "eslint --ext .js,.ts,.tsx .", + "eslint:fix": "eslint --ext .js,.ts,.tsx --fix ." + }, + "devDependencies": { + "@types/color": "^3.0.0", + "@types/luxon": "^1.15.2", + "@types/node": "^12.12.7", + "@types/prettier": "^1.18.3", + "@types/react": "^16.9.5", + "@types/react-dom": "^16.9.4", + "@typescript-eslint/eslint-plugin": "^2.6.1", + "@typescript-eslint/parser": "^2.6.1", + "babel-eslint": "^10.0.3", + "babel-plugin-emotion": "^10.0.23", + "eslint": "^6.5.1", + "eslint-config-prettier": "^6.4.0", + "eslint-plugin-import": "^2.18.2", + "eslint-plugin-prettier": "^3.1.1", + "eslint-plugin-react": "^7.16.0", + "eslint-plugin-react-hooks": "2.2.0", + "prettier": "^1.19.1", + "typescript": "^3.7.2" } } diff --git a/src/pages/index.js b/src/pages/index.tsx similarity index 100% rename from src/pages/index.js rename to src/pages/index.tsx diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..66d716b --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,30 @@ +{ + "compilerOptions": { + "incremental": true, + "target": "esnext", + "module": "esnext", + "resolveJsonModule": true, + "jsx": "preserve", + "allowJs": true, + "moduleResolution": "node", + "esModuleInterop": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "strict": true, + "removeComments": false, + "preserveConstEnums": true, + "sourceMap": true, + "skipLibCheck": true, + "baseUrl": ".", + "lib": ["dom", "esnext"], + "paths": { + "src/*": ["src/*"], + "*": ["node_modules/*", "src/types/*"] + }, + "forceConsistentCasingInFileNames": true, + "isolatedModules": true, + "noEmit": true + }, + "include": ["./src"], + "exclude": ["node_modules"] +} diff --git a/yarn.lock b/yarn.lock index 710ac0c..606dc88 100644 --- a/yarn.lock +++ b/yarn.lock @@ -271,7 +271,7 @@ esutils "^2.0.2" js-tokens "^4.0.0" -"@babel/parser@^7.6.4", "@babel/parser@^7.7.0", "@babel/parser@^7.7.2": +"@babel/parser@^7.0.0", "@babel/parser@^7.6.4", "@babel/parser@^7.7.0", "@babel/parser@^7.7.2": version "7.7.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.7.3.tgz#5fad457c2529de476a248f75b0f090b3060af043" integrity sha512-bqv+iCo9i+uLVbI0ILzKkvMorqxouI+GbV13ivcARXn9NNEabi2IEz912IgNpT/60BNXac5dgcfjb94NjsF33A== @@ -777,6 +777,13 @@ dependencies: regenerator-runtime "^0.13.2" +"@babel/runtime@^7.4.2", "@babel/runtime@^7.5.5": + version "7.7.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.7.2.tgz#111a78002a5c25fc8e3361bedc9529c696b85a6a" + integrity sha512-JONRbXbTXc9WQE2mAZd1p0Z3DZ/6vaQIkgYMSTP3KjRCyd7rCZCcfhCyX+YjwcKxcZ82UrxbRD358bpExNgrjw== + dependencies: + regenerator-runtime "^0.13.2" + "@babel/template@^7.6.0", "@babel/template@^7.7.0": version "7.7.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.7.0.tgz#4fadc1b8e734d97f56de39c77de76f2562e597d0" @@ -786,7 +793,7 @@ "@babel/parser" "^7.7.0" "@babel/types" "^7.7.0" -"@babel/traverse@^7.6.3", "@babel/traverse@^7.7.0": +"@babel/traverse@^7.0.0", "@babel/traverse@^7.6.3", "@babel/traverse@^7.7.0": version "7.7.2" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.7.2.tgz#ef0a65e07a2f3c550967366b3d9b62a2dcbeae09" integrity sha512-TM01cXib2+rgIZrGJOLaHV/iZUAxf4A0dt5auY6KNZ+cm6aschuJGqKJM3ROTt3raPUdIDk9siAufIFEleRwtw== @@ -801,7 +808,7 @@ globals "^11.1.0" lodash "^4.17.13" -"@babel/types@^7.6.3", "@babel/types@^7.7.0", "@babel/types@^7.7.2": +"@babel/types@^7.0.0", "@babel/types@^7.6.3", "@babel/types@^7.7.0", "@babel/types@^7.7.2": version "7.7.2" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.7.2.tgz#550b82e5571dcd174af576e23f0adba7ffc683f7" integrity sha512-YTf6PXoh3+eZgRCBzzP25Bugd2ngmpQVrk7kXX0i5N9BO7TFBtIgZYs7WtxtOGs8e6A4ZI7ECkbBCEHeXocvOA== @@ -815,6 +822,214 @@ resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== +"@emotion/cache@^10.0.17": + version "10.0.19" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.19.tgz#d258d94d9c707dcadaf1558def968b86bb87ad71" + integrity sha512-BoiLlk4vEsGBg2dAqGSJu0vJl/PgVtCYLBFJaEO8RmQzPugXewQCXZJNXTDFaRlfCs0W+quesayav4fvaif5WQ== + dependencies: + "@emotion/sheet" "0.9.3" + "@emotion/stylis" "0.8.4" + "@emotion/utils" "0.11.2" + "@emotion/weak-memoize" "0.2.4" + +"@emotion/core@^10.0.22": + version "10.0.22" + resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.0.22.tgz#2ac7bcf9b99a1979ab5b0a876fbf37ab0688b177" + integrity sha512-7eoP6KQVUyOjAkE6y4fdlxbZRA4ILs7dqkkm6oZUJmihtHv0UBq98VgPirq9T8F9K2gKu0J/au/TpKryKMinaA== + dependencies: + "@babel/runtime" "^7.5.5" + "@emotion/cache" "^10.0.17" + "@emotion/css" "^10.0.22" + "@emotion/serialize" "^0.11.12" + "@emotion/sheet" "0.9.3" + "@emotion/utils" "0.11.2" + +"@emotion/css@^10.0.22": + version "10.0.22" + resolved "https://registry.yarnpkg.com/@emotion/css/-/css-10.0.22.tgz#37b1abb6826759fe8ac0af0ac0034d27de6d1793" + integrity sha512-8phfa5mC/OadBTmGpMpwykIVH0gFCbUoO684LUkyixPq4F1Wwri7fK5Xlm8lURNBrd2TuvTbPUGxFsGxF9UacA== + dependencies: + "@emotion/serialize" "^0.11.12" + "@emotion/utils" "0.11.2" + babel-plugin-emotion "^10.0.22" + +"@emotion/hash@0.7.3": + version "0.7.3" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.3.tgz#a166882c81c0c6040975dd30df24fae8549bd96f" + integrity sha512-14ZVlsB9akwvydAdaEnVnvqu6J2P6ySv39hYyl/aoB6w/V+bXX0tay8cF6paqbgZsN2n5Xh15uF4pE+GvE+itw== + +"@emotion/is-prop-valid@0.8.5": + version "0.8.5" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.5.tgz#2dda0791f0eafa12b7a0a5b39858405cc7bde983" + integrity sha512-6ZODuZSFofbxSbcxwsFz+6ioPjb0ISJRRPLZ+WIbjcU2IMU0Io+RGQjjaTgOvNQl007KICBm7zXQaYQEC1r6Bg== + dependencies: + "@emotion/memoize" "0.7.3" + +"@emotion/memoize@0.7.3": + version "0.7.3" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.3.tgz#5b6b1c11d6a6dddf1f2fc996f74cf3b219644d78" + integrity sha512-2Md9mH6mvo+ygq1trTeVp2uzAKwE2P7In0cRpD/M9Q70aH8L+rxMLbb3JCN2JoSWsV2O+DdFjfbbXoMoLBczow== + +"@emotion/serialize@^0.11.12", "@emotion/serialize@^0.11.14": + version "0.11.14" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.14.tgz#56a6d8d04d837cc5b0126788b2134c51353c6488" + integrity sha512-6hTsySIuQTbDbv00AnUO6O6Xafdwo5GswRlMZ5hHqiFx+4pZ7uGWXUQFW46Kc2taGhP89uXMXn/lWQkdyTosPA== + dependencies: + "@emotion/hash" "0.7.3" + "@emotion/memoize" "0.7.3" + "@emotion/unitless" "0.7.4" + "@emotion/utils" "0.11.2" + csstype "^2.5.7" + +"@emotion/sheet@0.9.3": + version "0.9.3" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-0.9.3.tgz#689f135ecf87d3c650ed0c4f5ddcbe579883564a" + integrity sha512-c3Q6V7Df7jfwSq5AzQWbXHa5soeE4F5cbqi40xn0CzXxWW9/6Mxq48WJEtqfWzbZtW9odZdnRAkwCQwN12ob4A== + +"@emotion/styled-base@^10.0.23": + version "10.0.24" + resolved "https://registry.yarnpkg.com/@emotion/styled-base/-/styled-base-10.0.24.tgz#9497efd8902dfeddee89d24b0eeb26b0665bfe8b" + integrity sha512-AnBImerf0h4dGAJVo0p0VE8KoAns71F28ErGFK474zbNAHX6yqSWQUasb+1jvg/VPwZjCp19+tAr6oOB0pwmLQ== + dependencies: + "@babel/runtime" "^7.5.5" + "@emotion/is-prop-valid" "0.8.5" + "@emotion/serialize" "^0.11.14" + "@emotion/utils" "0.11.2" + +"@emotion/styled@^10.0.23": + version "10.0.23" + resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-10.0.23.tgz#2f8279bd59b99d82deade76d1046249ddfab7c1b" + integrity sha512-gNr04eqBQ2iYUx8wFLZDfm3N8/QUOODu/ReDXa693uyQGy2OqA+IhPJk+kA7id8aOfwAsMuvZ0pJImEXXKtaVQ== + dependencies: + "@emotion/styled-base" "^10.0.23" + babel-plugin-emotion "^10.0.23" + +"@emotion/stylis@0.8.4": + version "0.8.4" + resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.4.tgz#6c51afdf1dd0d73666ba09d2eb6c25c220d6fe4c" + integrity sha512-TLmkCVm8f8gH0oLv+HWKiu7e8xmBIaokhxcEKPh1m8pXiV/akCiq50FvYgOwY42rjejck8nsdQxZlXZ7pmyBUQ== + +"@emotion/unitless@0.7.4": + version "0.7.4" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.4.tgz#a87b4b04e5ae14a88d48ebef15015f6b7d1f5677" + integrity sha512-kBa+cDHOR9jpRJ+kcGMsysrls0leukrm68DmFQoMIWQcXdr2cZvyvypWuGYT7U+9kAExUE7+T7r6G3C3A6L8MQ== + +"@emotion/utils@0.11.2": + version "0.11.2" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.2.tgz#713056bfdffb396b0a14f1c8f18e7b4d0d200183" + integrity sha512-UHX2XklLl3sIaP6oiMmlVzT0J+2ATTVpf0dHQVyPJHTkOITvXfaSqnRk6mdDhV9pR8T/tHc3cex78IKXssmzrA== + +"@emotion/weak-memoize@0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.4.tgz#622a72bebd1e3f48d921563b4b60a762295a81fc" + integrity sha512-6PYY5DVdAY1ifaQW6XYTnOMihmBVT27elqSjEoodchsGjzYlEsTQMcEhSud99kVawatyTZRTiVkJ/c6lwbQ7nA== + +"@types/color-convert@*": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@types/color-convert/-/color-convert-1.9.0.tgz#bfa8203e41e7c65471e9841d7e306a7cd8b5172d" + integrity sha512-OKGEfULrvSL2VRbkl/gnjjgbbF7ycIlpSsX7Nkab4MOWi5XxmgBYvuiQ7lcCFY5cPDz7MUNaKgxte2VRmtr4Fg== + dependencies: + "@types/color-name" "*" + +"@types/color-name@*": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" + integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== + +"@types/color@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/color/-/color-3.0.0.tgz#40f8a6bf2fd86e969876b339a837d8ff1b0a6e30" + integrity sha512-5qqtNia+m2I0/85+pd2YzAXaTyKO8j+svirO5aN+XaQJ5+eZ8nx0jPtEWZLxCi50xwYsX10xUHetFzfb1WEs4Q== + dependencies: + "@types/color-convert" "*" + +"@types/eslint-visitor-keys@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" + integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== + +"@types/json-schema@^7.0.3": + version "7.0.3" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636" + integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A== + +"@types/luxon@^1.15.2": + version "1.15.2" + resolved "https://registry.yarnpkg.com/@types/luxon/-/luxon-1.15.2.tgz#528f11f7d6dc08cec0445d4bea8065a5bb6989b2" + integrity sha512-zHPoyVrLvNaiMRYdhmh88Rn489ZgAgbc6iLxR5Yi0VCNfeNYHcszbhJV2vDHLNrVGy35BPtWBRn4OP2F9BBvFw== + +"@types/node@^12.12.7": + version "12.12.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.7.tgz#01e4ea724d9e3bd50d90c11fd5980ba317d8fa11" + integrity sha512-E6Zn0rffhgd130zbCbAr/JdXfXkoOUFAKNs/rF8qnafSJ8KYaA/j3oz7dcwal+lYjLA7xvdd5J4wdYpCTlP8+w== + +"@types/prettier@^1.18.3": + version "1.18.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.18.3.tgz#64ff53329ce16139f17c3db9d3e0487199972cd8" + integrity sha512-48rnerQdcZ26odp+HOvDGX8IcUkYOCuMc2BodWYTe956MqkHlOGAG4oFQ83cjZ0a4GAgj7mb4GUClxYd2Hlodg== + +"@types/prop-types@*": + version "15.7.3" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" + integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== + +"@types/react-dom@^16.9.4": + version "16.9.4" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.4.tgz#0b58df09a60961dcb77f62d4f1832427513420df" + integrity sha512-fya9xteU/n90tda0s+FtN5Ym4tbgxpq/hb/Af24dvs6uYnYn+fspaxw5USlw0R8apDNwxsqumdRoCoKitckQqw== + dependencies: + "@types/react" "*" + +"@types/react@*", "@types/react@^16.9.5": + version "16.9.11" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.11.tgz#70e0b7ad79058a7842f25ccf2999807076ada120" + integrity sha512-UBT4GZ3PokTXSWmdgC/GeCGEJXE5ofWyibCcecRLUVN2ZBpXQGVgQGtG2foS7CrTKFKlQVVswLvf7Js6XA/CVQ== + dependencies: + "@types/prop-types" "*" + csstype "^2.2.0" + +"@typescript-eslint/eslint-plugin@^2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.6.1.tgz#e34972a24f8aba0861f9ccf7130acd74fd11e079" + integrity sha512-Z0rddsGqioKbvqfohg7BwkFC3PuNLsB+GE9QkFza7tiDzuHoy0y823Y+oGNDzxNZrYyLjqkZtCTl4vCqOmEN4g== + dependencies: + "@typescript-eslint/experimental-utils" "2.6.1" + eslint-utils "^1.4.2" + functional-red-black-tree "^1.0.1" + regexpp "^2.0.1" + tsutils "^3.17.1" + +"@typescript-eslint/experimental-utils@2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.6.1.tgz#eddaca17a399ebf93a8628923233b4f93793acfd" + integrity sha512-EVrrUhl5yBt7fC7c62lWmriq4MIc49zpN3JmrKqfiFXPXCM5ErfEcZYfKOhZXkW6MBjFcJ5kGZqu1b+lyyExUw== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/typescript-estree" "2.6.1" + eslint-scope "^5.0.0" + +"@typescript-eslint/parser@^2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.6.1.tgz#3c00116baa0d696bc334ca18ac5286b34793993c" + integrity sha512-PDPkUkZ4c7yA+FWqigjwf3ngPUgoLaGjMlFh6TRtbjhqxFBnkElDfckSjm98q9cMr4xRzZ15VrS/xKm6QHYf0w== + dependencies: + "@types/eslint-visitor-keys" "^1.0.0" + "@typescript-eslint/experimental-utils" "2.6.1" + "@typescript-eslint/typescript-estree" "2.6.1" + eslint-visitor-keys "^1.1.0" + +"@typescript-eslint/typescript-estree@2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.6.1.tgz#fb363dd4ca23384745c5ea4b7f4c867432b00d31" + integrity sha512-+sTnssW6bcbDZKE8Ce7VV6LdzkQz2Bxk7jzk1J8H1rovoTxnm6iXvYIyncvNsaB/kBCOM63j/LNJfm27bNdUoA== + dependencies: + debug "^4.1.1" + glob "^7.1.4" + is-glob "^4.0.1" + lodash.unescape "4.0.1" + semver "^6.3.0" + tsutils "^3.17.1" + "@webassemblyjs/ast@1.8.5": version "1.8.5" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" @@ -984,11 +1199,21 @@ accepts@~1.3.5: mime-types "~2.1.24" negotiator "0.6.2" +acorn-jsx@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.1.0.tgz#294adb71b57398b0680015f0a38c563ee1db5384" + integrity sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw== + acorn@^6.2.1: version "6.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA== +acorn@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" + integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== + ajv-errors@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" @@ -1023,6 +1248,13 @@ ansi-colors@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== +ansi-escapes@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.2.1.tgz#4dccdb846c3eee10f6d64dea66273eab90c37228" + integrity sha512-Cg3ymMAdN10wOk/VYfLV7KCQyv7EDirJ64500sU7n9UlmioEtDuU5Gd+hj73hXSU/ex7tHJSssmyftDdkMLO8Q== + dependencies: + type-fest "^0.5.2" + ansi-html@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" @@ -1048,7 +1280,7 @@ ansi-styles@^2.2.1: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= -ansi-styles@^3.2.1: +ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== @@ -1098,6 +1330,14 @@ arr-union@^3.1.0: resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= +array-includes@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" + integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0= + dependencies: + define-properties "^1.1.2" + es-abstract "^1.7.0" + array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" @@ -1142,6 +1382,11 @@ assign-symbols@^1.0.0: resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" + integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + async-each@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" @@ -1207,6 +1452,18 @@ babel-core@7.0.0-bridge.0: resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== +babel-eslint@^10.0.3: + version "10.0.3" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.3.tgz#81a2c669be0f205e19462fed2482d33e4687a88a" + integrity sha512-z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" + eslint-visitor-keys "^1.0.0" + resolve "^1.12.0" + babel-loader@8.0.6: version "8.0.6" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.6.tgz#e33bdb6f362b03f4bb141a0c21ab87c501b70dfb" @@ -1224,7 +1481,32 @@ babel-plugin-dynamic-import-node@^2.3.0: dependencies: object.assign "^4.1.0" -babel-plugin-syntax-jsx@6.18.0: +babel-plugin-emotion@^10.0.22, babel-plugin-emotion@^10.0.23: + version "10.0.23" + resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.23.tgz#040d40bf61dcab6d31dd6043d10e180240b8515b" + integrity sha512-1JiCyXU0t5S2xCbItejCduLGGcKmF3POT0Ujbexog2MI4IlRcIn/kWjkYwCUZlxpON0O5FC635yPl/3slr7cKQ== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@emotion/hash" "0.7.3" + "@emotion/memoize" "0.7.3" + "@emotion/serialize" "^0.11.14" + babel-plugin-macros "^2.0.0" + babel-plugin-syntax-jsx "^6.18.0" + convert-source-map "^1.5.0" + escape-string-regexp "^1.0.5" + find-root "^1.1.0" + source-map "^0.5.7" + +babel-plugin-macros@^2.0.0: + version "2.6.1" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.6.1.tgz#41f7ead616fc36f6a93180e89697f69f51671181" + integrity sha512-6W2nwiXme6j1n2erPOnmRiWfObUhWH7Qw1LMi9XZy8cj+KtESu3T6asZvtk5bMQQjX8te35o7CFueiSdL/2NmQ== + dependencies: + "@babel/runtime" "^7.4.2" + cosmiconfig "^5.2.0" + resolve "^1.10.0" + +babel-plugin-syntax-jsx@6.18.0, babel-plugin-syntax-jsx@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY= @@ -1489,6 +1771,11 @@ callsites@^2.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -1499,7 +1786,7 @@ caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001004, caniuse-lite@^1.0.300010 resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001008.tgz#b8841b1df78a9f5ed9702537ef592f1f8772c0d9" integrity sha512-b8DJyb+VVXZGRgJUa30cbk8gKHZ3LOZTBLaUEEVr2P4xpmFigOCc62CO4uzquW641Ouq1Rm9N+rWLWdSYDaDIw== -chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -1519,6 +1806,11 @@ chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + chokidar@^2.0.2, chokidar@^2.0.4: version "2.1.8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" @@ -1580,11 +1872,23 @@ cli-cursor@^2.1.0: dependencies: restore-cursor "^2.0.0" +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + cli-spinners@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.2.0.tgz#e8b988d9206c692302d8ee834e7a85c0144d8f77" integrity sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ== +cli-width@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= + clone@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" @@ -1603,7 +1907,7 @@ collection-visit@^1.0.0: map-visit "^1.0.0" object-visit "^1.0.0" -color-convert@^1.9.0: +color-convert@^1.9.0, color-convert@^1.9.1: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== @@ -1615,6 +1919,27 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= +color-name@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^1.5.2: + version "1.5.3" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" + integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" + integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg== + dependencies: + color-convert "^1.9.1" + color-string "^1.5.2" + colors@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" @@ -1705,6 +2030,11 @@ constants-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= + content-type@1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" @@ -1717,7 +2047,7 @@ convert-source-map@1.6.0: dependencies: safe-buffer "~5.1.1" -convert-source-map@^1.1.0: +convert-source-map@^1.1.0, convert-source-map@^1.5.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== @@ -1764,7 +2094,7 @@ core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -cosmiconfig@^5.0.0: +cosmiconfig@^5.0.0, cosmiconfig@^5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== @@ -1805,6 +2135,17 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" +cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" @@ -1902,12 +2243,17 @@ cssnano-simple@1.0.0: cssnano-preset-simple "^1.0.0" postcss "^7.0.18" +csstype@^2.2.0, csstype@^2.5.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.7.tgz#20b0024c20b6718f4eda3853a1f5a1cce7f5e4a5" + integrity sha512-9Mcn9sFbGBAdmimWb2gLVDtFJzeKtDGIr76TUqmjZrw9LFXBMSU70lcs+C0/7fyCd6iBDqmksUcCOUIkisPHsQ== + cyclist@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= -debug@2.6.9, debug@^2.2.0, debug@^2.3.3: +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -1921,7 +2267,7 @@ debug@^3.2.6: dependencies: ms "^2.1.1" -debug@^4.1.0: +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== @@ -1938,6 +2284,11 @@ deep-extend@^0.6.0: resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + defaults@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" @@ -1945,7 +2296,7 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" -define-properties@^1.1.2: +define-properties@^1.1.2, define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== @@ -2028,6 +2379,28 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + domain-browser@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" @@ -2073,6 +2446,16 @@ elliptic@^6.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.0" +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" @@ -2118,6 +2501,31 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" +es-abstract@^1.12.0, es-abstract@^1.15.0, es-abstract@^1.7.0: + version "1.16.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.0.tgz#d3a26dc9c3283ac9750dca569586e976d9dcc06d" + integrity sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg== + dependencies: + es-to-primitive "^1.2.0" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.0" + is-callable "^1.1.4" + is-regex "^1.0.4" + object-inspect "^1.6.0" + object-keys "^1.1.1" + string.prototype.trimleft "^2.1.0" + string.prototype.trimright "^2.1.0" + +es-to-primitive@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -2128,6 +2536,73 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= +eslint-config-prettier@^6.4.0: + version "6.5.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.5.0.tgz#aaf9a495e2a816865e541bfdbb73a65cc162b3eb" + integrity sha512-cjXp8SbO9VFGW/Z7mbTydqS9to8Z58E5aYhj3e1+Hx7lS9s6gL5ILKNpCqZAFOVYRcSkWPFYljHrEh8QFEK5EQ== + dependencies: + get-stdin "^6.0.0" + +eslint-import-resolver-node@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" + integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q== + dependencies: + debug "^2.6.9" + resolve "^1.5.0" + +eslint-module-utils@^2.4.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz#7b4675875bf96b0dbf1b21977456e5bb1f5e018c" + integrity sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw== + dependencies: + debug "^2.6.8" + pkg-dir "^2.0.0" + +eslint-plugin-import@^2.18.2: + version "2.18.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz#02f1180b90b077b33d447a17a2326ceb400aceb6" + integrity sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ== + dependencies: + array-includes "^3.0.3" + contains-path "^0.1.0" + debug "^2.6.9" + doctrine "1.5.0" + eslint-import-resolver-node "^0.3.2" + eslint-module-utils "^2.4.0" + has "^1.0.3" + minimatch "^3.0.4" + object.values "^1.1.0" + read-pkg-up "^2.0.0" + resolve "^1.11.0" + +eslint-plugin-prettier@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.1.tgz#507b8562410d02a03f0ddc949c616f877852f2ba" + integrity sha512-A+TZuHZ0KU0cnn56/9mfR7/KjUJ9QNVXUhwvRFSR7PGPe0zQR6PTkmyqg1AtUUEOzTqeRsUwyKFh0oVZKVCrtA== + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-plugin-react-hooks@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.2.0.tgz#078264e9e388da6929ace09d6abe92c85963aff4" + integrity sha512-jSlnBjV2cmyIeL555H/FbvuSbQ1AtpHjLMHuPrQnt1eVA6lX8yufdygh7AArI2m8ct7ChHGx2uOaCuxq2MUn6g== + +eslint-plugin-react@^7.16.0: + version "7.16.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.16.0.tgz#9928e4f3e2122ed3ba6a5b56d0303ba3e41d8c09" + integrity sha512-GacBAATewhhptbK3/vTP09CbFrgUJmBSaaRcWdbQLFvUZy9yVcQxigBNHGPU/KE2AyHpzj3AWXpxoMTsIDiHug== + dependencies: + array-includes "^3.0.3" + doctrine "^2.1.0" + has "^1.0.3" + jsx-ast-utils "^2.2.1" + object.entries "^1.1.0" + object.fromentries "^2.0.0" + object.values "^1.1.0" + prop-types "^15.7.2" + resolve "^1.12.0" + eslint-scope@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" @@ -2136,11 +2611,90 @@ eslint-scope@^4.0.3: esrecurse "^4.1.0" estraverse "^4.1.1" +eslint-scope@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" + integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw== + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-utils@^1.4.2, eslint-utils@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" + integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" + integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== + +eslint@^6.5.1: + version "6.6.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.6.0.tgz#4a01a2fb48d32aacef5530ee9c5a78f11a8afd04" + integrity sha512-PpEBq7b6qY/qrOmpYQ/jTMDYfuQMELR4g4WI1M/NaSDDD/bdcMb+dj4Hgks7p41kW2caXsPsEZAEAyAgjVVC0g== + dependencies: + "@babel/code-frame" "^7.0.0" + ajv "^6.10.0" + chalk "^2.1.0" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^3.0.0" + eslint-scope "^5.0.0" + eslint-utils "^1.4.3" + eslint-visitor-keys "^1.1.0" + espree "^6.1.2" + esquery "^1.0.1" + esutils "^2.0.2" + file-entry-cache "^5.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^11.7.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + inquirer "^7.0.0" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.14" + minimatch "^3.0.4" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.2" + progress "^2.0.0" + regexpp "^2.0.1" + semver "^6.1.2" + strip-ansi "^5.2.0" + strip-json-comments "^3.0.1" + table "^5.2.3" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.2.tgz#6c272650932b4f91c3714e5e7b5f5e2ecf47262d" + integrity sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA== + dependencies: + acorn "^7.1.0" + acorn-jsx "^5.1.0" + eslint-visitor-keys "^1.1.0" + esprima@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== +esquery@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" + integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== + dependencies: + estraverse "^4.0.0" + esrecurse@^4.1.0: version "4.2.1" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" @@ -2148,7 +2702,7 @@ esrecurse@^4.1.0: dependencies: estraverse "^4.1.0" -estraverse@^4.1.0, estraverse@^4.1.1: +estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== @@ -2204,6 +2758,15 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" + integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" @@ -2223,16 +2786,40 @@ fast-deep-equal@^2.0.1: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + fast-json-stable-stringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + figgy-pudding@^3.5.1: version "3.5.1" resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== +figures@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-3.1.0.tgz#4b198dd07d8d71530642864af2d45dd9e459c4ec" + integrity sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" + integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== + dependencies: + flat-cache "^2.0.1" + file-loader@4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.2.0.tgz#5fb124d2369d7075d70a9a5abecd12e60a95215e" @@ -2269,6 +2856,11 @@ find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: make-dir "^2.0.0" pkg-dir "^3.0.0" +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + find-up@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.0.0.tgz#c367f8024de92efb75f2d4906536d24682065c3a" @@ -2276,7 +2868,7 @@ find-up@4.0.0: dependencies: locate-path "^5.0.0" -find-up@^2.1.0: +find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= @@ -2290,6 +2882,20 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" +flat-cache@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== + dependencies: + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" + +flatted@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" + integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg== + flatten@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" @@ -2377,6 +2983,11 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -2391,6 +3002,11 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" +get-stdin@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" + integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -2404,6 +3020,13 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" +glob-parent@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" + integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw== + dependencies: + is-glob "^4.0.1" + glob-to-regexp@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" @@ -2421,7 +3044,7 @@ glob@^7.0.3, glob@^7.1.3, glob@^7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" -globals@^11.1.0: +globals@^11.1.0, globals@^11.7.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== @@ -2500,7 +3123,7 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" -has@^1.0.3: +has@^1.0.1, has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== @@ -2569,7 +3192,7 @@ https-browserify@^1.0.0: resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= -iconv-lite@0.4.24, iconv-lite@^0.4.4: +iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -2605,6 +3228,11 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + import-cwd@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" @@ -2620,6 +3248,14 @@ import-fresh@^2.0.0: caller-path "^2.0.0" resolve-from "^3.0.0" +import-fresh@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118" + integrity sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + import-from@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" @@ -2670,6 +3306,25 @@ ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== +inquirer@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.0.tgz#9e2b032dde77da1db5db804758b8fea3a970519a" + integrity sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ== + dependencies: + ansi-escapes "^4.2.1" + chalk "^2.4.2" + cli-cursor "^3.1.0" + cli-width "^2.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.15" + mute-stream "0.0.8" + run-async "^2.2.0" + rxjs "^6.4.0" + string-width "^4.1.0" + strip-ansi "^5.1.0" + through "^2.3.6" + invariant@^2.2.2: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" @@ -2696,6 +3351,11 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + is-binary-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" @@ -2708,6 +3368,11 @@ is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== +is-callable@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" + integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -2722,6 +3387,11 @@ is-data-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= + is-descriptor@^0.1.0: version "0.1.6" resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" @@ -2779,6 +3449,11 @@ is-fullwidth-code-point@^2.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + is-glob@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" @@ -2786,7 +3461,7 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0: +is-glob@^4.0.0, is-glob@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== @@ -2836,6 +3511,25 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" +is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= + +is-regex@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= + dependencies: + has "^1.0.1" + +is-symbol@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" + integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== + dependencies: + has-symbols "^1.0.0" + is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -2861,6 +3555,11 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" @@ -2929,6 +3628,11 @@ json-schema-typed@^7.0.0: resolved "https://registry.yarnpkg.com/json-schema-typed/-/json-schema-typed-7.0.2.tgz#926deb7535cfb321613ee136eaed70c1419c89b4" integrity sha512-40FRIcBSz4y0Ego3gMpbkhtIgebpxKRgW/7i1FfDNL4/xEPQKBM12tKSiCZFNQvad5K4IS3I5Sc8cxza/KSwog== +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + json5@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" @@ -2943,6 +3647,14 @@ json5@^2.1.0: dependencies: minimist "^1.2.0" +jsx-ast-utils@^2.2.1: + version "2.2.3" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz#8a9364e402448a3ce7f14d357738310d9248054f" + integrity sha512-EdIHFMm+1BPynpKOpdPqiOsvnIrInRGJD7bzPZdPkjitQEqpdpUuFpq4T0npZFKTiB3RhWFdGN+oqOJIdhDhQA== + dependencies: + array-includes "^3.0.3" + object.assign "^4.1.0" + kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -2975,6 +3687,14 @@ launch-editor@2.2.1: chalk "^2.3.0" shell-quote "^1.6.1" +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + load-json-file@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" @@ -3042,7 +3762,12 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "^3.0.0" -lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.4: +lodash.unescape@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" + integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw= + +lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.4: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== @@ -3068,6 +3793,11 @@ lru-cache@5.1.1, lru-cache@^5.1.1: dependencies: yallist "^3.0.2" +luxon@^1.21.1: + version "1.21.1" + resolved "https://registry.yarnpkg.com/luxon/-/luxon-1.21.1.tgz#00c9c9e624e66cfef745a8476c4ead14a3966a61" + integrity sha512-3zxaKX7mj7eA80TU0sm4CfNEtiUZ2QXGjMc80rfG4d1dOnnOOWz63U9j4nYR7+1w716DYtWfdOeVhDXYlH+D4w== + make-dir@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" @@ -3201,6 +3931,11 @@ mimic-fn@^1.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + mini-css-extract-plugin@0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz#81d41ec4fe58c713a96ad7c723cdb2d0bd4d70e1" @@ -3311,6 +4046,11 @@ ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" + integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + nan@^2.12.1: version "2.14.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" @@ -3333,6 +4073,11 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + needle@^2.2.1: version "2.4.0" resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" @@ -3430,6 +4175,11 @@ next@^9.1.3: webpack-sources "1.4.3" whatwg-fetch "3.0.0" +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + node-fetch@2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" @@ -3579,7 +4329,12 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-keys@^1.0.11, object-keys@^1.0.12: +object-inspect@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b" + integrity sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ== + +object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -3601,6 +4356,26 @@ object.assign@^4.1.0: has-symbols "^1.0.0" object-keys "^1.0.11" +object.entries@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.0.tgz#2024fc6d6ba246aee38bdb0ffd5cfbcf371b7519" + integrity sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.12.0" + function-bind "^1.1.1" + has "^1.0.3" + +object.fromentries@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.1.tgz#050f077855c7af8ae6649f45c80b16ee2d31e704" + integrity sha512-PUQv8Hbg3j2QX0IQYv3iAGCbGcu4yY4KQ92/dhA4sFSixBmSmp13UpDLs6jGK8rBtbmhNNIK99LD2k293jpiGA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.15.0" + function-bind "^1.1.1" + has "^1.0.3" + object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" @@ -3608,6 +4383,16 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" +object.values@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.0.tgz#bf6810ef5da3e5325790eaaa2be213ea84624da9" + integrity sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.12.0" + function-bind "^1.1.1" + has "^1.0.3" + on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" @@ -3634,6 +4419,25 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" +onetime@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" + integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== + dependencies: + mimic-fn "^2.1.0" + +optionator@^0.8.2: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + ora@3.4.0: version "3.4.0" resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318" @@ -3656,7 +4460,7 @@ os-homedir@^1.0.0: resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= -os-tmpdir@^1.0.0: +os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= @@ -3733,6 +4537,13 @@ parallel-transform@^1.1.0: inherits "^2.0.3" readable-stream "^2.1.5" +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + parse-asn1@^5.0.0: version "5.1.5" resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" @@ -3807,6 +4618,11 @@ path-is-inside@^1.0.1: resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= +path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + path-parse@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" @@ -4261,11 +5077,33 @@ postcss@^7.0.0, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.17, postcss@^7.0. source-map "^0.6.1" supports-color "^6.1.0" +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + prepend-http@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +prettier@^1.19.1: + version "1.19.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" + integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== + +prism-react-renderer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.0.2.tgz#3bb9a6a42f76fc049b03266298c7068fdd4b7ea9" + integrity sha512-0++pJyRfu4v2OxI/Us/5RLui9ESDkTiLkVCtKuPZYdpB8UQWJpnJQhPrWab053XtsKW3oM0sD69uJ6N9exm1Ag== + private@^0.1.6: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" @@ -4281,6 +5119,11 @@ process@^0.11.10: resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" @@ -4302,7 +5145,7 @@ prop-types-exact@1.2.0: object.assign "^4.1.0" reflect.ownkeys "^0.2.0" -prop-types@15.7.2, prop-types@^15.6.2: +prop-types@15.7.2, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -4460,6 +5303,14 @@ react@^16.11.0: object-assign "^4.1.1" prop-types "^15.6.2" +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + read-pkg@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" @@ -4533,6 +5384,11 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" +regexpp@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== + regexpu-core@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.6.0.tgz#2037c18b327cfce8a6fea2a4ec441f2432afb8b6" @@ -4577,12 +5433,17 @@ resolve-from@^3.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" integrity sha1-six699nWiBvItuZTM17rywoYh0g= +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.10.0, resolve@^1.3.2, resolve@^1.8.1: +resolve@^1.10.0, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1: version "1.12.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== @@ -4597,6 +5458,14 @@ restore-cursor@^2.0.0: onetime "^2.0.0" signal-exit "^3.0.2" +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" @@ -4607,6 +5476,13 @@ retry@0.12.0: resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= +rimraf@2.6.3: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + dependencies: + glob "^7.1.3" + rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" @@ -4622,6 +5498,13 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" +run-async@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= + dependencies: + is-promise "^2.1.0" + run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" @@ -4629,6 +5512,13 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" +rxjs@^6.4.0: + version "6.5.3" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.3.tgz#510e26317f4db91a7eb1de77d9dd9ba0a4899a3a" + integrity sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA== + dependencies: + tslib "^1.9.0" + safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -4686,7 +5576,7 @@ schema-utils@^2.0.0, schema-utils@^2.0.1: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^6.0.0, semver@^6.3.0: +semver@^6.0.0, semver@^6.1.2, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== @@ -4748,6 +5638,18 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + shell-quote@^1.6.1: version "1.7.2" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" @@ -4758,6 +5660,22 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + +slice-ansi@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== + dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" + is-fullwidth-code-point "^2.0.0" + snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -4834,7 +5752,7 @@ source-map@0.7.3: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== -source-map@^0.5.0, source-map@^0.5.6: +source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -4956,6 +5874,40 @@ string-width@^1.0.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +string-width@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" + integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.1.0.tgz#ba846d1daa97c3c596155308063e075ed1c99aff" + integrity sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^5.2.0" + +string.prototype.trimleft@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz#6cc47f0d7eb8d62b0f3701611715a3954591d634" + integrity sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + +string.prototype.trimright@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz#669d164be9df9b6f7559fa8e89945b168a5a6c58" + integrity sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg== + dependencies: + define-properties "^1.1.3" + function-bind "^1.1.1" + string_decoder@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -4970,7 +5922,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -strip-ansi@5.2.0, strip-ansi@^5.2.0: +strip-ansi@5.2.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== @@ -4996,6 +5948,11 @@ strip-bom@^3.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= +strip-json-comments@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" + integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== + strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" @@ -5052,6 +6009,16 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" +table@^5.2.3: + version "5.4.6" + resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" + integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== + dependencies: + ajv "^6.10.2" + lodash "^4.17.14" + slice-ansi "^2.1.0" + string-width "^3.0.0" + tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" @@ -5103,6 +6070,11 @@ terser@^4.1.2: source-map "~0.6.1" source-map-support "~0.5.12" +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + through2@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -5111,6 +6083,11 @@ through2@^2.0.0: readable-stream "~2.3.6" xtend "~4.0.1" +through@^2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + timers-browserify@^2.0.4: version "2.0.11" resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" @@ -5118,6 +6095,13 @@ timers-browserify@^2.0.4: dependencies: setimmediate "^1.0.4" +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + to-arraybuffer@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" @@ -5173,16 +6157,35 @@ ts-pnp@^1.1.2: resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.4.tgz#ae27126960ebaefb874c6d7fa4729729ab200d90" integrity sha512-1J/vefLC+BWSo+qe8OnJQfWTYRS6ingxjwqmHMqaMxXMj7kFtKLgAaYW3JeX3mktjgUL+etlU8/B4VUAUI9QGw== -tslib@^1.9.0: +tslib@^1.8.1, tslib@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== +tsutils@^3.17.1: + version "3.17.1" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" + integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== + dependencies: + tslib "^1.8.1" + tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-fest@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.5.2.tgz#d6ef42a0356c6cd45f49485c3b6281fc148e48a2" + integrity sha512-DWkS49EQKVX//Tbupb9TFa19c7+MK1XmzkrZUR8TAktmE/DizXoaoJV6TZ/tSIPXipqNiRI6CyAe7x69Jb6RSw== + typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -5195,6 +6198,11 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= +typescript@^3.7.2: + version "3.7.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.2.tgz#27e489b95fa5909445e9fef5ee48d81697ad18fb" + integrity sha512-ml7V7JfiN2Xwvcer+XAf2csGO1bPBdRbFCkYBczNZggrBZ9c7G3riSUeJmqEU5uOtXNPMhE3n+R4FA/3YOAWOQ== + unfetch@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.1.0.tgz#6ec2dd0de887e58a4dee83a050ded80ffc4137db" @@ -5324,6 +6332,11 @@ uuid@^3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== +v8-compile-cache@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" + integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== + validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -5444,6 +6457,13 @@ whatwg-fetch@3.0.0: resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q== +which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + wide-align@^1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" @@ -5451,6 +6471,11 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + worker-farm@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" @@ -5480,6 +6505,13 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" +write@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== + dependencies: + mkdirp "^0.5.1" + xtend@^4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" From b8a141e3ba246d76d1f6fd81eee254a1cc74ad27 Mon Sep 17 00:00:00 2001 From: Shu Uesugi Date: Sun, 10 Nov 2019 15:54:57 -0800 Subject: [PATCH 02/11] Basic styles --- .eslintrc | 1 + src/components/GlobalStyles.tsx | 70 +++++++++ src/components/Page.tsx | 12 ++ src/components/ThemeContext.tsx | 18 +++ src/lib/modernNormalize.ts | 271 ++++++++++++++++++++++++++++++++ src/lib/theme/colors.ts | 8 + src/lib/theme/fontSizes.ts | 15 ++ src/lib/theme/lineHeights.ts | 7 + src/lib/theme/ns.ts | 2 + src/pages/index.tsx | 7 +- 10 files changed, 407 insertions(+), 4 deletions(-) create mode 100644 src/components/GlobalStyles.tsx create mode 100644 src/components/Page.tsx create mode 100644 src/components/ThemeContext.tsx create mode 100644 src/lib/modernNormalize.ts create mode 100644 src/lib/theme/colors.ts create mode 100644 src/lib/theme/fontSizes.ts create mode 100644 src/lib/theme/lineHeights.ts create mode 100644 src/lib/theme/ns.ts diff --git a/.eslintrc b/.eslintrc index 1ee10ed..69d7ea9 100644 --- a/.eslintrc +++ b/.eslintrc @@ -2,6 +2,7 @@ "parser": "@typescript-eslint/parser", "extends": [ "eslint:recommended", + "plugin:react/recommended", "plugin:@typescript-eslint/eslint-recommended", "plugin:@typescript-eslint/recommended", "plugin:@typescript-eslint/recommended-requiring-type-checking", diff --git a/src/components/GlobalStyles.tsx b/src/components/GlobalStyles.tsx new file mode 100644 index 0000000..ee66e95 --- /dev/null +++ b/src/components/GlobalStyles.tsx @@ -0,0 +1,70 @@ +/** @jsx jsx */ +import { css, Global, jsx } from '@emotion/core' +import React, { useContext } from 'react' +import modernNormalize from 'src/lib/modernNormalize' +import ThemeContext from 'src/components/ThemeContext' + +const GlobalStyles = ({ children }: { children: React.ReactNode }) => { + const { ns, colors, lineHeights } = useContext(ThemeContext) + return ( + <> + + {children} + + ) +} + +export default GlobalStyles diff --git a/src/components/Page.tsx b/src/components/Page.tsx new file mode 100644 index 0000000..62c8cae --- /dev/null +++ b/src/components/Page.tsx @@ -0,0 +1,12 @@ +import React from 'react' +import GlobalStyles from 'src/components/GlobalStyles' + +const Page = () => ( + <> + +

Welcome to Next.js!

+
+ +) + +export default Page diff --git a/src/components/ThemeContext.tsx b/src/components/ThemeContext.tsx new file mode 100644 index 0000000..46e4dc7 --- /dev/null +++ b/src/components/ThemeContext.tsx @@ -0,0 +1,18 @@ +import { createContext } from 'react' +import lineHeights from 'src/lib/theme/lineHeights' +import colors from 'src/lib/theme/colors' +import ns from 'src/lib/theme/ns' + +export interface ThemeProps { + lineHeights: typeof lineHeights + colors: typeof colors + ns: typeof ns +} + +export const themeContextDefault: ThemeProps = { + lineHeights, + colors, + ns +} + +export default createContext(themeContextDefault) diff --git a/src/lib/modernNormalize.ts b/src/lib/modernNormalize.ts new file mode 100644 index 0000000..7f0486b --- /dev/null +++ b/src/lib/modernNormalize.ts @@ -0,0 +1,271 @@ +import { css } from '@emotion/core' + +export default css` + /*! modern-normalize v0.5.0 | MIT License | https://github.com/sindresorhus/modern-normalize */ + + /* Document + ========================================================================== */ + + /** + * Use a better box model (opinionated). + */ + + html { + box-sizing: border-box; + } + + *, + *::before, + *::after { + box-sizing: inherit; + } + + /** + * Use a more readable tab size (opinionated). + */ + + :root { + -moz-tab-size: 4; + tab-size: 4; + } + + /** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + + html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ + } + + /* Sections + ========================================================================== */ + + /** + * Remove the margin in all browsers. + */ + + body { + margin: 0; + } + + /** + * Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) + */ + + body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, + Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', + 'Segoe UI Symbol'; + } + + /* Grouping content + ========================================================================== */ + + /** + * Add the correct height in Firefox. + */ + + hr { + height: 0; + } + + /* Text-level semantics + ========================================================================== */ + + /** + * Add the correct text decoration in Chrome, Edge, and Safari. + */ + + abbr[title] { + text-decoration: underline dotted; + } + + /** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + + b, + strong { + font-weight: bolder; + } + + /** + * 1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) + * 2. Correct the odd 'em' font sizing in all browsers. + */ + + code, + kbd, + samp, + pre { + font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, + monospace; /* 1 */ + font-size: 1em; /* 2 */ + } + + /** + * Add the correct font size in all browsers. + */ + + small { + font-size: 80%; + } + + /** + * Prevent 'sub' and 'sup' elements from affecting the line height in all browsers. + */ + + sub, + sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + } + + sub { + bottom: -0.25em; + } + + sup { + top: -0.5em; + } + + /* Forms + ========================================================================== */ + + /** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + + button, + input, + optgroup, + select, + textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ + } + + /** + * Remove the inheritance of text transform in Edge and Firefox. + * 1. Remove the inheritance of text transform in Firefox. + */ + + button, + select { + /* 1 */ + text-transform: none; + } + + /** + * Correct the inability to style clickable types in iOS and Safari. + */ + + button, + [type='button'], + [type='reset'], + [type='submit'] { + -webkit-appearance: button; + } + + /** + * Remove the inner border and padding in Firefox. + */ + + button::-moz-focus-inner, + [type='button']::-moz-focus-inner, + [type='reset']::-moz-focus-inner, + [type='submit']::-moz-focus-inner { + border-style: none; + padding: 0; + } + + /** + * Restore the focus styles unset by the previous rule. + */ + + button:-moz-focusring, + [type='button']:-moz-focusring, + [type='reset']:-moz-focusring, + [type='submit']:-moz-focusring { + outline: 1px dotted ButtonText; + } + + /** + * Correct the padding in Firefox. + */ + + fieldset { + padding: 0.35em 0.75em 0.625em; + } + + /** + * Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers. + */ + + legend { + padding: 0; + } + + /** + * Add the correct vertical alignment in Chrome and Firefox. + */ + + progress { + vertical-align: baseline; + } + + /** + * Correct the cursor style of increment and decrement buttons in Safari. + */ + + [type='number']::-webkit-inner-spin-button, + [type='number']::-webkit-outer-spin-button { + height: auto; + } + + /** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + + [type='search'] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ + } + + /** + * Remove the inner padding in Chrome and Safari on macOS. + */ + + [type='search']::-webkit-search-decoration { + -webkit-appearance: none; + } + + /** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to 'inherit' in Safari. + */ + + ::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ + } + + /* Interactive + ========================================================================== */ + + /* + * Add the correct display in Chrome and Safari. + */ + + summary { + display: list-item; + } +` diff --git a/src/lib/theme/colors.ts b/src/lib/theme/colors.ts new file mode 100644 index 0000000..ee65465 --- /dev/null +++ b/src/lib/theme/colors.ts @@ -0,0 +1,8 @@ +export const allColors = { + black: '#1F0606', + lightYellow1: '#FEF6E1' +} + +const colors = (x: keyof typeof allColors) => allColors[x] + +export default colors diff --git a/src/lib/theme/fontSizes.ts b/src/lib/theme/fontSizes.ts new file mode 100644 index 0000000..18d5f2a --- /dev/null +++ b/src/lib/theme/fontSizes.ts @@ -0,0 +1,15 @@ +export const allFontSizes = { + 0.75: 0.75, + 0.85: 0.85, + 1: 1, + 1.2: 1.2, + 1.4: 1.4, + 1.6: 1.6, + 2: 2, + 2.5: 2.5, + 3: 3 +} + +const fontSizes = (x: keyof typeof allFontSizes) => `${allFontSizes[x]}rem` + +export default fontSizes diff --git a/src/lib/theme/lineHeights.ts b/src/lib/theme/lineHeights.ts new file mode 100644 index 0000000..463104d --- /dev/null +++ b/src/lib/theme/lineHeights.ts @@ -0,0 +1,7 @@ +export const allLineHeights = { + 1.55: 1.55 +} + +const lineHeights = (x: keyof typeof allLineHeights) => allLineHeights[x] + +export default lineHeights diff --git a/src/lib/theme/ns.ts b/src/lib/theme/ns.ts new file mode 100644 index 0000000..83410ce --- /dev/null +++ b/src/lib/theme/ns.ts @@ -0,0 +1,2 @@ +export const NOT_SMALL = '48em' +export default `@media screen and (min-width: ${NOT_SMALL})` diff --git a/src/pages/index.tsx b/src/pages/index.tsx index d6a761d..e9c2858 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,5 +1,4 @@ -function Home() { - return
Welcome to Next.js!
-} +import React from 'react' +import Page from 'src/components/Page' -export default Home +export default () => From ba0aefdc496c99c9ac54641b67105e038ba9b524 Mon Sep 17 00:00:00 2001 From: Shu Uesugi Date: Sun, 10 Nov 2019 18:51:36 -0800 Subject: [PATCH 03/11] Theme support --- src/components/Container.tsx | 45 +++++++++++++++++++++++++++++++++ src/components/GlobalStyles.tsx | 8 +++--- src/components/Page.tsx | 5 ++-- src/components/ThemeContext.tsx | 8 +++++- src/hooks/useTheme.ts | 6 +++++ src/lib/theme/maxWidths.ts | 9 +++++++ src/lib/theme/spaces.ts | 43 +++++++++++++++++++++++++++++++ src/pages/index.tsx | 11 +++++++- 8 files changed, 127 insertions(+), 8 deletions(-) create mode 100644 src/components/Container.tsx create mode 100644 src/hooks/useTheme.ts create mode 100644 src/lib/theme/maxWidths.ts create mode 100644 src/lib/theme/spaces.ts diff --git a/src/components/Container.tsx b/src/components/Container.tsx new file mode 100644 index 0000000..da2d607 --- /dev/null +++ b/src/components/Container.tsx @@ -0,0 +1,45 @@ +/** @jsx jsx */ +import { css, jsx, SerializedStyles } from '@emotion/core' +import { allMaxWidths } from 'src/lib/theme/maxWidths' +import { allSpaces } from 'src/lib/theme/spaces' +import useTheme from 'src/hooks/useTheme' + +export interface ContainerProps { + children: React.ReactNode + Component: React.ComponentType | string + size: keyof typeof allMaxWidths + horizontalPadding: keyof typeof allSpaces + cssOverrides?: SerializedStyles +} + +const Container = ({ + children, + Component, + size, + horizontalPadding, + cssOverrides +}: ContainerProps) => { + const { maxWidths, spaces } = useTheme() + return ( + + {children} + + ) +} + +Container.defaultProps = { + Component: 'div', + size: 'md', + horizontalPadding: 0.5 +} + +export default Container diff --git a/src/components/GlobalStyles.tsx b/src/components/GlobalStyles.tsx index ee66e95..70a82e7 100644 --- a/src/components/GlobalStyles.tsx +++ b/src/components/GlobalStyles.tsx @@ -1,11 +1,11 @@ /** @jsx jsx */ import { css, Global, jsx } from '@emotion/core' -import React, { useContext } from 'react' +import React from 'react' import modernNormalize from 'src/lib/modernNormalize' -import ThemeContext from 'src/components/ThemeContext' +import useTheme from 'src/hooks/useTheme' const GlobalStyles = ({ children }: { children: React.ReactNode }) => { - const { ns, colors, lineHeights } = useContext(ThemeContext) + const { ns, colors, lineHeights } = useTheme() return ( <> { ${ns} { html { - font-size: 22px; + font-size: 21px; } } diff --git a/src/components/Page.tsx b/src/components/Page.tsx index 62c8cae..6293c81 100644 --- a/src/components/Page.tsx +++ b/src/components/Page.tsx @@ -1,10 +1,11 @@ import React from 'react' import GlobalStyles from 'src/components/GlobalStyles' +import Container from 'src/components/Container' -const Page = () => ( +const Page = ({ children }: { children: React.ReactNode }) => ( <> -

Welcome to Next.js!

+ {children}
) diff --git a/src/components/ThemeContext.tsx b/src/components/ThemeContext.tsx index 46e4dc7..4a5c4a5 100644 --- a/src/components/ThemeContext.tsx +++ b/src/components/ThemeContext.tsx @@ -2,17 +2,23 @@ import { createContext } from 'react' import lineHeights from 'src/lib/theme/lineHeights' import colors from 'src/lib/theme/colors' import ns from 'src/lib/theme/ns' +import maxWidths from 'src/lib/theme/maxWidths' +import spaces from 'src/lib/theme/spaces' export interface ThemeProps { lineHeights: typeof lineHeights colors: typeof colors ns: typeof ns + maxWidths: typeof maxWidths + spaces: typeof spaces } export const themeContextDefault: ThemeProps = { lineHeights, colors, - ns + ns, + maxWidths, + spaces } export default createContext(themeContextDefault) diff --git a/src/hooks/useTheme.ts b/src/hooks/useTheme.ts new file mode 100644 index 0000000..efec334 --- /dev/null +++ b/src/hooks/useTheme.ts @@ -0,0 +1,6 @@ +import { useContext } from 'react' +import ThemeContext from 'src/components/ThemeContext' + +const useTheme = () => useContext(ThemeContext) + +export default useTheme diff --git a/src/lib/theme/maxWidths.ts b/src/lib/theme/maxWidths.ts new file mode 100644 index 0000000..1a352c0 --- /dev/null +++ b/src/lib/theme/maxWidths.ts @@ -0,0 +1,9 @@ +export const allMaxWidths = { + sm: (1140 / 12) * 6, + md: (1140 / 12) * 8, + lg: 1140 +} + +const maxWidths = (x: keyof typeof allMaxWidths) => `${allMaxWidths[x]}px` + +export default maxWidths diff --git a/src/lib/theme/spaces.ts b/src/lib/theme/spaces.ts new file mode 100644 index 0000000..0702400 --- /dev/null +++ b/src/lib/theme/spaces.ts @@ -0,0 +1,43 @@ +export const allSpaces = { + '-0.125': -0.125, + '-0.25': -0.25, + '-0.375': -0.375, + '-0.5': -0.5, + '-0.75': -0.75, + '-1': -1, + '-1.25': -1.25, + '-1.5': -1.5, + '-1.75': -1.75, + '-2': -2, + '-2.25': 2.25, + '-2.5': -2.5, + '-3': -3, + '-4': -4, + '-5': -5, + '-6': -6, + '-7': -7, + '-8': -8, + 0: 0, + 0.125: 0.125, + 0.25: 0.25, + 0.375: 0.375, + 0.5: 0.5, + 0.75: 0.75, + 1: 1, + 1.25: 1.25, + 1.5: 1.5, + 1.75: 1.75, + 2: 2, + 2.25: 2.25, + 2.5: 2.5, + 3: 3, + 4: 4, + 5: 5, + 6: 6, + 7: 7, + 8: 8 +} + +const spaces = (x: keyof typeof allSpaces) => `${allSpaces[x]}rem` + +export default spaces diff --git a/src/pages/index.tsx b/src/pages/index.tsx index e9c2858..380efd6 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,4 +1,13 @@ import React from 'react' import Page from 'src/components/Page' -export default () => +const Index = () => ( + +

+ Hello World! Hello World! Hello World! Hello World! Hello World! Hello + World! Hello World! Hello World! Hello World! Hello World!{' '} +

+
+) + +export default Index From 2739e8a443aa5a0d23610d2f46fccb5a7cda3c34 Mon Sep 17 00:00:00 2001 From: Shu Uesugi Date: Sun, 10 Nov 2019 20:23:12 -0800 Subject: [PATCH 04/11] Implement header --- src/components/Container.tsx | 2 +- src/components/GlobalStyles.tsx | 6 ++--- src/components/Header.tsx | 39 +++++++++++++++++++++++++++++++++ src/components/Page.tsx | 10 ++++++++- src/components/ThemeContext.tsx | 8 ++++++- src/lib/theme/colors.ts | 2 +- src/lib/theme/fontSizes.ts | 3 ++- src/lib/theme/letterSpacings.ts | 8 +++++++ src/lib/theme/lineHeights.ts | 5 ++++- 9 files changed, 73 insertions(+), 10 deletions(-) create mode 100644 src/components/Header.tsx create mode 100644 src/lib/theme/letterSpacings.ts diff --git a/src/components/Container.tsx b/src/components/Container.tsx index da2d607..97f62b8 100644 --- a/src/components/Container.tsx +++ b/src/components/Container.tsx @@ -39,7 +39,7 @@ const Container = ({ Container.defaultProps = { Component: 'div', size: 'md', - horizontalPadding: 0.5 + horizontalPadding: 0.75 } export default Container diff --git a/src/components/GlobalStyles.tsx b/src/components/GlobalStyles.tsx index 70a82e7..ccf0b61 100644 --- a/src/components/GlobalStyles.tsx +++ b/src/components/GlobalStyles.tsx @@ -16,7 +16,7 @@ const GlobalStyles = ({ children }: { children: React.ReactNode }) => { font-size: 18px; color: ${colors('black')}; background: ${colors('lightYellow1')}; - line-height: ${lineHeights(1.55)}; + line-height: ${lineHeights(1.6)}; } body { @@ -29,9 +29,7 @@ const GlobalStyles = ({ children }: { children: React.ReactNode }) => { textarea, select, button { - font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', - 'Segoe UI', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, - sans-serif; + font-family: system-ui, sans-serif; } ${ns} { diff --git a/src/components/Header.tsx b/src/components/Header.tsx new file mode 100644 index 0000000..f694ce2 --- /dev/null +++ b/src/components/Header.tsx @@ -0,0 +1,39 @@ +/** @jsx jsx */ +import { css, jsx } from '@emotion/core' +import Container from 'src/components/Container' +import useTheme from 'src/hooks/useTheme' + +const Header = ({ useH1 }: { useH1?: boolean }) => { + const Component = useH1 ? 'h1' : 'h2' + const { fontSizes, ns, spaces, lineHeights, letterSpacings } = useTheme() + + return ( + + + TypeScript for Beginner Programmers + + + ) +} + +export default Header diff --git a/src/components/Page.tsx b/src/components/Page.tsx index 6293c81..165c440 100644 --- a/src/components/Page.tsx +++ b/src/components/Page.tsx @@ -1,10 +1,18 @@ import React from 'react' import GlobalStyles from 'src/components/GlobalStyles' import Container from 'src/components/Container' +import Header from 'src/components/Header' -const Page = ({ children }: { children: React.ReactNode }) => ( +const Page = ({ + children, + index +}: { + children: React.ReactNode + index?: boolean +}) => ( <> +
{children} diff --git a/src/components/ThemeContext.tsx b/src/components/ThemeContext.tsx index 4a5c4a5..08663cf 100644 --- a/src/components/ThemeContext.tsx +++ b/src/components/ThemeContext.tsx @@ -4,6 +4,8 @@ import colors from 'src/lib/theme/colors' import ns from 'src/lib/theme/ns' import maxWidths from 'src/lib/theme/maxWidths' import spaces from 'src/lib/theme/spaces' +import fontSizes from 'src/lib/theme/fontSizes' +import letterSpacings from 'src/lib/theme/letterSpacings' export interface ThemeProps { lineHeights: typeof lineHeights @@ -11,6 +13,8 @@ export interface ThemeProps { ns: typeof ns maxWidths: typeof maxWidths spaces: typeof spaces + fontSizes: typeof fontSizes + letterSpacings: typeof letterSpacings } export const themeContextDefault: ThemeProps = { @@ -18,7 +22,9 @@ export const themeContextDefault: ThemeProps = { colors, ns, maxWidths, - spaces + spaces, + fontSizes, + letterSpacings } export default createContext(themeContextDefault) diff --git a/src/lib/theme/colors.ts b/src/lib/theme/colors.ts index ee65465..f67aa0e 100644 --- a/src/lib/theme/colors.ts +++ b/src/lib/theme/colors.ts @@ -1,5 +1,5 @@ export const allColors = { - black: '#1F0606', + black: '#260808', lightYellow1: '#FEF6E1' } diff --git a/src/lib/theme/fontSizes.ts b/src/lib/theme/fontSizes.ts index 18d5f2a..f43b814 100644 --- a/src/lib/theme/fontSizes.ts +++ b/src/lib/theme/fontSizes.ts @@ -7,7 +7,8 @@ export const allFontSizes = { 1.6: 1.6, 2: 2, 2.5: 2.5, - 3: 3 + 3: 3, + 5: 5 } const fontSizes = (x: keyof typeof allFontSizes) => `${allFontSizes[x]}rem` diff --git a/src/lib/theme/letterSpacings.ts b/src/lib/theme/letterSpacings.ts new file mode 100644 index 0000000..6429099 --- /dev/null +++ b/src/lib/theme/letterSpacings.ts @@ -0,0 +1,8 @@ +export const allLetterSpacings = { + title: '-0.025em' +} + +const letterSpacings = (x: keyof typeof allLetterSpacings) => + allLetterSpacings[x] + +export default letterSpacings diff --git a/src/lib/theme/lineHeights.ts b/src/lib/theme/lineHeights.ts index 463104d..15949e2 100644 --- a/src/lib/theme/lineHeights.ts +++ b/src/lib/theme/lineHeights.ts @@ -1,5 +1,8 @@ export const allLineHeights = { - 1.55: 1.55 + 1: 1, + 1.1: 1.1, + 1.3: 1.3, + 1.6: 1.6 } const lineHeights = (x: keyof typeof allLineHeights) => allLineHeights[x] From 613a05a77e44f466c12dbecb599e063c65e9102c Mon Sep 17 00:00:00 2001 From: Shu Uesugi Date: Tue, 12 Nov 2019 09:01:13 -0800 Subject: [PATCH 05/11] Emoji support --- .gitignore | 1 + .svgrrc.js | 10 + package.json | 4 +- src/components/Emoji/Bird.tsx | 41 ++++ src/components/Emoji/index.tsx | 36 +++ src/components/GlobalStyles.tsx | 2 +- src/lib/theme/colors.ts | 3 +- src/pages/index.tsx | 4 +- yarn.lock | 402 ++++++++++++++++++++++++++++++-- 9 files changed, 485 insertions(+), 18 deletions(-) create mode 100644 .svgrrc.js create mode 100644 src/components/Emoji/Bird.tsx create mode 100644 src/components/Emoji/index.tsx diff --git a/.gitignore b/.gitignore index a52e0b0..5eab44d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ out +tmp # Logs logs diff --git a/.svgrrc.js b/.svgrrc.js new file mode 100644 index 0000000..7bc1e55 --- /dev/null +++ b/.svgrrc.js @@ -0,0 +1,10 @@ +module.exports = { + template({ template }, _, { componentName, jsx }) { + const typeScriptTpl = template.smart({ plugins: ['typescript'] }) + return typeScriptTpl.ast` + import React from 'react'; + const ${componentName} = (props: React.SVGProps) => ${jsx}; + export default ${componentName}; + ` + } +} diff --git a/package.json b/package.json index 39911de..099e8bd 100644 --- a/package.json +++ b/package.json @@ -19,9 +19,11 @@ "start": "next start", "tsc": "tsc", "eslint": "eslint --ext .js,.ts,.tsx .", - "eslint:fix": "eslint --ext .js,.ts,.tsx --fix ." + "eslint:fix": "eslint --ext .js,.ts,.tsx --fix .", + "svgr": "svgr --ext tsx --no-svgo --no-dimensions -d ." }, "devDependencies": { + "@svgr/cli": "^4.3.3", "@types/color": "^3.0.0", "@types/luxon": "^1.15.2", "@types/node": "^12.12.7", diff --git a/src/components/Emoji/Bird.tsx b/src/components/Emoji/Bird.tsx new file mode 100644 index 0000000..e784e86 --- /dev/null +++ b/src/components/Emoji/Bird.tsx @@ -0,0 +1,41 @@ +import React from 'react' + +const SvgBird = (props: React.SVGProps) => ( + + + + + + + + + + + +) + +export default SvgBird diff --git a/src/components/Emoji/index.tsx b/src/components/Emoji/index.tsx new file mode 100644 index 0000000..aadf7cd --- /dev/null +++ b/src/components/Emoji/index.tsx @@ -0,0 +1,36 @@ +/** @jsx jsx */ +import { css, jsx } from '@emotion/core' +import Bird from 'src/components/Emoji/Bird' + +export const emojiToComponent = { + bird: Bird +} + +const Emoji = ({ + type, + noVerticalTransform +}: { + type: keyof typeof emojiToComponent + noVerticalTransform?: boolean +}) => { + const Component = emojiToComponent[type] + return ( + + + + ) +} + +export default Emoji diff --git a/src/components/GlobalStyles.tsx b/src/components/GlobalStyles.tsx index ccf0b61..fd91edf 100644 --- a/src/components/GlobalStyles.tsx +++ b/src/components/GlobalStyles.tsx @@ -15,7 +15,7 @@ const GlobalStyles = ({ children }: { children: React.ReactNode }) => { html { font-size: 18px; color: ${colors('black')}; - background: ${colors('lightYellow1')}; + background: ${colors('lightYellow2')}; line-height: ${lineHeights(1.6)}; } diff --git a/src/lib/theme/colors.ts b/src/lib/theme/colors.ts index f67aa0e..14b525a 100644 --- a/src/lib/theme/colors.ts +++ b/src/lib/theme/colors.ts @@ -1,6 +1,7 @@ export const allColors = { black: '#260808', - lightYellow1: '#FEF6E1' + lightYellow1: '#FEF5DD', + lightYellow2: '#FFE8BF' } const colors = (x: keyof typeof allColors) => allColors[x] diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 380efd6..2bcff3e 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,11 +1,13 @@ import React from 'react' import Page from 'src/components/Page' +import Emoji from 'src/components/Emoji' const Index = () => (

+ Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! Hello - World! Hello World! Hello World! Hello World! Hello World!{' '} + World!{' '}

) diff --git a/yarn.lock b/yarn.lock index 606dc88..bfe6931 100644 --- a/yarn.lock +++ b/yarn.lock @@ -60,6 +60,26 @@ semver "^5.4.1" source-map "^0.5.0" +"@babel/core@^7.4.5": + version "7.7.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.7.2.tgz#ea5b99693bcfc058116f42fa1dd54da412b29d91" + integrity sha512-eeD7VEZKfhK1KUXGiyPFettgF3m513f8FoBSWiQ1xTvl1RAopLs42Wp9+Ze911I6H0N9lNqJMDgoZT7gHsipeQ== + dependencies: + "@babel/code-frame" "^7.5.5" + "@babel/generator" "^7.7.2" + "@babel/helpers" "^7.7.0" + "@babel/parser" "^7.7.2" + "@babel/template" "^7.7.0" + "@babel/traverse" "^7.7.2" + "@babel/types" "^7.7.2" + convert-source-map "^1.7.0" + debug "^4.1.0" + json5 "^2.1.0" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + "@babel/generator@^7.6.4", "@babel/generator@^7.7.2": version "7.7.2" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.7.2.tgz#2f4852d04131a5e17ea4f6645488b5da66ebf3af" @@ -253,7 +273,7 @@ "@babel/traverse" "^7.7.0" "@babel/types" "^7.7.0" -"@babel/helpers@^7.6.2": +"@babel/helpers@^7.6.2", "@babel/helpers@^7.7.0": version "7.7.0" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.7.0.tgz#359bb5ac3b4726f7c1fde0ec75f64b3f4275d60b" integrity sha512-VnNwL4YOhbejHb7x/b5F39Zdg5vIQpUUNzJwx0ww1EcVRt41bbGRZWhAURrfY32T5zTT3qwNOQFWpn+P0i0a2g== @@ -793,7 +813,7 @@ "@babel/parser" "^7.7.0" "@babel/types" "^7.7.0" -"@babel/traverse@^7.0.0", "@babel/traverse@^7.6.3", "@babel/traverse@^7.7.0": +"@babel/traverse@^7.0.0", "@babel/traverse@^7.6.3", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.2": version "7.7.2" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.7.2.tgz#ef0a65e07a2f3c550967366b3d9b62a2dcbeae09" integrity sha512-TM01cXib2+rgIZrGJOLaHV/iZUAxf4A0dt5auY6KNZ+cm6aschuJGqKJM3ROTt3raPUdIDk9siAufIFEleRwtw== @@ -808,7 +828,7 @@ globals "^11.1.0" lodash "^4.17.13" -"@babel/types@^7.0.0", "@babel/types@^7.6.3", "@babel/types@^7.7.0", "@babel/types@^7.7.2": +"@babel/types@^7.0.0", "@babel/types@^7.4.4", "@babel/types@^7.6.3", "@babel/types@^7.7.0", "@babel/types@^7.7.2": version "7.7.2" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.7.2.tgz#550b82e5571dcd174af576e23f0adba7ffc683f7" integrity sha512-YTf6PXoh3+eZgRCBzzP25Bugd2ngmpQVrk7kXX0i5N9BO7TFBtIgZYs7WtxtOGs8e6A4ZI7ECkbBCEHeXocvOA== @@ -924,6 +944,120 @@ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.4.tgz#622a72bebd1e3f48d921563b4b60a762295a81fc" integrity sha512-6PYY5DVdAY1ifaQW6XYTnOMihmBVT27elqSjEoodchsGjzYlEsTQMcEhSud99kVawatyTZRTiVkJ/c6lwbQ7nA== +"@svgr/babel-plugin-add-jsx-attribute@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz#dadcb6218503532d6884b210e7f3c502caaa44b1" + integrity sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig== + +"@svgr/babel-plugin-remove-jsx-attribute@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz#297550b9a8c0c7337bea12bdfc8a80bb66f85abc" + integrity sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ== + +"@svgr/babel-plugin-remove-jsx-empty-expression@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz#c196302f3e68eab6a05e98af9ca8570bc13131c7" + integrity sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w== + +"@svgr/babel-plugin-replace-jsx-attribute-value@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz#310ec0775de808a6a2e4fd4268c245fd734c1165" + integrity sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w== + +"@svgr/babel-plugin-svg-dynamic-title@^4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz#2cdedd747e5b1b29ed4c241e46256aac8110dd93" + integrity sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w== + +"@svgr/babel-plugin-svg-em-dimensions@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz#9a94791c9a288108d20a9d2cc64cac820f141391" + integrity sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w== + +"@svgr/babel-plugin-transform-react-native-svg@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz#151487322843359a1ca86b21a3815fd21a88b717" + integrity sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw== + +"@svgr/babel-plugin-transform-svg-component@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz#5f1e2f886b2c85c67e76da42f0f6be1b1767b697" + integrity sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw== + +"@svgr/babel-preset@^4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.3.tgz#a75d8c2f202ac0e5774e6bfc165d028b39a1316c" + integrity sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "^4.2.0" + "@svgr/babel-plugin-remove-jsx-attribute" "^4.2.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "^4.2.0" + "@svgr/babel-plugin-replace-jsx-attribute-value" "^4.2.0" + "@svgr/babel-plugin-svg-dynamic-title" "^4.3.3" + "@svgr/babel-plugin-svg-em-dimensions" "^4.2.0" + "@svgr/babel-plugin-transform-react-native-svg" "^4.2.0" + "@svgr/babel-plugin-transform-svg-component" "^4.2.0" + +"@svgr/cli@^4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@svgr/cli/-/cli-4.3.3.tgz#90b3acd1e1067b73a4dd6a768eea86d0dccf975c" + integrity sha512-FHsb9+2zMy9XZgEBFEh+1iofE0TBQn7OnJ9JF/2YimdyE93u2/j1p1K71+rJQ0GWKy96aSSbFWkRVR1i3zATOQ== + dependencies: + "@svgr/core" "^4.3.3" + "@svgr/plugin-jsx" "^4.3.3" + "@svgr/plugin-prettier" "^4.3.2" + "@svgr/plugin-svgo" "^4.3.1" + camelcase "^5.3.1" + chalk "^2.4.2" + commander "^2.20.0" + dashify "^2.0.0" + glob "^7.1.4" + output-file-sync "^2.0.1" + recursive-readdir "^2.2.2" + +"@svgr/core@^4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.3.tgz#b37b89d5b757dc66e8c74156d00c368338d24293" + integrity sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w== + dependencies: + "@svgr/plugin-jsx" "^4.3.3" + camelcase "^5.3.1" + cosmiconfig "^5.2.1" + +"@svgr/hast-util-to-babel-ast@^4.3.2": + version "4.3.2" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz#1d5a082f7b929ef8f1f578950238f630e14532b8" + integrity sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg== + dependencies: + "@babel/types" "^7.4.4" + +"@svgr/plugin-jsx@^4.3.3": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz#e2ba913dbdfbe85252a34db101abc7ebd50992fa" + integrity sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w== + dependencies: + "@babel/core" "^7.4.5" + "@svgr/babel-preset" "^4.3.3" + "@svgr/hast-util-to-babel-ast" "^4.3.2" + svg-parser "^2.0.0" + +"@svgr/plugin-prettier@^4.3.2": + version "4.3.2" + resolved "https://registry.yarnpkg.com/@svgr/plugin-prettier/-/plugin-prettier-4.3.2.tgz#41a95cf0c52a58e2d9841434d227e120d7d533f7" + integrity sha512-GErOZQ0n/OinFDjyXg9svfVRNWP+18qqIxsc/9xRoRY7R/cPlnXkadLF7NdgDgSP2BYtt7XGcZ9TU+Skr1B3tw== + dependencies: + merge-deep "^3.0.2" + prettier "^1.17.1" + +"@svgr/plugin-svgo@^4.3.1": + version "4.3.1" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz#daac0a3d872e3f55935c6588dd370336865e9e32" + integrity sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w== + dependencies: + cosmiconfig "^5.2.1" + merge-deep "^3.0.2" + svgo "^1.2.2" + "@types/color-convert@*": version "1.9.0" resolved "https://registry.yarnpkg.com/@types/color-convert/-/color-convert-1.9.0.tgz#bfa8203e41e7c65471e9841d7e306a7cd8b5172d" @@ -973,6 +1107,11 @@ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== +"@types/q@^1.5.1": + version "1.5.2" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" + integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw== + "@types/react-dom@^16.9.4": version "16.9.4" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.4.tgz#0b58df09a60961dcb77f62d4f1832427513420df" @@ -1585,6 +1724,11 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -1889,11 +2033,31 @@ cli-width@^2.0.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= +clone-deep@^0.2.4: + version "0.2.4" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6" + integrity sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY= + dependencies: + for-own "^0.1.3" + is-plain-object "^2.0.1" + kind-of "^3.0.2" + lazy-cache "^1.0.3" + shallow-clone "^0.1.2" + clone@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" + integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== + dependencies: + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" @@ -2047,7 +2211,7 @@ convert-source-map@1.6.0: dependencies: safe-buffer "~5.1.1" -convert-source-map@^1.1.0, convert-source-map@^1.5.0: +convert-source-map@^1.1.0, convert-source-map@^1.5.0, convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== @@ -2094,7 +2258,7 @@ core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -cosmiconfig@^5.0.0, cosmiconfig@^5.2.0: +cosmiconfig@^5.0.0, cosmiconfig@^5.2.0, cosmiconfig@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== @@ -2203,6 +2367,34 @@ css-prefers-color-scheme@^3.1.1: dependencies: postcss "^7.0.5" +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== + +css-select@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" + integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" + integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + +css-what@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.2.1.tgz#f4a8f12421064621b456755e34a03a2c22df5da1" + integrity sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw== + css@2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" @@ -2243,6 +2435,13 @@ cssnano-simple@1.0.0: cssnano-preset-simple "^1.0.0" postcss "^7.0.18" +csso@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.0.2.tgz#e5f81ab3a56b8eefb7f0092ce7279329f454de3d" + integrity sha512-kS7/oeNVXkHWxby5tHVxlhjizRCSv8QdU7hB2FpdAibDU8FjTAolhNjKNTiLzXtUrKT6HwClE81yXwEk1309wg== + dependencies: + css-tree "1.0.0-alpha.37" + csstype@^2.2.0, csstype@^2.5.7: version "2.6.7" resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.7.tgz#20b0024c20b6718f4eda3853a1f5a1cce7f5e4a5" @@ -2253,6 +2452,11 @@ cyclist@^1.0.1: resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= +dashify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dashify/-/dashify-2.0.0.tgz#fff270ca2868ca427fee571de35691d6e437a648" + integrity sha512-hpA5C/YrPjucXypHPPc0oJ1l9Hf6wWbiOL7Ik42cxnsUOhWiCB/fylKbKqqJalW9FgkNQCw16YO8uW9Hs0Iy1A== + debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -2401,11 +2605,37 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +dom-serializer@0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + domain-browser@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== +domelementtype@1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + +domelementtype@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" + integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ== + +domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + dot-prop@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" @@ -2482,6 +2712,11 @@ enhanced-resolve@^4.1.0: memory-fs "^0.5.0" tapable "^1.0.0" +entities@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4" + integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw== + env-paths@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" @@ -2501,7 +2736,7 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.12.0, es-abstract@^1.15.0, es-abstract@^1.7.0: +es-abstract@^1.12.0, es-abstract@^1.15.0, es-abstract@^1.5.1, es-abstract@^1.7.0: version "1.16.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.16.0.tgz#d3a26dc9c3283ac9750dca569586e976d9dcc06d" integrity sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg== @@ -2909,11 +3144,23 @@ flush-write-stream@^1.0.0: inherits "^2.0.3" readable-stream "^2.3.6" -for-in@^1.0.2: +for-in@^0.1.3: + version "0.1.8" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" + integrity sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE= + +for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= +for-own@^0.1.3: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= + dependencies: + for-in "^1.0.1" + fork-ts-checker-webpack-plugin@1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.3.4.tgz#a75b6fe8d3db0089555f083c4f77372227704244" @@ -3363,7 +3610,7 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" -is-buffer@^1.1.5: +is-buffer@^1.0.2, is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== @@ -3499,12 +3746,12 @@ is-path-inside@^1.0.0: dependencies: path-is-inside "^1.0.1" -is-plain-obj@^1.0.0: +is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= -is-plain-object@^2.0.3, is-plain-object@^2.0.4: +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== @@ -3655,6 +3902,13 @@ jsx-ast-utils@^2.2.1: array-includes "^3.0.3" object.assign "^4.1.0" +kind-of@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5" + integrity sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU= + dependencies: + is-buffer "^1.0.2" + kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -3687,6 +3941,16 @@ launch-editor@2.2.1: chalk "^2.3.0" shell-quote "^1.6.1" +lazy-cache@^0.2.3: + version "0.2.7" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65" + integrity sha1-f+3fLctu23fRHvHRF6tf/fCrG2U= + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= + levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -3846,6 +4110,11 @@ md5.js@^1.3.4: inherits "^2.0.1" safe-buffer "^5.1.2" +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== + memory-fs@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" @@ -3862,6 +4131,15 @@ memory-fs@^0.5.0: errno "^0.1.3" readable-stream "^2.0.1" +merge-deep@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2" + integrity sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA== + dependencies: + arr-union "^3.1.0" + clone-deep "^0.2.4" + kind-of "^3.0.2" + merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" @@ -3956,7 +4234,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -minimatch@^3.0.4: +minimatch@3.0.4, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -4012,7 +4290,15 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1: +mixin-object@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" + integrity sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4= + dependencies: + for-in "^0.1.3" + is-extendable "^0.1.1" + +mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= @@ -4305,6 +4591,13 @@ npmlog@^4.0.2: gauge "~2.7.3" set-blocking "~2.0.0" +nth-check@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + num2fraction@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" @@ -4376,6 +4669,14 @@ object.fromentries@^2.0.0: function-bind "^1.1.1" has "^1.0.3" +object.getownpropertydescriptors@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.1" + object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" @@ -4473,6 +4774,15 @@ osenv@^0.1.4: os-homedir "^1.0.0" os-tmpdir "^1.0.0" +output-file-sync@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-2.0.1.tgz#f53118282f5f553c2799541792b723a4c71430c0" + integrity sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ== + dependencies: + graceful-fs "^4.1.11" + is-plain-obj "^1.1.0" + mkdirp "^0.5.1" + p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" @@ -5094,7 +5404,7 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^1.19.1: +prettier@^1.17.1, prettier@^1.19.1: version "1.19.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== @@ -5211,6 +5521,11 @@ punycode@^2.1.0: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== +q@^1.1.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + query-string@^4.1.0: version "4.3.4" resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" @@ -5342,6 +5657,13 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" +recursive-readdir@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" + integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg== + dependencies: + minimatch "3.0.4" + reflect.ownkeys@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz#749aceec7f3fdf8b63f927a04809e90c5c0b3460" @@ -5541,7 +5863,7 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sax@^1.2.4: +sax@^1.2.4, sax@~1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== @@ -5638,6 +5960,16 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" +shallow-clone@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060" + integrity sha1-WQnodLp3EG1zrEFM/sH/yofZcGA= + dependencies: + is-extendable "^0.1.1" + kind-of "^2.0.1" + lazy-cache "^0.2.3" + mixin-object "^2.0.1" + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -5802,6 +6134,11 @@ ssri@^6.0.1: dependencies: figgy-pudding "^3.5.1" +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -6009,6 +6346,30 @@ supports-color@^6.1.0: dependencies: has-flag "^3.0.0" +svg-parser@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.2.tgz#d134cc396fa2681dc64f518330784e98bd801ec8" + integrity sha512-1gtApepKFweigFZj3sGO8KT8LvVZK8io146EzXrpVuWCDAbISz/yMucco3hWTkpZNoPabM+dnMOpy6Swue68Zg== + +svgo@^1.2.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" + integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== + dependencies: + chalk "^2.4.1" + coa "^2.0.2" + css-select "^2.0.0" + css-select-base-adapter "^0.1.1" + css-tree "1.0.0-alpha.37" + csso "^4.0.2" + js-yaml "^3.13.1" + mkdirp "~0.5.1" + object.values "^1.1.0" + sax "~1.2.4" + stable "^0.1.8" + unquote "~1.1.1" + util.promisify "~1.0.0" + table@^5.2.3: version "5.4.6" resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" @@ -6265,6 +6626,11 @@ unpipe@1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + unset-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" @@ -6313,6 +6679,14 @@ util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= +util.promisify@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + util@0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" From a543fc48e2e13f5a3999ffc787f4630f6bd702a6 Mon Sep 17 00:00:00 2001 From: Shu Uesugi Date: Tue, 12 Nov 2019 10:10:35 -0800 Subject: [PATCH 06/11] Bubble quote support --- src/components/BubbleQuotes.tsx | 74 ++++++++++++++++++++++++++++ src/components/ContentTags/P.tsx | 17 +++++++ src/components/ContentTags/index.tsx | 1 + src/components/ThemeContext.tsx | 5 +- src/lib/theme/fontSizes.ts | 1 + src/lib/theme/lineHeights.ts | 1 + src/lib/theme/radii.ts | 9 ++++ src/lib/theme/spaces.ts | 3 +- src/pages/index.tsx | 24 ++++++--- 9 files changed, 127 insertions(+), 8 deletions(-) create mode 100644 src/components/BubbleQuotes.tsx create mode 100644 src/components/ContentTags/P.tsx create mode 100644 src/components/ContentTags/index.tsx create mode 100644 src/lib/theme/radii.ts diff --git a/src/components/BubbleQuotes.tsx b/src/components/BubbleQuotes.tsx new file mode 100644 index 0000000..0c84474 --- /dev/null +++ b/src/components/BubbleQuotes.tsx @@ -0,0 +1,74 @@ +/** @jsx jsx */ +import { css, jsx } from '@emotion/core' +import Emoji, { emojiToComponent } from 'src/components/Emoji' +import useTheme from 'src/hooks/useTheme' + +interface BubbleQuoteProps { + type: keyof typeof emojiToComponent + children: React.ReactNode +} + +type Size = 'md' | 'lg' + +const BubbleQuotes = ({ + quotes, + size = 'md' +}: { + quotes: readonly BubbleQuoteProps[] + size: Size +}) => { + const { ns, spaces, radii, colors, fontSizes, lineHeights } = useTheme() + return ( +
+ {quotes.map(({ type, children }, index) => ( +
+
+ +
+
+ {children} +
+
+ ))} +
+ ) +} + +export default BubbleQuotes diff --git a/src/components/ContentTags/P.tsx b/src/components/ContentTags/P.tsx new file mode 100644 index 0000000..1266d41 --- /dev/null +++ b/src/components/ContentTags/P.tsx @@ -0,0 +1,17 @@ +/** @jsx jsx */ +import { css, jsx } from '@emotion/core' +import useTheme from 'src/hooks/useTheme' + +export const P = (props: JSX.IntrinsicElements['p']) => { + const { spaces } = useTheme() + return ( +

+ ) +} diff --git a/src/components/ContentTags/index.tsx b/src/components/ContentTags/index.tsx new file mode 100644 index 0000000..207a07f --- /dev/null +++ b/src/components/ContentTags/index.tsx @@ -0,0 +1 @@ +export { P } from 'src/components/ContentTags/P' diff --git a/src/components/ThemeContext.tsx b/src/components/ThemeContext.tsx index 08663cf..15ac971 100644 --- a/src/components/ThemeContext.tsx +++ b/src/components/ThemeContext.tsx @@ -6,6 +6,7 @@ import maxWidths from 'src/lib/theme/maxWidths' import spaces from 'src/lib/theme/spaces' import fontSizes from 'src/lib/theme/fontSizes' import letterSpacings from 'src/lib/theme/letterSpacings' +import radii from 'src/lib/theme/radii' export interface ThemeProps { lineHeights: typeof lineHeights @@ -15,6 +16,7 @@ export interface ThemeProps { spaces: typeof spaces fontSizes: typeof fontSizes letterSpacings: typeof letterSpacings + radii: typeof radii } export const themeContextDefault: ThemeProps = { @@ -24,7 +26,8 @@ export const themeContextDefault: ThemeProps = { maxWidths, spaces, fontSizes, - letterSpacings + letterSpacings, + radii } export default createContext(themeContextDefault) diff --git a/src/lib/theme/fontSizes.ts b/src/lib/theme/fontSizes.ts index f43b814..2419720 100644 --- a/src/lib/theme/fontSizes.ts +++ b/src/lib/theme/fontSizes.ts @@ -8,6 +8,7 @@ export const allFontSizes = { 2: 2, 2.5: 2.5, 3: 3, + 4: 4, 5: 5 } diff --git a/src/lib/theme/lineHeights.ts b/src/lib/theme/lineHeights.ts index 15949e2..63ff333 100644 --- a/src/lib/theme/lineHeights.ts +++ b/src/lib/theme/lineHeights.ts @@ -2,6 +2,7 @@ export const allLineHeights = { 1: 1, 1.1: 1.1, 1.3: 1.3, + 1.5: 1.5, 1.6: 1.6 } diff --git a/src/lib/theme/radii.ts b/src/lib/theme/radii.ts new file mode 100644 index 0000000..3a4e12f --- /dev/null +++ b/src/lib/theme/radii.ts @@ -0,0 +1,9 @@ +export const allRadii = { + 0.25: '0.25rem', + 0.5: '0.5rem', + 9999: '9999px' +} + +const radii = (x: keyof typeof allRadii) => allRadii[x] + +export default radii diff --git a/src/lib/theme/spaces.ts b/src/lib/theme/spaces.ts index 0702400..fa2cb4c 100644 --- a/src/lib/theme/spaces.ts +++ b/src/lib/theme/spaces.ts @@ -38,6 +38,7 @@ export const allSpaces = { 8: 8 } -const spaces = (x: keyof typeof allSpaces) => `${allSpaces[x]}rem` +const spaces = (x: keyof typeof allSpaces, useEm?: boolean) => + `${allSpaces[x]}${useEm ? 'em' : 'rem'}` export default spaces diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 2bcff3e..927eaec 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,14 +1,26 @@ import React from 'react' import Page from 'src/components/Page' -import Emoji from 'src/components/Emoji' +import BubbleQuotes from 'src/components/BubbleQuotes' +import { P } from 'src/components/ContentTags' const Index = () => ( -

- Hello World! Hello World! Hello World! Hello World! - Hello World! Hello World! Hello World! Hello World! Hello World! Hello - World!{' '} -

+ +

+ Hello World! Hello World! Hello World! Hello World! Hello World! + Hello World! Hello World! Hello World! Hello World! Hello World!{' '} +

+ + ) + } + ]} + /> ) From 9bbb653ee401b142bfcd3956c710684ceed1e635 Mon Sep 17 00:00:00 2001 From: Shu Uesugi Date: Tue, 12 Nov 2019 10:13:41 -0800 Subject: [PATCH 07/11] turn off eslint warning --- .eslintrc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.eslintrc b/.eslintrc index 69d7ea9..a41451c 100644 --- a/.eslintrc +++ b/.eslintrc @@ -26,7 +26,8 @@ "jsx-a11y/accessible-emoji": "off", "jsx-a11y/iframe-has-title": "off", "react-hooks/rules-of-hooks": "error", - "react-hooks/exhaustive-deps": "warn" + "react-hooks/exhaustive-deps": "warn", + "react/no-unescaped-entities": 0 }, "overrides": [ { From c15c0063cb2269003989d05387ff04de8a445147 Mon Sep 17 00:00:00 2001 From: Shu Uesugi Date: Tue, 12 Nov 2019 10:50:08 -0800 Subject: [PATCH 08/11] Add intro quote --- src/components/Page.tsx | 29 ++++++++++++++++++++--------- src/pages/index.tsx | 14 ++++++++++++-- 2 files changed, 32 insertions(+), 11 deletions(-) diff --git a/src/components/Page.tsx b/src/components/Page.tsx index 165c440..70c5918 100644 --- a/src/components/Page.tsx +++ b/src/components/Page.tsx @@ -1,7 +1,9 @@ -import React from 'react' +/** @jsx jsx */ +import { css, jsx } from '@emotion/core' import GlobalStyles from 'src/components/GlobalStyles' import Container from 'src/components/Container' import Header from 'src/components/Header' +import useTheme from 'src/hooks/useTheme' const Page = ({ children, @@ -9,13 +11,22 @@ const Page = ({ }: { children: React.ReactNode index?: boolean -}) => ( - <> - -
- {children} - - -) +}) => { + const { spaces } = useTheme() + return ( + <> + +
+ + {children} + + + + ) +} export default Page diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 927eaec..bd8f66a 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -13,8 +13,18 @@ const Index = () => ( children: ( <>

- Hello World! Hello World! Hello World! Hello World! Hello World! - Hello World! Hello World! Hello World! Hello World! Hello World!{' '} + Hello! I write tutorials that might help{' '} + beginner programmers learn TypeScript. They might NOT + be as useful for experienced programmers who are new to + TypeScript. +

+

+ Why targeting beginner programmers? As + TypeScript is becoming popular, I believe that more beginner + programmers (people with only a few months of coding experience) + will be learning it,{' '} + possibly as one of their first languages. So I wanted + to create tutorials specifically targeting beginner programmers.

) From 9ef330e766e252b7560934b74d4da1a153c4e6e9 Mon Sep 17 00:00:00 2001 From: Shu Uesugi Date: Wed, 13 Nov 2019 17:02:02 -0800 Subject: [PATCH 09/11] Add favicon --- README.md | 7 ++ public/android-chrome-192x192.png | Bin 0 -> 9291 bytes public/android-chrome-512x512.png | Bin 0 -> 25986 bytes public/apple-touch-icon.png | Bin 0 -> 8590 bytes public/browserconfig.xml | 9 ++ public/favicon-16x16.png | Bin 0 -> 942 bytes public/favicon-32x32.png | Bin 0 -> 1579 bytes public/favicon.ico | Bin 0 -> 15086 bytes public/mstile-144x144.png | Bin 0 -> 6834 bytes public/mstile-150x150.png | Bin 0 -> 6782 bytes public/mstile-310x150.png | Bin 0 -> 7328 bytes public/mstile-310x310.png | Bin 0 -> 14674 bytes public/mstile-70x70.png | Bin 0 -> 4757 bytes public/safari-pinned-tab.svg | 30 ++++++ public/site.webmanifest | 19 ++++ src/components/InternalLink.tsx | 15 +++ src/components/Page.tsx | 26 ++++- src/lib/articles.ts | 13 +++ src/lib/date.ts | 10 ++ src/lib/theme/colors.ts | 3 +- src/lib/theme/letterSpacings.ts | 3 +- src/lib/theme/spaces.ts | 4 +- src/pages/index.tsx | 152 ++++++++++++++++++++++++------ 23 files changed, 256 insertions(+), 35 deletions(-) create mode 100644 public/android-chrome-192x192.png create mode 100644 public/android-chrome-512x512.png create mode 100644 public/apple-touch-icon.png create mode 100644 public/browserconfig.xml create mode 100644 public/favicon-16x16.png create mode 100644 public/favicon-32x32.png create mode 100644 public/favicon.ico create mode 100644 public/mstile-144x144.png create mode 100644 public/mstile-150x150.png create mode 100644 public/mstile-310x150.png create mode 100644 public/mstile-310x310.png create mode 100644 public/mstile-70x70.png create mode 100644 public/safari-pinned-tab.svg create mode 100644 public/site.webmanifest create mode 100644 src/components/InternalLink.tsx create mode 100644 src/lib/articles.ts create mode 100644 src/lib/date.ts diff --git a/README.md b/README.md index e69de29..424ef00 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,7 @@ +# [TypeScript for Beginner Programmers](https://ts.chibicode.com/) + +## License & Credits + +- For emojis, I’m using [Twemoji](https://github.com/twitter/twemoji) by Twitter (CC-BY 4.0 license). +- The text for this course is licensed under [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/). +- Everything else is licensed under the [MIT](docs/license-non-text.txt) license. \ No newline at end of file diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..7f0830307df70abb53d1265b6ddbdf06c3c6e2d0 GIT binary patch literal 9291 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

BpRLaR5*c|UEUt8Xw$*S<`O3B!{ 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 Kq{}5uLjDhLy7wXg literal 0 HcmV?d00001 diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..28ba8583e3d6e0d3bac16a5412a35ff3f4124413 GIT binary patch literal 25986 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 AK>z>% literal 0 HcmV?d00001 diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2bb4307fb48a1fdd0bd9a6a1527a29ff23c3c1a8 GIT binary patch literal 8590 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 E7w~g!ApigX literal 0 HcmV?d00001 diff --git a/public/browserconfig.xml b/public/browserconfig.xml new file mode 100644 index 0000000..b3930d0 --- /dev/null +++ b/public/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #da532c + + + diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..89e45babc542d012a6ce0fd52d18bb911bf597a4 GIT binary patch literal 942 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 SLb?u1Kn$8I^=FFT>AwNBZxwU^ literal 0 HcmV?d00001 diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c5ce15eac68f6554570079d91f4a40ddef746257 GIT binary patch literal 15086 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 Cf<$Zp literal 0 HcmV?d00001 diff --git a/public/mstile-144x144.png b/public/mstile-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..dd2fd7ac66b633193afba7b1394360abe6144c57 GIT binary patch literal 6834 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 Y8_e{c`wwMO2~z;H9_eYI9$JO`7aE!_wEzGB literal 0 HcmV?d00001 diff --git a/public/mstile-310x150.png b/public/mstile-310x150.png new file mode 100644 index 0000000000000000000000000000000000000000..bb56aea321e2ed3448aa20b0244404a367c460b4 GIT binary patch literal 7328 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 x33gZ#FjZNzj__~e*o}K?Ogx> literal 0 HcmV?d00001 diff --git a/public/mstile-70x70.png b/public/mstile-70x70.png new file mode 100644 index 0000000000000000000000000000000000000000..75adc22de8a6c4b96c12bd5b3841e00904bf5356 GIT binary patch literal 4757 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 literal 0 HcmV?d00001 diff --git a/public/safari-pinned-tab.svg b/public/safari-pinned-tab.svg new file mode 100644 index 0000000..86e2a20 --- /dev/null +++ b/public/safari-pinned-tab.svg @@ -0,0 +1,30 @@ + + + + +Created by potrace 1.11, written by Peter Selinger 2001-2013 + + + + + diff --git a/public/site.webmanifest b/public/site.webmanifest new file mode 100644 index 0000000..b20abb7 --- /dev/null +++ b/public/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/src/components/InternalLink.tsx b/src/components/InternalLink.tsx new file mode 100644 index 0000000..a40334a --- /dev/null +++ b/src/components/InternalLink.tsx @@ -0,0 +1,15 @@ +import React from 'react' +import Link from 'next/link' + +const InternalLink = ({ + href, + ...props +}: JSX.IntrinsicElements['a'] & { + href: string +}) => ( + + + +) + +export default InternalLink diff --git a/src/components/Page.tsx b/src/components/Page.tsx index 70c5918..cd1897b 100644 --- a/src/components/Page.tsx +++ b/src/components/Page.tsx @@ -1,6 +1,7 @@ /** @jsx jsx */ import { css, jsx } from '@emotion/core' import GlobalStyles from 'src/components/GlobalStyles' +import Head from 'next/head' import Container from 'src/components/Container' import Header from 'src/components/Header' import useTheme from 'src/hooks/useTheme' @@ -15,11 +16,34 @@ const Page = ({ const { spaces } = useTheme() return ( <> + + + + + + + + +

{children} diff --git a/src/lib/articles.ts b/src/lib/articles.ts new file mode 100644 index 0000000..0e224dd --- /dev/null +++ b/src/lib/articles.ts @@ -0,0 +1,13 @@ +import { DateTime } from 'luxon' + +export const articlesList: ReadonlyArray = [ + 'generics' +] + +export const articlesData = { + generics: { + title: + 'TypeScript Generics for People Who Gave Up on Understanding Generics', + date: DateTime.fromISO('2019-12-01T12:00:00Z') + } +} diff --git a/src/lib/date.ts b/src/lib/date.ts new file mode 100644 index 0000000..96d5676 --- /dev/null +++ b/src/lib/date.ts @@ -0,0 +1,10 @@ +import { DateTime } from 'luxon' + +export const dateString = (date: DateTime) => + date + .setLocale('en') + .setZone('America/Los_Angeles') + .toFormat('LLL d, yyyy') + +export const dateSchemaString = (date: DateTime) => + date.setZone('America/Los_Angeles').toISO() diff --git a/src/lib/theme/colors.ts b/src/lib/theme/colors.ts index 14b525a..54512e5 100644 --- a/src/lib/theme/colors.ts +++ b/src/lib/theme/colors.ts @@ -1,7 +1,8 @@ export const allColors = { black: '#260808', lightYellow1: '#FEF5DD', - lightYellow2: '#FFE8BF' + lightYellow2: '#FFE8BF', + brown: '#917340' } const colors = (x: keyof typeof allColors) => allColors[x] diff --git a/src/lib/theme/letterSpacings.ts b/src/lib/theme/letterSpacings.ts index 6429099..438fcf1 100644 --- a/src/lib/theme/letterSpacings.ts +++ b/src/lib/theme/letterSpacings.ts @@ -1,5 +1,6 @@ export const allLetterSpacings = { - title: '-0.025em' + title: '-0.025em', + wide: '0.2em' } const letterSpacings = (x: keyof typeof allLetterSpacings) => diff --git a/src/lib/theme/spaces.ts b/src/lib/theme/spaces.ts index fa2cb4c..945f110 100644 --- a/src/lib/theme/spaces.ts +++ b/src/lib/theme/spaces.ts @@ -17,6 +17,7 @@ export const allSpaces = { '-6': -6, '-7': -7, '-8': -8, + '-12': -12, 0: 0, 0.125: 0.125, 0.25: 0.25, @@ -35,7 +36,8 @@ export const allSpaces = { 5: 5, 6: 6, 7: 7, - 8: 8 + 8: 8, + 12: 12 } const spaces = (x: keyof typeof allSpaces, useEm?: boolean) => diff --git a/src/pages/index.tsx b/src/pages/index.tsx index bd8f66a..71b27a1 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,37 +1,127 @@ -import React from 'react' +/** @jsx jsx */ +import { css, jsx } from '@emotion/core' import Page from 'src/components/Page' import BubbleQuotes from 'src/components/BubbleQuotes' import { P } from 'src/components/ContentTags' +import InternalLink from 'src/components/InternalLink' +import useTheme from 'src/hooks/useTheme' +import { articlesList, articlesData } from 'src/lib/articles' +import { dateString } from 'src/lib/date' -const Index = () => ( - - -

- Hello! I write tutorials that might help{' '} - beginner programmers learn TypeScript. They might NOT - be as useful for experienced programmers who are new to - TypeScript. -

-

- Why targeting beginner programmers? As - TypeScript is becoming popular, I believe that more beginner - programmers (people with only a few months of coding experience) - will be learning it,{' '} - possibly as one of their first languages. So I wanted - to create tutorials specifically targeting beginner programmers. -

- - ) - } - ]} - /> -
-) +const ArticleLink = ({ + title, + href, + date +}: { + title: string + href: string + date: string +}) => { + const { colors, ns, fontSizes, spaces, lineHeights } = useTheme() + return ( +
  • +

    + + {title} + +

    +

    + {date} +

    +
  • + ) +} + +const Index = () => { + const { spaces, fontSizes, letterSpacings, colors } = useTheme() + return ( + + +

    + Hello! I write tutorials that might help{' '} + beginner programmers learn TypeScript. They might NOT + be as useful for experienced programmers who are new to + TypeScript. +

    +

    + Why targeting beginner programmers? As + TypeScript is becoming popular, I believe that more beginner + programmers (people with only a few months of coding + experience) will be learning it,{' '} + possibly as one of their first languages. So I wanted + to create tutorials specifically targeting beginner + programmers. +

    + + ) + } + ]} + /> +

    + Articles +

    +
      + {articlesList.map(articleKey => ( + + ))} +
    +
    + ) +} export default Index From fa887245561b6fcb46b85c0f5bf899326858906f Mon Sep 17 00:00:00 2001 From: Shu Uesugi Date: Wed, 13 Nov 2019 17:03:50 -0800 Subject: [PATCH 10/11] Add Page --- src/components/Page.tsx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/components/Page.tsx b/src/components/Page.tsx index cd1897b..3c24179 100644 --- a/src/components/Page.tsx +++ b/src/components/Page.tsx @@ -17,6 +17,18 @@ const Page = ({ return ( <> + + + + + + + + + Date: Thu, 14 Nov 2019 08:10:02 -0800 Subject: [PATCH 11/11] Finish index page --- public/images/og-generics.png | Bin 0 -> 71678 bytes public/images/og-index.png | Bin 0 -> 63793 bytes src/components/BubbleQuotes.tsx | 2 +- src/components/Header.tsx | 36 ++++++++++++++++++++++------ src/components/Page.tsx | 1 - src/components/PostPage.tsx | 41 ++++++++++++++++++++++++++++++++ src/lib/articles.ts | 4 +++- src/lib/meta.ts | 9 +++++++ src/pages/generics.tsx | 6 +++++ src/pages/index.tsx | 24 ++++++++++++++++--- 10 files changed, 110 insertions(+), 13 deletions(-) create mode 100644 public/images/og-generics.png create mode 100644 public/images/og-index.png create mode 100644 src/components/PostPage.tsx create mode 100644 src/lib/meta.ts create mode 100644 src/pages/generics.tsx diff --git a/public/images/og-generics.png b/public/images/og-generics.png new file mode 100644 index 0000000000000000000000000000000000000000..63549f594d50eca50b1dd5441c36ad403f84a715 GIT binary patch literal 71678 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

    {ex9tA*dhwRC_~Mbp2k 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 N?2XjxyqE7i{|7b@tkeJi literal 0 HcmV?d00001 diff --git a/public/images/og-index.png b/public/images/og-index.png new file mode 100644 index 0000000000000000000000000000000000000000..f7944b48db5df5e2d105569d49b937a943e05b78 GIT binary patch literal 63793 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 Di9cn| literal 0 HcmV?d00001 diff --git a/src/components/BubbleQuotes.tsx b/src/components/BubbleQuotes.tsx index 0c84474..a5566bb 100644 --- a/src/components/BubbleQuotes.tsx +++ b/src/components/BubbleQuotes.tsx @@ -15,7 +15,7 @@ const BubbleQuotes = ({ size = 'md' }: { quotes: readonly BubbleQuoteProps[] - size: Size + size?: Size }) => { const { ns, spaces, radii, colors, fontSizes, lineHeights } = useTheme() return ( diff --git a/src/components/Header.tsx b/src/components/Header.tsx index f694ce2..83dacbe 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -2,9 +2,30 @@ import { css, jsx } from '@emotion/core' import Container from 'src/components/Container' import useTheme from 'src/hooks/useTheme' +import { siteTitle } from 'src/lib/meta' +import InternalLink from 'src/components/InternalLink' + +const LogoLink = ({ children, ...props }: JSX.IntrinsicElements['h2']) => { + const { colors } = useTheme() + return ( +

      + + {children} + +

      + ) +} const Header = ({ useH1 }: { useH1?: boolean }) => { - const Component = useH1 ? 'h1' : 'h2' + const Component = useH1 ? 'h1' : LogoLink const { fontSizes, ns, spaces, lineHeights, letterSpacings } = useTheme() return ( @@ -14,23 +35,24 @@ const Header = ({ useH1 }: { useH1?: boolean }) => { margin-bottom: ${spaces(2)}; ${ns} { margin-top: ${spaces(4)}; + margin-bottom: ${spaces(3)}; } `} > - TypeScript for Beginner Programmers + {siteTitle} ) diff --git a/src/components/Page.tsx b/src/components/Page.tsx index 3c24179..5e5875e 100644 --- a/src/components/Page.tsx +++ b/src/components/Page.tsx @@ -21,7 +21,6 @@ const Page = ({ name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> - diff --git a/src/components/PostPage.tsx b/src/components/PostPage.tsx new file mode 100644 index 0000000..26b2059 --- /dev/null +++ b/src/components/PostPage.tsx @@ -0,0 +1,41 @@ +import React from 'react' +import Head from 'next/head' +import Page from 'src/components/Page' +import { P } from 'src/components/ContentTags' +import { siteTitle, baseUrl } from 'src/lib/meta' +import { articlesData } from 'src/lib/articles' +import { dateSchemaString } from 'src/lib/date' + +const PostPage = ({ + articleKey +}: { + articleKey: keyof typeof articlesData +}) => { + const url = `${baseUrl}/${articleKey}` + const description = articlesData[articleKey]['description'] + const title = articlesData[articleKey]['title'] + const ogImage = `${baseUrl}/images/og-${articlesData[articleKey]['ogImage']}.png` + + return ( + + + + {title} + + + + + + + + + +

      Sorry, this page is under construction.

      +
      + ) +} + +export default PostPage diff --git a/src/lib/articles.ts b/src/lib/articles.ts index 0e224dd..b690a51 100644 --- a/src/lib/articles.ts +++ b/src/lib/articles.ts @@ -8,6 +8,8 @@ export const articlesData = { generics: { title: 'TypeScript Generics for People Who Gave Up on Understanding Generics', - date: DateTime.fromISO('2019-12-01T12:00:00Z') + date: DateTime.fromISO('2019-12-01T12:00:00Z'), + description: '', + ogImage: 'generics' } } diff --git a/src/lib/meta.ts b/src/lib/meta.ts new file mode 100644 index 0000000..a5c9a73 --- /dev/null +++ b/src/lib/meta.ts @@ -0,0 +1,9 @@ +export const baseUrl = 'https://ts.chibicode.com' + +export const githubRepo = + 'https://github.com/chibicode/TypeScript-for-Beginner-Programmers' + +export const siteTitle = 'TypeScript for Beginner Programmers' + +export const siteDescription = '' +export const siteOgImage = `${baseUrl}/images/og-index.png` diff --git a/src/pages/generics.tsx b/src/pages/generics.tsx new file mode 100644 index 0000000..1c014c3 --- /dev/null +++ b/src/pages/generics.tsx @@ -0,0 +1,6 @@ +import React from 'react' +import PostPage from 'src/components/PostPage' + +const Page = () => + +export default Page diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 71b27a1..c8544bb 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -7,6 +7,8 @@ import InternalLink from 'src/components/InternalLink' import useTheme from 'src/hooks/useTheme' import { articlesList, articlesData } from 'src/lib/articles' import { dateString } from 'src/lib/date' +import { siteTitle, baseUrl, siteDescription, siteOgImage } from 'src/lib/meta' +import Head from 'next/head' const ArticleLink = ({ title, @@ -63,9 +65,20 @@ const ArticleLink = ({ } const Index = () => { - const { spaces, fontSizes, letterSpacings, colors } = useTheme() + const { ns, spaces, fontSizes, letterSpacings, colors } = useTheme() return ( - + + + {siteTitle} + + + + + + + + + { font-size: ${fontSizes(0.85)}; letter-spacing: ${letterSpacings('wide')}; text-transform: uppercase; - margin: 0 0 ${spaces(1)}; + margin-bottom: ${spaces(1)}; + margin-top: ${spaces(2)}; color: ${colors('brown')}; + + ${ns} { + margin-top: ${spaces(3)}; + } `} > Articles