├── .all-contributorsrc ├── .eslintrc.yml ├── .github └── workflows │ └── ci.yml ├── .gitignore ├── README.md ├── example ├── next.config.js ├── package.json ├── pages │ └── index.js ├── watch │ └── .gitignore └── yarn.lock ├── hook.d.ts ├── hook.js ├── hook.test.js ├── index.d.ts ├── index.js ├── index.test.js ├── jest.config.js ├── package.json ├── server.js ├── server.test.js ├── test-utils.js ├── tsconfig.json └── yarn.lock /.all-contributorsrc: -------------------------------------------------------------------------------- 1 | { 2 | "projectName": "next-remote-refresh", 3 | "projectOwner": "souporserious", 4 | "repoType": "github", 5 | "repoHost": "https://github.com", 6 | "files": [ 7 | "README.md" 8 | ], 9 | "imageSize": 100, 10 | "commit": false, 11 | "commitConvention": "none", 12 | "contributors": [ 13 | { 14 | "login": "souporserious", 15 | "name": "Travis Arnold", 16 | "avatar_url": "https://avatars.githubusercontent.com/u/2762082?v=4", 17 | "profile": "https://github.com/souporserious", 18 | "contributions": [ 19 | "code", 20 | "doc" 21 | ] 22 | }, 23 | { 24 | "login": "joshwcomeau", 25 | "name": "Joshua Comeau", 26 | "avatar_url": "https://avatars.githubusercontent.com/u/6692932?v=4", 27 | "profile": "https://github.com/joshwcomeau", 28 | "contributions": [ 29 | "ideas" 30 | ] 31 | }, 32 | { 33 | "login": "pveyes", 34 | "name": "Fatih Kalifa", 35 | "avatar_url": "https://avatars.githubusercontent.com/u/1614415?v=4", 36 | "profile": "https://fatihkalifa.com", 37 | "contributions": [ 38 | "code", 39 | "doc" 40 | ] 41 | }, 42 | { 43 | "login": "browniefed", 44 | "name": "Jason Brown", 45 | "avatar_url": "https://avatars.githubusercontent.com/u/1714673?v=4", 46 | "profile": "https://codedaily.io", 47 | "contributions": [ 48 | "doc" 49 | ] 50 | }, 51 | { 52 | "login": "pacocoursey", 53 | "name": "Paco", 54 | "avatar_url": "https://avatars.githubusercontent.com/u/34928425?v=4", 55 | "profile": "https://paco.sh", 56 | "contributions": [ 57 | "code" 58 | ] 59 | }, 60 | { 61 | "login": "arn4v", 62 | "name": "Arnav Gosain", 63 | "avatar_url": "https://avatars.githubusercontent.com/u/12715704?v=4", 64 | "profile": "https://arnavgosain.com", 65 | "contributions": [ 66 | "code" 67 | ] 68 | }, 69 | { 70 | "login": "thebearingedge", 71 | "name": "Tim Davis", 72 | "avatar_url": "https://avatars.githubusercontent.com/u/7432943?v=4", 73 | "profile": "https://timdav.is/", 74 | "contributions": [ 75 | "code" 76 | ] 77 | }, 78 | { 79 | "login": "kherock", 80 | "name": "Kyle Herock", 81 | "avatar_url": "https://avatars.githubusercontent.com/u/4993980?v=4", 82 | "profile": "https://github.com/kherock", 83 | "contributions": [ 84 | "code" 85 | ] 86 | }, 87 | { 88 | "login": "maggie-j-liu", 89 | "name": "Maggie Liu", 90 | "avatar_url": "https://avatars.githubusercontent.com/u/63619830?v=4", 91 | "profile": "https://maggieliu.dev", 92 | "contributions": [ 93 | "code" 94 | ] 95 | }, 96 | { 97 | "login": "pkerschbaum", 98 | "name": "Patrick Kerschbaum", 99 | "avatar_url": "https://avatars.githubusercontent.com/u/13141109?v=4", 100 | "profile": "https://pkerschbaum.com", 101 | "contributions": [ 102 | "code" 103 | ] 104 | }, 105 | { 106 | "login": "ajitid", 107 | "name": "Ajit", 108 | "avatar_url": "https://avatars.githubusercontent.com/u/26769888?v=4", 109 | "profile": "http://ajitid.com", 110 | "contributions": [ 111 | "ideas" 112 | ] 113 | }, 114 | { 115 | "login": "ThomasJanUta", 116 | "name": "Thomas Jan Uta", 117 | "avatar_url": "https://avatars.githubusercontent.com/u/12129478?v=4", 118 | "profile": "https://thomasuta.com", 119 | "contributions": [ 120 | "code" 121 | ] 122 | } 123 | ], 124 | "contributorsPerLine": 7, 125 | "skipCi": true, 126 | "commitType": "docs" 127 | } 128 | -------------------------------------------------------------------------------- /.eslintrc.yml: -------------------------------------------------------------------------------- 1 | env: 2 | browser: true 3 | node: true 4 | extends: 5 | - standard-with-typescript 6 | parserOptions: 7 | project: tsconfig.json 8 | rules: 9 | comma-dangle: 10 | - error 11 | - always-multiline 12 | space-before-function-paren: 13 | - error 14 | - named: never 15 | 16 | overrides: 17 | - files: [__mocks__/**/*, __tests__/**/*, '**/*.test.*'] 18 | env: 19 | jest: true 20 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | push: 5 | branches: [main] 6 | pull_request: 7 | 8 | jobs: 9 | lint: 10 | runs-on: ubuntu-latest 11 | 12 | steps: 13 | - uses: actions/checkout@v2 14 | - uses: actions/setup-node@v2 15 | with: 16 | node-version: 16.x 17 | cache: yarn 18 | 19 | - run: yarn install 20 | - run: yarn run lint 21 | 22 | test: 23 | runs-on: ubuntu-latest 24 | 25 | steps: 26 | - uses: actions/checkout@v2 27 | - uses: actions/setup-node@v2 28 | with: 29 | node-version: 16.x 30 | cache: yarn 31 | 32 | - run: yarn install 33 | - run: yarn test 34 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .next 3 | *.log 4 | node_modules 5 | coverage -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # next-remote-refresh 2 | 3 | Utilize Fast Refresh for remote data in Next.js. See the [example](/example) for setup. 4 | 5 | ## Install 6 | 7 | ```bash 8 | yarn add next-remote-refresh --dev 9 | ``` 10 | 11 | ```bash 12 | npm install next-remote-refresh --save-dev 13 | ``` 14 | 15 | ## Usage 16 | 17 | ### plugin 18 | 19 | Add and configure plugin in `next.config.mjs`: 20 | 21 | ```js 22 | // next.config.mjs 23 | import { resolve } from 'node:path' 24 | import createRemoteRefresh from 'next-remote-refresh' 25 | 26 | const withRemoteRefresh = createRemoteRefresh({ 27 | paths: [resolve(__dirname, './package.json')], 28 | ignored: '**/*.json', 29 | }) 30 | 31 | export default withRemoteRefresh({ ...next config here }) 32 | ``` 33 | 34 | ### `useRemoteRefresh` hook 35 | 36 | Add the `useRemoteRefresh` hook to the top-level component in your app. You may also configure when the app should refresh based on the changed `path`: 37 | 38 | ```jsx 39 | import { useRouter } from 'next/router' 40 | import { useRemoteRefresh } from 'next-remote-refresh/hook' 41 | import path from 'path' 42 | 43 | function App({ name, version }) { 44 | const router = useRouter() 45 | 46 | useRemoteRefresh({ 47 | shouldRefresh: (path) => path.includes(router.query.slug), 48 | }) 49 | 50 | return ( 51 |
52 | Package: {name} Version: {version} 53 |
54 | ) 55 | } 56 | 57 | export function getStaticProps() { 58 | return { 59 | props: path.resolve(process.cwd(), './package.json', 'utf-8'), 60 | } 61 | } 62 | ``` 63 | 64 | ## Development 65 | 66 | ```bash 67 | yarn install && yarn link 68 | cd example 69 | yarn install && yarn link next-remote-refresh 70 | yarn dev 71 | ``` 72 | 73 | ## Related 74 | 75 | [Refreshing Server-Side Props](https://www.joshwcomeau.com/nextjs/refreshing-server-side-props/) 76 | 77 | [next-remote-watch](https://github.com/hashicorp/next-remote-watch) 78 | 79 | ## Contributors ✨ 80 | 81 | Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 |
Travis Arnold
Travis Arnold

💻 📖
Joshua Comeau
Joshua Comeau

🤔
Fatih Kalifa
Fatih Kalifa

💻 📖
Jason Brown
Jason Brown

📖
Paco
Paco

💻
Arnav Gosain
Arnav Gosain

💻
Tim Davis
Tim Davis

💻
Kyle Herock
Kyle Herock

💻
Maggie Liu
Maggie Liu

💻
Patrick Kerschbaum
Patrick Kerschbaum

💻
Ajit
Ajit

🤔
Thomas Jan Uta
Thomas Jan Uta

💻
106 | 107 | 108 | 109 | 110 | 111 | 112 | This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! 113 | -------------------------------------------------------------------------------- /example/next.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | 3 | const withRemoteRefresh = require('next-remote-refresh')({ 4 | paths: [ 5 | path.resolve(__dirname, '../package.json'), 6 | path.resolve(__dirname, 'watch'), 7 | ], 8 | }) 9 | 10 | const nextConfig = {} 11 | 12 | module.exports = withRemoteRefresh(nextConfig) 13 | -------------------------------------------------------------------------------- /example/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "example", 3 | "version": "0.0.0", 4 | "private": "true", 5 | "scripts": { 6 | "dev": "next dev" 7 | }, 8 | "dependencies": { 9 | "next": "^12.0.1" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /example/pages/index.js: -------------------------------------------------------------------------------- 1 | import fs from 'fs' 2 | import path from 'path' 3 | import { useRemoteRefresh } from 'next-remote-refresh/hook' 4 | import { useState } from 'react' 5 | 6 | export default function Index({ pkg, watchFiles = [] }) { 7 | const [count, setCount] = useState(0) 8 | useRemoteRefresh() 9 | return ( 10 |
11 |

12 | {pkg.name} - v{pkg.version} 13 |

14 |

{pkg.description}

15 |
16 | 17 | 18 | {count} 19 |
20 |

Files in watch/

21 | 24 | 25 | Hint: Update the package.json file at the root to see it live update. 26 | 27 |
28 | ) 29 | } 30 | 31 | export function getStaticProps() { 32 | return { 33 | props: { 34 | pkg: JSON.parse(fs.readFileSync('../package.json', 'utf8')), 35 | watchFiles: fs.readdirSync('watch').map((fileName) => { 36 | const stat = fs.statSync(path.resolve('watch', fileName)) 37 | return { fileName, size: stat.size } 38 | }), 39 | }, 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /example/watch/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /example/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@7.12.11": 6 | version "7.12.11" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" 8 | integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== 9 | dependencies: 10 | "@babel/highlight" "^7.10.4" 11 | 12 | "@babel/helper-plugin-utils@^7.14.5": 13 | version "7.14.5" 14 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" 15 | integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== 16 | 17 | "@babel/helper-validator-identifier@^7.14.5": 18 | version "7.14.5" 19 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8" 20 | integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg== 21 | 22 | "@babel/helper-validator-identifier@^7.14.9": 23 | version "7.15.7" 24 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" 25 | integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== 26 | 27 | "@babel/highlight@^7.10.4": 28 | version "7.14.5" 29 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" 30 | integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== 31 | dependencies: 32 | "@babel/helper-validator-identifier" "^7.14.5" 33 | chalk "^2.0.0" 34 | js-tokens "^4.0.0" 35 | 36 | "@babel/plugin-syntax-jsx@7.14.5": 37 | version "7.14.5" 38 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz#000e2e25d8673cce49300517a3eda44c263e4201" 39 | integrity sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw== 40 | dependencies: 41 | "@babel/helper-plugin-utils" "^7.14.5" 42 | 43 | "@babel/runtime@7.15.4": 44 | version "7.15.4" 45 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" 46 | integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw== 47 | dependencies: 48 | regenerator-runtime "^0.13.4" 49 | 50 | "@babel/types@7.15.0": 51 | version "7.15.0" 52 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd" 53 | integrity sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ== 54 | dependencies: 55 | "@babel/helper-validator-identifier" "^7.14.9" 56 | to-fast-properties "^2.0.0" 57 | 58 | "@hapi/accept@5.0.2": 59 | version "5.0.2" 60 | resolved "https://registry.yarnpkg.com/@hapi/accept/-/accept-5.0.2.tgz#ab7043b037e68b722f93f376afb05e85c0699523" 61 | integrity sha512-CmzBx/bXUR8451fnZRuZAJRlzgm0Jgu5dltTX/bszmR2lheb9BpyN47Q1RbaGTsvFzn0PXAEs+lXDKfshccYZw== 62 | dependencies: 63 | "@hapi/boom" "9.x.x" 64 | "@hapi/hoek" "9.x.x" 65 | 66 | "@hapi/boom@9.x.x": 67 | version "9.1.2" 68 | resolved "https://registry.yarnpkg.com/@hapi/boom/-/boom-9.1.2.tgz#48bd41d67437164a2d636e3b5bc954f8c8dc5e38" 69 | integrity sha512-uJEJtiNHzKw80JpngDGBCGAmWjBtzxDCz17A9NO2zCi8LLBlb5Frpq4pXwyN+2JQMod4pKz5BALwyneCgDg89Q== 70 | dependencies: 71 | "@hapi/hoek" "9.x.x" 72 | 73 | "@hapi/hoek@9.x.x": 74 | version "9.2.0" 75 | resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.0.tgz#f3933a44e365864f4dad5db94158106d511e8131" 76 | integrity sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug== 77 | 78 | "@napi-rs/triples@^1.0.3": 79 | version "1.0.3" 80 | resolved "https://registry.yarnpkg.com/@napi-rs/triples/-/triples-1.0.3.tgz#76d6d0c3f4d16013c61e45dfca5ff1e6c31ae53c" 81 | integrity sha512-jDJTpta+P4p1NZTFVLHJ/TLFVYVcOqv6l8xwOeBKNPMgY/zDYH/YH7SJbvrr/h1RcS9GzbPcLKGzpuK9cV56UA== 82 | 83 | "@next/env@12.0.1": 84 | version "12.0.1" 85 | resolved "https://registry.yarnpkg.com/@next/env/-/env-12.0.1.tgz#d57141ef1fe844f6f7c18cdaf29a712788c18ca4" 86 | integrity sha512-+eJ8mQbAcV/ZILRAgIx9xwDg6hrqm6m/7QLfEvsf2BPnsh+fwU4Xf1zgcbyqD2V4ja4OTWG6ow+Hiukgap3mZQ== 87 | 88 | "@next/polyfill-module@12.0.1": 89 | version "12.0.1" 90 | resolved "https://registry.yarnpkg.com/@next/polyfill-module/-/polyfill-module-12.0.1.tgz#d20abf06f686ee7a8bd0d9056accfd0662f19e87" 91 | integrity sha512-fTrndwGuvrQO+4myVGcPtsYI4/tmZBhHHJId7MSHWz+9gW4NFgsmDlr8OI9Th2ZXpqk5WHLsTYQ+dLiQp1zV4g== 92 | 93 | "@next/react-dev-overlay@12.0.1": 94 | version "12.0.1" 95 | resolved "https://registry.yarnpkg.com/@next/react-dev-overlay/-/react-dev-overlay-12.0.1.tgz#134299ae44fad5a59448d5e671518074f37cba95" 96 | integrity sha512-dLv1to40bvadbr0VO8pBsbr9ddgktCLilfejOpEFQkOOrdQBUuIfegqqEDiCL9THkAO3QGYY4t/ZPfv9wrxLZQ== 97 | dependencies: 98 | "@babel/code-frame" "7.12.11" 99 | anser "1.4.9" 100 | chalk "4.0.0" 101 | classnames "2.2.6" 102 | css.escape "1.5.1" 103 | data-uri-to-buffer "3.0.1" 104 | platform "1.3.6" 105 | shell-quote "1.7.2" 106 | source-map "0.8.0-beta.0" 107 | stacktrace-parser "0.1.10" 108 | strip-ansi "6.0.1" 109 | 110 | "@next/react-refresh-utils@12.0.1": 111 | version "12.0.1" 112 | resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-12.0.1.tgz#219be7a81696a7bd1e2d4ee397ca100eb8262f23" 113 | integrity sha512-CjTBR9a6ai+2fUT8KFya9AiTaCnfDY34H6pDmtdJdkD+vY08AwtPpv10kzsgNEhsL06210yVzH59IsEQLBIllA== 114 | 115 | "@next/swc-android-arm64@12.0.1": 116 | version "12.0.1" 117 | resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.0.1.tgz#c776853e0911c12fcc69a69cd7ab111dff29f8d2" 118 | integrity sha512-zI/6zsZuO2igknzHzfaQep0PeD3d4/qdjXUcQLwLHJQtGdhPvZFMke1z3BBWZqePHVsR1JPjE4QTii7udF5qsQ== 119 | 120 | "@next/swc-darwin-arm64@12.0.1": 121 | version "12.0.1" 122 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.0.1.tgz#bee9c5932511c993ab384ef9aedb86c02532d41e" 123 | integrity sha512-vRfHz7rEt9+TTfwi3uY9ObUSLhzMmgVZ96b+yOSmZ6Kxs/V46IXHOLawCnoldXylpskZ/+HTWcrB1D3aimGeZA== 124 | 125 | "@next/swc-darwin-x64@12.0.1": 126 | version "12.0.1" 127 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.0.1.tgz#a0bdcbcf11b8b62190ec8e0406cecbbcc810b7fc" 128 | integrity sha512-mM7QLIqRUqR8I74gbZ4Uq+dY8k3Whrs98wK+vPurmDTBhXhaVnAYblEkEwe0DJGqlmjD4w6faYfCydmFI69jqw== 129 | 130 | "@next/swc-linux-arm-gnueabihf@12.0.1": 131 | version "12.0.1" 132 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.0.1.tgz#d0132637288f452ad5c6a6161e42aebcd4355f82" 133 | integrity sha512-QF5LVyAWTah5i1p/yG4a8nTGRXerHoDkS3kWYCdjcwlALOiAJ9m0GUTks/O47izNokBAbZnL7URUdvtGFjP0Ng== 134 | 135 | "@next/swc-linux-arm64-gnu@12.0.1": 136 | version "12.0.1" 137 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.0.1.tgz#6b310344b9bac7700eaff8f4c536540b1226e378" 138 | integrity sha512-ETFUh373WsjUJJr32GHSDlVSgwFwS+EJUJuSH40Pr4xB6250YxuRk8ccF6QR5LHqTL4tbbVEEfCD8sZVnccP8w== 139 | 140 | "@next/swc-linux-arm64-musl@12.0.1": 141 | version "12.0.1" 142 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.0.1.tgz#8ab1fc81d18bbb70bb15bcc4250382257bba6298" 143 | integrity sha512-pfnXNjKywXyp2DJsjFhkfOlvcNu9xa8HgEhCUKXm1OZ4pGnpeb1+UD4t5Pn9b9ggiWPzauZK1abR/9nShvbSzw== 144 | 145 | "@next/swc-linux-x64-gnu@12.0.1": 146 | version "12.0.1" 147 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.0.1.tgz#a664268aedec402da5df34efac1b337d9b0e492e" 148 | integrity sha512-d9cXS27Ar7TTtA3BJ8gxosDDdVNSFy4MQiwsszKlEiqfGrnINeXKdVgeiOa+xxq+JxNvPzonp4sbX6k8InIocg== 149 | 150 | "@next/swc-linux-x64-musl@12.0.1": 151 | version "12.0.1" 152 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.0.1.tgz#4b7e5fee5a62adb6d9c9aad1a4aa00a6a09b53dc" 153 | integrity sha512-4SAmi7riavU6TFGX7wQFioFi/vx8uJ2/Cx7ZfrYiZzzKmmuu2eM8onW1kcKu+aQD777x/kvzW4+2pWkM2gyPOA== 154 | 155 | "@next/swc-win32-arm64-msvc@12.0.1": 156 | version "12.0.1" 157 | resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.0.1.tgz#9ff0c2a2f00f41d40bd44d6da195bdf649d807c6" 158 | integrity sha512-JRad3QyXvs5zDkeEmc6z5tEvm/ZZnjnsBY921zWw7OIcIZR5wAs+1AnRVjIxHTEHSExxOvBgPyEMpgVkB8OyxQ== 159 | 160 | "@next/swc-win32-ia32-msvc@12.0.1": 161 | version "12.0.1" 162 | resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.0.1.tgz#5a927ec832b184ce2e35f8ec668daa34175e47d0" 163 | integrity sha512-ierQmzVWPi6a7PqrdgfI6nrQ/SWJ9W5jllByyQeFIOKhOzZiz030Tw+U6V7NqE3gGNeRwpj56Iya8nUb3hlM1g== 164 | 165 | "@next/swc-win32-x64-msvc@12.0.1": 166 | version "12.0.1" 167 | resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.0.1.tgz#fe145cf7baf79564159a87a545e430f96c835578" 168 | integrity sha512-li3CCXpdMX0+wJlQpy0xZmHCgHMebaBf5X2BIAJrv8cQXYc6dejeojttXLFNCF0dNAo3UzlbP6h7N+8p6Wbakw== 169 | 170 | "@node-rs/helper@1.2.1": 171 | version "1.2.1" 172 | resolved "https://registry.yarnpkg.com/@node-rs/helper/-/helper-1.2.1.tgz#e079b05f21ff4329d82c4e1f71c0290e4ecdc70c" 173 | integrity sha512-R5wEmm8nbuQU0YGGmYVjEc0OHtYsuXdpRG+Ut/3wZ9XAvQWyThN08bTh2cBJgoZxHQUPtvRfeQuxcAgLuiBISg== 174 | dependencies: 175 | "@napi-rs/triples" "^1.0.3" 176 | 177 | "@types/node@*": 178 | version "15.12.4" 179 | resolved "https://registry.yarnpkg.com/@types/node/-/node-15.12.4.tgz#e1cf817d70a1e118e81922c4ff6683ce9d422e26" 180 | integrity sha512-zrNj1+yqYF4WskCMOHwN+w9iuD12+dGm0rQ35HLl9/Ouuq52cEtd0CH9qMgrdNmi5ejC1/V7vKEXYubB+65DkA== 181 | 182 | acorn@8.5.0: 183 | version "8.5.0" 184 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" 185 | integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== 186 | 187 | acorn@^6.2.1: 188 | version "6.4.2" 189 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" 190 | integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== 191 | 192 | anser@1.4.9: 193 | version "1.4.9" 194 | resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.9.tgz#1f85423a5dcf8da4631a341665ff675b96845760" 195 | integrity sha512-AI+BjTeGt2+WFk4eWcqbQ7snZpDBt8SaLlj0RT2h5xfdWaiy51OjYvqwMrNzJLGy8iOAL6nKDITWO+rd4MkYEA== 196 | 197 | ansi-regex@^5.0.1: 198 | version "5.0.1" 199 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 200 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 201 | 202 | ansi-styles@^3.2.1: 203 | version "3.2.1" 204 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 205 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 206 | dependencies: 207 | color-convert "^1.9.0" 208 | 209 | ansi-styles@^4.1.0: 210 | version "4.3.0" 211 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 212 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 213 | dependencies: 214 | color-convert "^2.0.1" 215 | 216 | anymatch@~3.1.1: 217 | version "3.1.2" 218 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 219 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 220 | dependencies: 221 | normalize-path "^3.0.0" 222 | picomatch "^2.0.4" 223 | 224 | asn1.js@^5.2.0: 225 | version "5.4.1" 226 | resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" 227 | integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== 228 | dependencies: 229 | bn.js "^4.0.0" 230 | inherits "^2.0.1" 231 | minimalistic-assert "^1.0.0" 232 | safer-buffer "^2.1.0" 233 | 234 | assert@2.0.0: 235 | version "2.0.0" 236 | resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" 237 | integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A== 238 | dependencies: 239 | es6-object-assign "^1.1.0" 240 | is-nan "^1.2.1" 241 | object-is "^1.0.1" 242 | util "^0.12.0" 243 | 244 | available-typed-arrays@^1.0.2: 245 | version "1.0.4" 246 | resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.4.tgz#9e0ae84ecff20caae6a94a1c3bc39b955649b7a9" 247 | integrity sha512-SA5mXJWrId1TaQjfxUYghbqQ/hYioKmLJvPJyDuYRtXXenFNMjj4hSSt1Cf1xsuXSXrtxrVC5Ot4eU6cOtBDdA== 248 | 249 | base64-js@^1.0.2: 250 | version "1.5.1" 251 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" 252 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 253 | 254 | big.js@^5.2.2: 255 | version "5.2.2" 256 | resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" 257 | integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== 258 | 259 | binary-extensions@^2.0.0: 260 | version "2.2.0" 261 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 262 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 263 | 264 | bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: 265 | version "4.12.0" 266 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" 267 | integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== 268 | 269 | bn.js@^5.0.0, bn.js@^5.1.1: 270 | version "5.2.0" 271 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" 272 | integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== 273 | 274 | braces@~3.0.2: 275 | version "3.0.2" 276 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 277 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 278 | dependencies: 279 | fill-range "^7.0.1" 280 | 281 | brorand@^1.0.1, brorand@^1.1.0: 282 | version "1.1.0" 283 | resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" 284 | integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= 285 | 286 | browserify-aes@^1.0.0, browserify-aes@^1.0.4: 287 | version "1.2.0" 288 | resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" 289 | integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== 290 | dependencies: 291 | buffer-xor "^1.0.3" 292 | cipher-base "^1.0.0" 293 | create-hash "^1.1.0" 294 | evp_bytestokey "^1.0.3" 295 | inherits "^2.0.1" 296 | safe-buffer "^5.0.1" 297 | 298 | browserify-cipher@^1.0.0: 299 | version "1.0.1" 300 | resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" 301 | integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== 302 | dependencies: 303 | browserify-aes "^1.0.4" 304 | browserify-des "^1.0.0" 305 | evp_bytestokey "^1.0.0" 306 | 307 | browserify-des@^1.0.0: 308 | version "1.0.2" 309 | resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" 310 | integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== 311 | dependencies: 312 | cipher-base "^1.0.1" 313 | des.js "^1.0.0" 314 | inherits "^2.0.1" 315 | safe-buffer "^5.1.2" 316 | 317 | browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: 318 | version "4.1.0" 319 | resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" 320 | integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== 321 | dependencies: 322 | bn.js "^5.0.0" 323 | randombytes "^2.0.1" 324 | 325 | browserify-sign@^4.0.0: 326 | version "4.2.1" 327 | resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" 328 | integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== 329 | dependencies: 330 | bn.js "^5.1.1" 331 | browserify-rsa "^4.0.1" 332 | create-hash "^1.2.0" 333 | create-hmac "^1.1.7" 334 | elliptic "^6.5.3" 335 | inherits "^2.0.4" 336 | parse-asn1 "^5.1.5" 337 | readable-stream "^3.6.0" 338 | safe-buffer "^5.2.0" 339 | 340 | browserify-zlib@0.2.0: 341 | version "0.2.0" 342 | resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" 343 | integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== 344 | dependencies: 345 | pako "~1.0.5" 346 | 347 | browserslist@4.16.6: 348 | version "4.16.6" 349 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" 350 | integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== 351 | dependencies: 352 | caniuse-lite "^1.0.30001219" 353 | colorette "^1.2.2" 354 | electron-to-chromium "^1.3.723" 355 | escalade "^3.1.1" 356 | node-releases "^1.1.71" 357 | 358 | buffer-xor@^1.0.3: 359 | version "1.0.3" 360 | resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" 361 | integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= 362 | 363 | buffer@5.6.0: 364 | version "5.6.0" 365 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" 366 | integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== 367 | dependencies: 368 | base64-js "^1.0.2" 369 | ieee754 "^1.1.4" 370 | 371 | builtin-status-codes@^3.0.0: 372 | version "3.0.0" 373 | resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" 374 | integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= 375 | 376 | bytes@3.1.0: 377 | version "3.1.0" 378 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" 379 | integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== 380 | 381 | call-bind@^1.0.0, call-bind@^1.0.2: 382 | version "1.0.2" 383 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 384 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 385 | dependencies: 386 | function-bind "^1.1.1" 387 | get-intrinsic "^1.0.2" 388 | 389 | caniuse-lite@^1.0.30001202, caniuse-lite@^1.0.30001219, caniuse-lite@^1.0.30001228: 390 | version "1.0.30001239" 391 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001239.tgz#66e8669985bb2cb84ccb10f68c25ce6dd3e4d2b8" 392 | integrity sha512-cyBkXJDMeI4wthy8xJ2FvDU6+0dtcZSJW3voUF8+e9f1bBeuvyZfc3PNbkOETyhbR+dGCPzn9E7MA3iwzusOhQ== 393 | 394 | chalk@2.4.2, chalk@^2.0.0: 395 | version "2.4.2" 396 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 397 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 398 | dependencies: 399 | ansi-styles "^3.2.1" 400 | escape-string-regexp "^1.0.5" 401 | supports-color "^5.3.0" 402 | 403 | chalk@4.0.0: 404 | version "4.0.0" 405 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72" 406 | integrity sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A== 407 | dependencies: 408 | ansi-styles "^4.1.0" 409 | supports-color "^7.1.0" 410 | 411 | chokidar@3.5.1: 412 | version "3.5.1" 413 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" 414 | integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== 415 | dependencies: 416 | anymatch "~3.1.1" 417 | braces "~3.0.2" 418 | glob-parent "~5.1.0" 419 | is-binary-path "~2.1.0" 420 | is-glob "~4.0.1" 421 | normalize-path "~3.0.0" 422 | readdirp "~3.5.0" 423 | optionalDependencies: 424 | fsevents "~2.3.1" 425 | 426 | cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: 427 | version "1.0.4" 428 | resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" 429 | integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== 430 | dependencies: 431 | inherits "^2.0.1" 432 | safe-buffer "^5.0.1" 433 | 434 | classnames@2.2.6: 435 | version "2.2.6" 436 | resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" 437 | integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== 438 | 439 | color-convert@^1.9.0: 440 | version "1.9.3" 441 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 442 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 443 | dependencies: 444 | color-name "1.1.3" 445 | 446 | color-convert@^2.0.1: 447 | version "2.0.1" 448 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 449 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 450 | dependencies: 451 | color-name "~1.1.4" 452 | 453 | color-name@1.1.3: 454 | version "1.1.3" 455 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 456 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 457 | 458 | color-name@~1.1.4: 459 | version "1.1.4" 460 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 461 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 462 | 463 | colorette@^1.2.2: 464 | version "1.2.2" 465 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" 466 | integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== 467 | 468 | commondir@^1.0.1: 469 | version "1.0.1" 470 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 471 | integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= 472 | 473 | constants-browserify@1.0.0: 474 | version "1.0.0" 475 | resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" 476 | integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= 477 | 478 | convert-source-map@1.7.0: 479 | version "1.7.0" 480 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" 481 | integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== 482 | dependencies: 483 | safe-buffer "~5.1.1" 484 | 485 | create-ecdh@^4.0.0: 486 | version "4.0.4" 487 | resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" 488 | integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== 489 | dependencies: 490 | bn.js "^4.1.0" 491 | elliptic "^6.5.3" 492 | 493 | create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: 494 | version "1.2.0" 495 | resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" 496 | integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== 497 | dependencies: 498 | cipher-base "^1.0.1" 499 | inherits "^2.0.1" 500 | md5.js "^1.3.4" 501 | ripemd160 "^2.0.1" 502 | sha.js "^2.4.0" 503 | 504 | create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: 505 | version "1.1.7" 506 | resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" 507 | integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== 508 | dependencies: 509 | cipher-base "^1.0.3" 510 | create-hash "^1.1.0" 511 | inherits "^2.0.1" 512 | ripemd160 "^2.0.0" 513 | safe-buffer "^5.0.1" 514 | sha.js "^2.4.8" 515 | 516 | crypto-browserify@3.12.0: 517 | version "3.12.0" 518 | resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" 519 | integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== 520 | dependencies: 521 | browserify-cipher "^1.0.0" 522 | browserify-sign "^4.0.0" 523 | create-ecdh "^4.0.0" 524 | create-hash "^1.1.0" 525 | create-hmac "^1.1.0" 526 | diffie-hellman "^5.0.0" 527 | inherits "^2.0.1" 528 | pbkdf2 "^3.0.3" 529 | public-encrypt "^4.0.0" 530 | randombytes "^2.0.0" 531 | randomfill "^1.0.3" 532 | 533 | css.escape@1.5.1: 534 | version "1.5.1" 535 | resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" 536 | integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s= 537 | 538 | cssnano-preset-simple@^3.0.0: 539 | version "3.0.0" 540 | resolved "https://registry.yarnpkg.com/cssnano-preset-simple/-/cssnano-preset-simple-3.0.0.tgz#e95d0012699ca2c741306e9a3b8eeb495a348dbe" 541 | integrity sha512-vxQPeoMRqUT3c/9f0vWeVa2nKQIHFpogtoBvFdW4GQ3IvEJ6uauCP6p3Y5zQDLFcI7/+40FTgX12o7XUL0Ko+w== 542 | dependencies: 543 | caniuse-lite "^1.0.30001202" 544 | 545 | cssnano-simple@3.0.0: 546 | version "3.0.0" 547 | resolved "https://registry.yarnpkg.com/cssnano-simple/-/cssnano-simple-3.0.0.tgz#a4b8ccdef4c7084af97e19bc5b93b4ecf211e90f" 548 | integrity sha512-oU3ueli5Dtwgh0DyeohcIEE00QVfbPR3HzyXdAl89SfnQG3y0/qcpfLVW+jPIh3/rgMZGwuW96rejZGaYE9eUg== 549 | dependencies: 550 | cssnano-preset-simple "^3.0.0" 551 | 552 | data-uri-to-buffer@3.0.1: 553 | version "3.0.1" 554 | resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" 555 | integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== 556 | 557 | debug@2: 558 | version "2.6.9" 559 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 560 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 561 | dependencies: 562 | ms "2.0.0" 563 | 564 | define-properties@^1.1.3: 565 | version "1.1.3" 566 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 567 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 568 | dependencies: 569 | object-keys "^1.0.12" 570 | 571 | depd@~1.1.2: 572 | version "1.1.2" 573 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 574 | integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= 575 | 576 | des.js@^1.0.0: 577 | version "1.0.1" 578 | resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" 579 | integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== 580 | dependencies: 581 | inherits "^2.0.1" 582 | minimalistic-assert "^1.0.0" 583 | 584 | diffie-hellman@^5.0.0: 585 | version "5.0.3" 586 | resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" 587 | integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== 588 | dependencies: 589 | bn.js "^4.1.0" 590 | miller-rabin "^4.0.0" 591 | randombytes "^2.0.0" 592 | 593 | domain-browser@4.19.0: 594 | version "4.19.0" 595 | resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.19.0.tgz#1093e17c0a17dbd521182fe90d49ac1370054af1" 596 | integrity sha512-fRA+BaAWOR/yr/t7T9E9GJztHPeFjj8U35ajyAjCDtAAnTn1Rc1f6W6VGPJrO1tkQv9zWu+JRof7z6oQtiYVFQ== 597 | 598 | electron-to-chromium@^1.3.723: 599 | version "1.3.757" 600 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.757.tgz#ff99436c99ca0fc5d120e11030a868401396e0e1" 601 | integrity sha512-kP0ooyrvavDC+Y9UG6G/pUVxfRNM2VTJwtLQLvgsJeyf1V+7shMCb68Wj0/TETmfx8dWv9pToGkVT39udE87wQ== 602 | 603 | elliptic@^6.5.3: 604 | version "6.5.4" 605 | resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" 606 | integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== 607 | dependencies: 608 | bn.js "^4.11.9" 609 | brorand "^1.1.0" 610 | hash.js "^1.0.0" 611 | hmac-drbg "^1.0.1" 612 | inherits "^2.0.4" 613 | minimalistic-assert "^1.0.1" 614 | minimalistic-crypto-utils "^1.0.1" 615 | 616 | emojis-list@^2.0.0: 617 | version "2.1.0" 618 | resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" 619 | integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= 620 | 621 | encoding@0.1.13: 622 | version "0.1.13" 623 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" 624 | integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== 625 | dependencies: 626 | iconv-lite "^0.6.2" 627 | 628 | es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: 629 | version "1.18.3" 630 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.3.tgz#25c4c3380a27aa203c44b2b685bba94da31b63e0" 631 | integrity sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw== 632 | dependencies: 633 | call-bind "^1.0.2" 634 | es-to-primitive "^1.2.1" 635 | function-bind "^1.1.1" 636 | get-intrinsic "^1.1.1" 637 | has "^1.0.3" 638 | has-symbols "^1.0.2" 639 | is-callable "^1.2.3" 640 | is-negative-zero "^2.0.1" 641 | is-regex "^1.1.3" 642 | is-string "^1.0.6" 643 | object-inspect "^1.10.3" 644 | object-keys "^1.1.1" 645 | object.assign "^4.1.2" 646 | string.prototype.trimend "^1.0.4" 647 | string.prototype.trimstart "^1.0.4" 648 | unbox-primitive "^1.0.1" 649 | 650 | es-to-primitive@^1.2.1: 651 | version "1.2.1" 652 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 653 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 654 | dependencies: 655 | is-callable "^1.1.4" 656 | is-date-object "^1.0.1" 657 | is-symbol "^1.0.2" 658 | 659 | es6-object-assign@^1.1.0: 660 | version "1.1.0" 661 | resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" 662 | integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= 663 | 664 | escalade@^3.1.1: 665 | version "3.1.1" 666 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 667 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 668 | 669 | escape-string-regexp@^1.0.5: 670 | version "1.0.5" 671 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 672 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 673 | 674 | etag@1.8.1: 675 | version "1.8.1" 676 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 677 | integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= 678 | 679 | events@3.3.0: 680 | version "3.3.0" 681 | resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" 682 | integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== 683 | 684 | evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: 685 | version "1.0.3" 686 | resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" 687 | integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== 688 | dependencies: 689 | md5.js "^1.3.4" 690 | safe-buffer "^5.1.1" 691 | 692 | fill-range@^7.0.1: 693 | version "7.0.1" 694 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 695 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 696 | dependencies: 697 | to-regex-range "^5.0.1" 698 | 699 | find-cache-dir@3.3.1: 700 | version "3.3.1" 701 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" 702 | integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== 703 | dependencies: 704 | commondir "^1.0.1" 705 | make-dir "^3.0.2" 706 | pkg-dir "^4.1.0" 707 | 708 | find-up@^4.0.0: 709 | version "4.1.0" 710 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 711 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 712 | dependencies: 713 | locate-path "^5.0.0" 714 | path-exists "^4.0.0" 715 | 716 | foreach@^2.0.5: 717 | version "2.0.5" 718 | resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" 719 | integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= 720 | 721 | fsevents@~2.3.1: 722 | version "2.3.2" 723 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 724 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 725 | 726 | function-bind@^1.1.1: 727 | version "1.1.1" 728 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 729 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 730 | 731 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: 732 | version "1.1.1" 733 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" 734 | integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== 735 | dependencies: 736 | function-bind "^1.1.1" 737 | has "^1.0.3" 738 | has-symbols "^1.0.1" 739 | 740 | get-orientation@1.1.2: 741 | version "1.1.2" 742 | resolved "https://registry.yarnpkg.com/get-orientation/-/get-orientation-1.1.2.tgz#20507928951814f8a91ded0a0e67b29dfab98947" 743 | integrity sha512-/pViTfifW+gBbh/RnlFYHINvELT9Znt+SYyDKAUL6uV6By019AK/s+i9XP4jSwq7lwP38Fd8HVeTxym3+hkwmQ== 744 | dependencies: 745 | stream-parser "^0.3.1" 746 | 747 | glob-parent@~5.1.0: 748 | version "5.1.2" 749 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 750 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 751 | dependencies: 752 | is-glob "^4.0.1" 753 | 754 | glob-to-regexp@^0.4.1: 755 | version "0.4.1" 756 | resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" 757 | integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== 758 | 759 | graceful-fs@^4.1.2: 760 | version "4.2.6" 761 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" 762 | integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== 763 | 764 | has-bigints@^1.0.1: 765 | version "1.0.1" 766 | resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" 767 | integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== 768 | 769 | has-flag@^3.0.0: 770 | version "3.0.0" 771 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 772 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 773 | 774 | has-flag@^4.0.0: 775 | version "4.0.0" 776 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 777 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 778 | 779 | has-symbols@^1.0.1, has-symbols@^1.0.2: 780 | version "1.0.2" 781 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" 782 | integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== 783 | 784 | has@^1.0.3: 785 | version "1.0.3" 786 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 787 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 788 | dependencies: 789 | function-bind "^1.1.1" 790 | 791 | hash-base@^3.0.0: 792 | version "3.1.0" 793 | resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" 794 | integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== 795 | dependencies: 796 | inherits "^2.0.4" 797 | readable-stream "^3.6.0" 798 | safe-buffer "^5.2.0" 799 | 800 | hash.js@^1.0.0, hash.js@^1.0.3: 801 | version "1.1.7" 802 | resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" 803 | integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== 804 | dependencies: 805 | inherits "^2.0.3" 806 | minimalistic-assert "^1.0.1" 807 | 808 | he@1.2.0: 809 | version "1.2.0" 810 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 811 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 812 | 813 | hmac-drbg@^1.0.1: 814 | version "1.0.1" 815 | resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" 816 | integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= 817 | dependencies: 818 | hash.js "^1.0.3" 819 | minimalistic-assert "^1.0.0" 820 | minimalistic-crypto-utils "^1.0.1" 821 | 822 | http-errors@1.7.3: 823 | version "1.7.3" 824 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" 825 | integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== 826 | dependencies: 827 | depd "~1.1.2" 828 | inherits "2.0.4" 829 | setprototypeof "1.1.1" 830 | statuses ">= 1.5.0 < 2" 831 | toidentifier "1.0.0" 832 | 833 | https-browserify@1.0.0: 834 | version "1.0.0" 835 | resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" 836 | integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= 837 | 838 | iconv-lite@0.4.24: 839 | version "0.4.24" 840 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 841 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 842 | dependencies: 843 | safer-buffer ">= 2.1.2 < 3" 844 | 845 | iconv-lite@^0.6.2: 846 | version "0.6.3" 847 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" 848 | integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== 849 | dependencies: 850 | safer-buffer ">= 2.1.2 < 3.0.0" 851 | 852 | ieee754@^1.1.4: 853 | version "1.2.1" 854 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" 855 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 856 | 857 | image-size@1.0.0: 858 | version "1.0.0" 859 | resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.0.0.tgz#58b31fe4743b1cec0a0ac26f5c914d3c5b2f0750" 860 | integrity sha512-JLJ6OwBfO1KcA+TvJT+v8gbE6iWbj24LyDNFgFEN0lzegn6cC6a/p3NIDaepMsJjQjlUWqIC7wJv8lBFxPNjcw== 861 | dependencies: 862 | queue "6.0.2" 863 | 864 | inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4: 865 | version "2.0.4" 866 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 867 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 868 | 869 | is-arguments@^1.0.4: 870 | version "1.1.0" 871 | resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9" 872 | integrity sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg== 873 | dependencies: 874 | call-bind "^1.0.0" 875 | 876 | is-bigint@^1.0.1: 877 | version "1.0.2" 878 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz#ffb381442503235ad245ea89e45b3dbff040ee5a" 879 | integrity sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA== 880 | 881 | is-binary-path@~2.1.0: 882 | version "2.1.0" 883 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 884 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 885 | dependencies: 886 | binary-extensions "^2.0.0" 887 | 888 | is-boolean-object@^1.1.0: 889 | version "1.1.1" 890 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.1.tgz#3c0878f035cb821228d350d2e1e36719716a3de8" 891 | integrity sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng== 892 | dependencies: 893 | call-bind "^1.0.2" 894 | 895 | is-callable@^1.1.4, is-callable@^1.2.3: 896 | version "1.2.3" 897 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" 898 | integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== 899 | 900 | is-date-object@^1.0.1: 901 | version "1.0.4" 902 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.4.tgz#550cfcc03afada05eea3dd30981c7b09551f73e5" 903 | integrity sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A== 904 | 905 | is-extglob@^2.1.1: 906 | version "2.1.1" 907 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 908 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 909 | 910 | is-generator-function@^1.0.7: 911 | version "1.0.9" 912 | resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.9.tgz#e5f82c2323673e7fcad3d12858c83c4039f6399c" 913 | integrity sha512-ZJ34p1uvIfptHCN7sFTjGibB9/oBg17sHqzDLfuwhvmN/qLVvIQXRQ8licZQ35WJ8KuEQt/etnnzQFI9C9Ue/A== 914 | 915 | is-glob@^4.0.1, is-glob@~4.0.1: 916 | version "4.0.1" 917 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 918 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 919 | dependencies: 920 | is-extglob "^2.1.1" 921 | 922 | is-nan@^1.2.1: 923 | version "1.3.2" 924 | resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" 925 | integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== 926 | dependencies: 927 | call-bind "^1.0.0" 928 | define-properties "^1.1.3" 929 | 930 | is-negative-zero@^2.0.1: 931 | version "2.0.1" 932 | resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" 933 | integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== 934 | 935 | is-number-object@^1.0.4: 936 | version "1.0.5" 937 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.5.tgz#6edfaeed7950cff19afedce9fbfca9ee6dd289eb" 938 | integrity sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw== 939 | 940 | is-number@^7.0.0: 941 | version "7.0.0" 942 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 943 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 944 | 945 | is-regex@^1.1.3: 946 | version "1.1.3" 947 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f" 948 | integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ== 949 | dependencies: 950 | call-bind "^1.0.2" 951 | has-symbols "^1.0.2" 952 | 953 | is-string@^1.0.5, is-string@^1.0.6: 954 | version "1.0.6" 955 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f" 956 | integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w== 957 | 958 | is-symbol@^1.0.2, is-symbol@^1.0.3: 959 | version "1.0.4" 960 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" 961 | integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== 962 | dependencies: 963 | has-symbols "^1.0.2" 964 | 965 | is-typed-array@^1.1.3: 966 | version "1.1.5" 967 | resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.5.tgz#f32e6e096455e329eb7b423862456aa213f0eb4e" 968 | integrity sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug== 969 | dependencies: 970 | available-typed-arrays "^1.0.2" 971 | call-bind "^1.0.2" 972 | es-abstract "^1.18.0-next.2" 973 | foreach "^2.0.5" 974 | has-symbols "^1.0.1" 975 | 976 | jest-worker@27.0.0-next.5: 977 | version "27.0.0-next.5" 978 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.0-next.5.tgz#5985ee29b12a4e191f4aae4bb73b97971d86ec28" 979 | integrity sha512-mk0umAQ5lT+CaOJ+Qp01N6kz48sJG2kr2n1rX0koqKf6FIygQV0qLOdN9SCYID4IVeSigDOcPeGLozdMLYfb5g== 980 | dependencies: 981 | "@types/node" "*" 982 | merge-stream "^2.0.0" 983 | supports-color "^8.0.0" 984 | 985 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 986 | version "4.0.0" 987 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 988 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 989 | 990 | json5@^1.0.1: 991 | version "1.0.1" 992 | resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" 993 | integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== 994 | dependencies: 995 | minimist "^1.2.0" 996 | 997 | loader-utils@1.2.3: 998 | version "1.2.3" 999 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" 1000 | integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== 1001 | dependencies: 1002 | big.js "^5.2.2" 1003 | emojis-list "^2.0.0" 1004 | json5 "^1.0.1" 1005 | 1006 | locate-path@^5.0.0: 1007 | version "5.0.0" 1008 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 1009 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 1010 | dependencies: 1011 | p-locate "^4.1.0" 1012 | 1013 | lodash.sortby@^4.7.0: 1014 | version "4.7.0" 1015 | resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" 1016 | integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= 1017 | 1018 | loose-envify@^1.1.0: 1019 | version "1.4.0" 1020 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 1021 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 1022 | dependencies: 1023 | js-tokens "^3.0.0 || ^4.0.0" 1024 | 1025 | make-dir@^3.0.2: 1026 | version "3.1.0" 1027 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" 1028 | integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== 1029 | dependencies: 1030 | semver "^6.0.0" 1031 | 1032 | md5.js@^1.3.4: 1033 | version "1.3.5" 1034 | resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" 1035 | integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== 1036 | dependencies: 1037 | hash-base "^3.0.0" 1038 | inherits "^2.0.1" 1039 | safe-buffer "^5.1.2" 1040 | 1041 | merge-stream@^2.0.0: 1042 | version "2.0.0" 1043 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 1044 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 1045 | 1046 | miller-rabin@^4.0.0: 1047 | version "4.0.1" 1048 | resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" 1049 | integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== 1050 | dependencies: 1051 | bn.js "^4.0.0" 1052 | brorand "^1.0.1" 1053 | 1054 | minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: 1055 | version "1.0.1" 1056 | resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" 1057 | integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== 1058 | 1059 | minimalistic-crypto-utils@^1.0.1: 1060 | version "1.0.1" 1061 | resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" 1062 | integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= 1063 | 1064 | minimist@^1.2.0: 1065 | version "1.2.5" 1066 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 1067 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 1068 | 1069 | ms@2.0.0: 1070 | version "2.0.0" 1071 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1072 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 1073 | 1074 | nanoid@^3.1.23: 1075 | version "3.1.30" 1076 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" 1077 | integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ== 1078 | 1079 | neo-async@^2.6.1: 1080 | version "2.6.2" 1081 | resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" 1082 | integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== 1083 | 1084 | next@^12.0.1: 1085 | version "12.0.1" 1086 | resolved "https://registry.yarnpkg.com/next/-/next-12.0.1.tgz#7b82a73bc185bfda7372e7e8309f9b38e6be9cb0" 1087 | integrity sha512-4MNXAbD9+Tmtejg0TOKbaP52Cgu4mIn2ejKMLHWV0acxWGkkcE7QvdZwvg5pkg3fQBMrgucOxxtmw4D7yWaZvg== 1088 | dependencies: 1089 | "@babel/runtime" "7.15.4" 1090 | "@hapi/accept" "5.0.2" 1091 | "@next/env" "12.0.1" 1092 | "@next/polyfill-module" "12.0.1" 1093 | "@next/react-dev-overlay" "12.0.1" 1094 | "@next/react-refresh-utils" "12.0.1" 1095 | "@node-rs/helper" "1.2.1" 1096 | acorn "8.5.0" 1097 | assert "2.0.0" 1098 | browserify-zlib "0.2.0" 1099 | browserslist "4.16.6" 1100 | buffer "5.6.0" 1101 | caniuse-lite "^1.0.30001228" 1102 | chalk "2.4.2" 1103 | chokidar "3.5.1" 1104 | constants-browserify "1.0.0" 1105 | crypto-browserify "3.12.0" 1106 | cssnano-simple "3.0.0" 1107 | domain-browser "4.19.0" 1108 | encoding "0.1.13" 1109 | etag "1.8.1" 1110 | events "3.3.0" 1111 | find-cache-dir "3.3.1" 1112 | get-orientation "1.1.2" 1113 | https-browserify "1.0.0" 1114 | image-size "1.0.0" 1115 | jest-worker "27.0.0-next.5" 1116 | node-fetch "2.6.1" 1117 | node-html-parser "1.4.9" 1118 | os-browserify "0.3.0" 1119 | p-limit "3.1.0" 1120 | path-browserify "1.0.1" 1121 | postcss "8.2.15" 1122 | process "0.11.10" 1123 | querystring-es3 "0.2.1" 1124 | raw-body "2.4.1" 1125 | react-is "17.0.2" 1126 | react-refresh "0.8.3" 1127 | react-server-dom-webpack "0.0.0-experimental-3c4c1c470-20211021" 1128 | regenerator-runtime "0.13.4" 1129 | stream-browserify "3.0.0" 1130 | stream-http "3.1.1" 1131 | string_decoder "1.3.0" 1132 | styled-jsx "5.0.0-beta.3" 1133 | timers-browserify "2.0.12" 1134 | tty-browserify "0.0.1" 1135 | use-subscription "1.5.1" 1136 | util "0.12.4" 1137 | vm-browserify "1.1.2" 1138 | watchpack "2.1.1" 1139 | web-streams-polyfill "3.0.3" 1140 | optionalDependencies: 1141 | "@next/swc-android-arm64" "12.0.1" 1142 | "@next/swc-darwin-arm64" "12.0.1" 1143 | "@next/swc-darwin-x64" "12.0.1" 1144 | "@next/swc-linux-arm-gnueabihf" "12.0.1" 1145 | "@next/swc-linux-arm64-gnu" "12.0.1" 1146 | "@next/swc-linux-arm64-musl" "12.0.1" 1147 | "@next/swc-linux-x64-gnu" "12.0.1" 1148 | "@next/swc-linux-x64-musl" "12.0.1" 1149 | "@next/swc-win32-arm64-msvc" "12.0.1" 1150 | "@next/swc-win32-ia32-msvc" "12.0.1" 1151 | "@next/swc-win32-x64-msvc" "12.0.1" 1152 | 1153 | node-fetch@2.6.1: 1154 | version "2.6.1" 1155 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" 1156 | integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== 1157 | 1158 | node-html-parser@1.4.9: 1159 | version "1.4.9" 1160 | resolved "https://registry.yarnpkg.com/node-html-parser/-/node-html-parser-1.4.9.tgz#3c8f6cac46479fae5800725edb532e9ae8fd816c" 1161 | integrity sha512-UVcirFD1Bn0O+TSmloHeHqZZCxHjvtIeGdVdGMhyZ8/PWlEiZaZ5iJzR189yKZr8p0FXN58BUeC7RHRkf/KYGw== 1162 | dependencies: 1163 | he "1.2.0" 1164 | 1165 | node-releases@^1.1.71: 1166 | version "1.1.73" 1167 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.73.tgz#dd4e81ddd5277ff846b80b52bb40c49edf7a7b20" 1168 | integrity sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg== 1169 | 1170 | normalize-path@^3.0.0, normalize-path@~3.0.0: 1171 | version "3.0.0" 1172 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 1173 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1174 | 1175 | object-assign@^4.1.1: 1176 | version "4.1.1" 1177 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1178 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 1179 | 1180 | object-inspect@^1.10.3: 1181 | version "1.10.3" 1182 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.3.tgz#c2aa7d2d09f50c99375704f7a0adf24c5782d369" 1183 | integrity sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw== 1184 | 1185 | object-is@^1.0.1: 1186 | version "1.1.5" 1187 | resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" 1188 | integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== 1189 | dependencies: 1190 | call-bind "^1.0.2" 1191 | define-properties "^1.1.3" 1192 | 1193 | object-keys@^1.0.12, object-keys@^1.1.1: 1194 | version "1.1.1" 1195 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 1196 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 1197 | 1198 | object.assign@^4.1.2: 1199 | version "4.1.2" 1200 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" 1201 | integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== 1202 | dependencies: 1203 | call-bind "^1.0.0" 1204 | define-properties "^1.1.3" 1205 | has-symbols "^1.0.1" 1206 | object-keys "^1.1.1" 1207 | 1208 | os-browserify@0.3.0: 1209 | version "0.3.0" 1210 | resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" 1211 | integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= 1212 | 1213 | p-limit@3.1.0: 1214 | version "3.1.0" 1215 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 1216 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 1217 | dependencies: 1218 | yocto-queue "^0.1.0" 1219 | 1220 | p-limit@^2.2.0: 1221 | version "2.3.0" 1222 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 1223 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 1224 | dependencies: 1225 | p-try "^2.0.0" 1226 | 1227 | p-locate@^4.1.0: 1228 | version "4.1.0" 1229 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 1230 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 1231 | dependencies: 1232 | p-limit "^2.2.0" 1233 | 1234 | p-try@^2.0.0: 1235 | version "2.2.0" 1236 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 1237 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 1238 | 1239 | pako@~1.0.5: 1240 | version "1.0.11" 1241 | resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" 1242 | integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== 1243 | 1244 | parse-asn1@^5.0.0, parse-asn1@^5.1.5: 1245 | version "5.1.6" 1246 | resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" 1247 | integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== 1248 | dependencies: 1249 | asn1.js "^5.2.0" 1250 | browserify-aes "^1.0.0" 1251 | evp_bytestokey "^1.0.0" 1252 | pbkdf2 "^3.0.3" 1253 | safe-buffer "^5.1.1" 1254 | 1255 | path-browserify@1.0.1: 1256 | version "1.0.1" 1257 | resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" 1258 | integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== 1259 | 1260 | path-exists@^4.0.0: 1261 | version "4.0.0" 1262 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 1263 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 1264 | 1265 | pbkdf2@^3.0.3: 1266 | version "3.1.2" 1267 | resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" 1268 | integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== 1269 | dependencies: 1270 | create-hash "^1.1.2" 1271 | create-hmac "^1.1.4" 1272 | ripemd160 "^2.0.1" 1273 | safe-buffer "^5.0.1" 1274 | sha.js "^2.4.8" 1275 | 1276 | picomatch@^2.0.4, picomatch@^2.2.1: 1277 | version "2.3.0" 1278 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" 1279 | integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== 1280 | 1281 | pkg-dir@^4.1.0: 1282 | version "4.2.0" 1283 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" 1284 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== 1285 | dependencies: 1286 | find-up "^4.0.0" 1287 | 1288 | platform@1.3.6: 1289 | version "1.3.6" 1290 | resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.6.tgz#48b4ce983164b209c2d45a107adb31f473a6e7a7" 1291 | integrity sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg== 1292 | 1293 | postcss@8.2.15: 1294 | version "8.2.15" 1295 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.15.tgz#9e66ccf07292817d226fc315cbbf9bc148fbca65" 1296 | integrity sha512-2zO3b26eJD/8rb106Qu2o7Qgg52ND5HPjcyQiK2B98O388h43A448LCslC0dI2P97wCAQRJsFvwTRcXxTKds+Q== 1297 | dependencies: 1298 | colorette "^1.2.2" 1299 | nanoid "^3.1.23" 1300 | source-map "^0.6.1" 1301 | 1302 | process@0.11.10: 1303 | version "0.11.10" 1304 | resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" 1305 | integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= 1306 | 1307 | public-encrypt@^4.0.0: 1308 | version "4.0.3" 1309 | resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" 1310 | integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== 1311 | dependencies: 1312 | bn.js "^4.1.0" 1313 | browserify-rsa "^4.0.0" 1314 | create-hash "^1.1.0" 1315 | parse-asn1 "^5.0.0" 1316 | randombytes "^2.0.1" 1317 | safe-buffer "^5.1.2" 1318 | 1319 | punycode@^2.1.0: 1320 | version "2.1.1" 1321 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 1322 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 1323 | 1324 | querystring-es3@0.2.1: 1325 | version "0.2.1" 1326 | resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" 1327 | integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= 1328 | 1329 | queue@6.0.2: 1330 | version "6.0.2" 1331 | resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65" 1332 | integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA== 1333 | dependencies: 1334 | inherits "~2.0.3" 1335 | 1336 | randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: 1337 | version "2.1.0" 1338 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 1339 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 1340 | dependencies: 1341 | safe-buffer "^5.1.0" 1342 | 1343 | randomfill@^1.0.3: 1344 | version "1.0.4" 1345 | resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" 1346 | integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== 1347 | dependencies: 1348 | randombytes "^2.0.5" 1349 | safe-buffer "^5.1.0" 1350 | 1351 | raw-body@2.4.1: 1352 | version "2.4.1" 1353 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" 1354 | integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA== 1355 | dependencies: 1356 | bytes "3.1.0" 1357 | http-errors "1.7.3" 1358 | iconv-lite "0.4.24" 1359 | unpipe "1.0.0" 1360 | 1361 | react-is@17.0.2: 1362 | version "17.0.2" 1363 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" 1364 | integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== 1365 | 1366 | react-refresh@0.8.3: 1367 | version "0.8.3" 1368 | resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f" 1369 | integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg== 1370 | 1371 | react-server-dom-webpack@0.0.0-experimental-3c4c1c470-20211021: 1372 | version "0.0.0-experimental-3c4c1c470-20211021" 1373 | resolved "https://registry.yarnpkg.com/react-server-dom-webpack/-/react-server-dom-webpack-0.0.0-experimental-3c4c1c470-20211021.tgz#cdcaa2f19c8d820c1f4d31252319fb05e2de0e88" 1374 | integrity sha512-YyRlED5kR0C2aQ3IJ/8BR2TELt51RcDZhnUDKz+m/HU+Gb/qak0CZkG0A8Zxffom9VI6HFkUj1dRFZqm0Lh9Pg== 1375 | dependencies: 1376 | acorn "^6.2.1" 1377 | loose-envify "^1.1.0" 1378 | neo-async "^2.6.1" 1379 | object-assign "^4.1.1" 1380 | 1381 | readable-stream@^3.5.0, readable-stream@^3.6.0: 1382 | version "3.6.0" 1383 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" 1384 | integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== 1385 | dependencies: 1386 | inherits "^2.0.3" 1387 | string_decoder "^1.1.1" 1388 | util-deprecate "^1.0.1" 1389 | 1390 | readdirp@~3.5.0: 1391 | version "3.5.0" 1392 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" 1393 | integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== 1394 | dependencies: 1395 | picomatch "^2.2.1" 1396 | 1397 | regenerator-runtime@0.13.4: 1398 | version "0.13.4" 1399 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.4.tgz#e96bf612a3362d12bb69f7e8f74ffeab25c7ac91" 1400 | integrity sha512-plpwicqEzfEyTQohIKktWigcLzmNStMGwbOUbykx51/29Z3JOGYldaaNGK7ngNXV+UcoqvIMmloZ48Sr74sd+g== 1401 | 1402 | regenerator-runtime@^0.13.4: 1403 | version "0.13.7" 1404 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" 1405 | integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== 1406 | 1407 | ripemd160@^2.0.0, ripemd160@^2.0.1: 1408 | version "2.0.2" 1409 | resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" 1410 | integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== 1411 | dependencies: 1412 | hash-base "^3.0.0" 1413 | inherits "^2.0.1" 1414 | 1415 | safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: 1416 | version "5.2.1" 1417 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1418 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1419 | 1420 | safe-buffer@~5.1.1: 1421 | version "5.1.2" 1422 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1423 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1424 | 1425 | "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.1.0: 1426 | version "2.1.2" 1427 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1428 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1429 | 1430 | semver@^6.0.0: 1431 | version "6.3.0" 1432 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1433 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1434 | 1435 | setimmediate@^1.0.4: 1436 | version "1.0.5" 1437 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" 1438 | integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= 1439 | 1440 | setprototypeof@1.1.1: 1441 | version "1.1.1" 1442 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" 1443 | integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== 1444 | 1445 | sha.js@^2.4.0, sha.js@^2.4.8: 1446 | version "2.4.11" 1447 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" 1448 | integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== 1449 | dependencies: 1450 | inherits "^2.0.1" 1451 | safe-buffer "^5.0.1" 1452 | 1453 | shell-quote@1.7.2: 1454 | version "1.7.2" 1455 | resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" 1456 | integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== 1457 | 1458 | source-map@0.7.3: 1459 | version "0.7.3" 1460 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" 1461 | integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== 1462 | 1463 | source-map@0.8.0-beta.0: 1464 | version "0.8.0-beta.0" 1465 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" 1466 | integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== 1467 | dependencies: 1468 | whatwg-url "^7.0.0" 1469 | 1470 | source-map@^0.6.1: 1471 | version "0.6.1" 1472 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1473 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1474 | 1475 | stacktrace-parser@0.1.10: 1476 | version "0.1.10" 1477 | resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a" 1478 | integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg== 1479 | dependencies: 1480 | type-fest "^0.7.1" 1481 | 1482 | "statuses@>= 1.5.0 < 2": 1483 | version "1.5.0" 1484 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" 1485 | integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= 1486 | 1487 | stream-browserify@3.0.0: 1488 | version "3.0.0" 1489 | resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" 1490 | integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== 1491 | dependencies: 1492 | inherits "~2.0.4" 1493 | readable-stream "^3.5.0" 1494 | 1495 | stream-http@3.1.1: 1496 | version "3.1.1" 1497 | resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.1.1.tgz#0370a8017cf8d050b9a8554afe608f043eaff564" 1498 | integrity sha512-S7OqaYu0EkFpgeGFb/NPOoPLxFko7TPqtEeFg5DXPB4v/KETHG0Ln6fRFrNezoelpaDKmycEmmZ81cC9DAwgYg== 1499 | dependencies: 1500 | builtin-status-codes "^3.0.0" 1501 | inherits "^2.0.4" 1502 | readable-stream "^3.6.0" 1503 | xtend "^4.0.2" 1504 | 1505 | stream-parser@^0.3.1: 1506 | version "0.3.1" 1507 | resolved "https://registry.yarnpkg.com/stream-parser/-/stream-parser-0.3.1.tgz#1618548694420021a1182ff0af1911c129761773" 1508 | integrity sha1-FhhUhpRCACGhGC/wrxkRwSl2F3M= 1509 | dependencies: 1510 | debug "2" 1511 | 1512 | string-hash@1.1.3: 1513 | version "1.1.3" 1514 | resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" 1515 | integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= 1516 | 1517 | string.prototype.trimend@^1.0.4: 1518 | version "1.0.4" 1519 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" 1520 | integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== 1521 | dependencies: 1522 | call-bind "^1.0.2" 1523 | define-properties "^1.1.3" 1524 | 1525 | string.prototype.trimstart@^1.0.4: 1526 | version "1.0.4" 1527 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" 1528 | integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== 1529 | dependencies: 1530 | call-bind "^1.0.2" 1531 | define-properties "^1.1.3" 1532 | 1533 | string_decoder@1.3.0, string_decoder@^1.1.1: 1534 | version "1.3.0" 1535 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" 1536 | integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== 1537 | dependencies: 1538 | safe-buffer "~5.2.0" 1539 | 1540 | strip-ansi@6.0.1: 1541 | version "6.0.1" 1542 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 1543 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1544 | dependencies: 1545 | ansi-regex "^5.0.1" 1546 | 1547 | styled-jsx@5.0.0-beta.3: 1548 | version "5.0.0-beta.3" 1549 | resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.0-beta.3.tgz#400d16179b5dff10d5954ab8be27a9a1b7780dd2" 1550 | integrity sha512-HtDDGSFPvmjHIqWf9n8Oo54tAoY/DTplvlyOH2+YOtD80Sp31Ap8ffSmxhgk5EkUoJ7xepdXMGT650mSffWuRA== 1551 | dependencies: 1552 | "@babel/plugin-syntax-jsx" "7.14.5" 1553 | "@babel/types" "7.15.0" 1554 | convert-source-map "1.7.0" 1555 | loader-utils "1.2.3" 1556 | source-map "0.7.3" 1557 | string-hash "1.1.3" 1558 | stylis "3.5.4" 1559 | stylis-rule-sheet "0.0.10" 1560 | 1561 | stylis-rule-sheet@0.0.10: 1562 | version "0.0.10" 1563 | resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430" 1564 | integrity sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw== 1565 | 1566 | stylis@3.5.4: 1567 | version "3.5.4" 1568 | resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe" 1569 | integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q== 1570 | 1571 | supports-color@^5.3.0: 1572 | version "5.5.0" 1573 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1574 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1575 | dependencies: 1576 | has-flag "^3.0.0" 1577 | 1578 | supports-color@^7.1.0: 1579 | version "7.2.0" 1580 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1581 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1582 | dependencies: 1583 | has-flag "^4.0.0" 1584 | 1585 | supports-color@^8.0.0: 1586 | version "8.1.1" 1587 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 1588 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 1589 | dependencies: 1590 | has-flag "^4.0.0" 1591 | 1592 | timers-browserify@2.0.12: 1593 | version "2.0.12" 1594 | resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" 1595 | integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== 1596 | dependencies: 1597 | setimmediate "^1.0.4" 1598 | 1599 | to-fast-properties@^2.0.0: 1600 | version "2.0.0" 1601 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 1602 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 1603 | 1604 | to-regex-range@^5.0.1: 1605 | version "5.0.1" 1606 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1607 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1608 | dependencies: 1609 | is-number "^7.0.0" 1610 | 1611 | toidentifier@1.0.0: 1612 | version "1.0.0" 1613 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" 1614 | integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== 1615 | 1616 | tr46@^1.0.1: 1617 | version "1.0.1" 1618 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" 1619 | integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= 1620 | dependencies: 1621 | punycode "^2.1.0" 1622 | 1623 | tty-browserify@0.0.1: 1624 | version "0.0.1" 1625 | resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" 1626 | integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== 1627 | 1628 | type-fest@^0.7.1: 1629 | version "0.7.1" 1630 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" 1631 | integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== 1632 | 1633 | unbox-primitive@^1.0.1: 1634 | version "1.0.1" 1635 | resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" 1636 | integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== 1637 | dependencies: 1638 | function-bind "^1.1.1" 1639 | has-bigints "^1.0.1" 1640 | has-symbols "^1.0.2" 1641 | which-boxed-primitive "^1.0.2" 1642 | 1643 | unpipe@1.0.0: 1644 | version "1.0.0" 1645 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 1646 | integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= 1647 | 1648 | use-subscription@1.5.1: 1649 | version "1.5.1" 1650 | resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1" 1651 | integrity sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA== 1652 | dependencies: 1653 | object-assign "^4.1.1" 1654 | 1655 | util-deprecate@^1.0.1: 1656 | version "1.0.2" 1657 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1658 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 1659 | 1660 | util@0.12.4, util@^0.12.0: 1661 | version "0.12.4" 1662 | resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253" 1663 | integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw== 1664 | dependencies: 1665 | inherits "^2.0.3" 1666 | is-arguments "^1.0.4" 1667 | is-generator-function "^1.0.7" 1668 | is-typed-array "^1.1.3" 1669 | safe-buffer "^5.1.2" 1670 | which-typed-array "^1.1.2" 1671 | 1672 | vm-browserify@1.1.2: 1673 | version "1.1.2" 1674 | resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" 1675 | integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== 1676 | 1677 | watchpack@2.1.1: 1678 | version "2.1.1" 1679 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.1.tgz#e99630550fca07df9f90a06056987baa40a689c7" 1680 | integrity sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw== 1681 | dependencies: 1682 | glob-to-regexp "^0.4.1" 1683 | graceful-fs "^4.1.2" 1684 | 1685 | web-streams-polyfill@3.0.3: 1686 | version "3.0.3" 1687 | resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.0.3.tgz#f49e487eedeca47a207c1aee41ee5578f884b42f" 1688 | integrity sha512-d2H/t0eqRNM4w2WvmTdoeIvzAUSpK7JmATB8Nr2lb7nQ9BTIJVjbQ/TRFVEh2gUH1HwclPdoPtfMoFfetXaZnA== 1689 | 1690 | webidl-conversions@^4.0.2: 1691 | version "4.0.2" 1692 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" 1693 | integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== 1694 | 1695 | whatwg-url@^7.0.0: 1696 | version "7.1.0" 1697 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" 1698 | integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== 1699 | dependencies: 1700 | lodash.sortby "^4.7.0" 1701 | tr46 "^1.0.1" 1702 | webidl-conversions "^4.0.2" 1703 | 1704 | which-boxed-primitive@^1.0.2: 1705 | version "1.0.2" 1706 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" 1707 | integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== 1708 | dependencies: 1709 | is-bigint "^1.0.1" 1710 | is-boolean-object "^1.1.0" 1711 | is-number-object "^1.0.4" 1712 | is-string "^1.0.5" 1713 | is-symbol "^1.0.3" 1714 | 1715 | which-typed-array@^1.1.2: 1716 | version "1.1.4" 1717 | resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.4.tgz#8fcb7d3ee5adf2d771066fba7cf37e32fe8711ff" 1718 | integrity sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA== 1719 | dependencies: 1720 | available-typed-arrays "^1.0.2" 1721 | call-bind "^1.0.0" 1722 | es-abstract "^1.18.0-next.1" 1723 | foreach "^2.0.5" 1724 | function-bind "^1.1.1" 1725 | has-symbols "^1.0.1" 1726 | is-typed-array "^1.1.3" 1727 | 1728 | xtend@^4.0.2: 1729 | version "4.0.2" 1730 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 1731 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 1732 | 1733 | yocto-queue@^0.1.0: 1734 | version "0.1.0" 1735 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 1736 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 1737 | -------------------------------------------------------------------------------- /hook.d.ts: -------------------------------------------------------------------------------- 1 | interface HookOptions { 2 | shouldRefresh?: (updatedPath: string) => boolean 3 | } 4 | 5 | export function useRemoteRefresh (options?: HookOptions): void 6 | -------------------------------------------------------------------------------- /hook.js: -------------------------------------------------------------------------------- 1 | const { useEffect, useRef } = require('react') 2 | const { useRouter } = require('next/router') 3 | 4 | module.exports.useRemoteRefresh = function ({ shouldRefresh } = {}) { 5 | if (process.env.NODE_ENV !== 'production') { 6 | const router = useRouter() 7 | const wsRef = useRef() 8 | useEffect(() => { 9 | const ws = new WebSocket(`ws://localhost:${process.env.remoteRefreshPort}/ws`) 10 | wsRef.current = ws 11 | return () => ws.close() 12 | }, []) 13 | useEffect(() => { 14 | const ws = wsRef.current 15 | const listener = (event) => { 16 | if (!shouldRefresh || shouldRefresh(event.data)) { 17 | router.replace(router.asPath, router.asPath, { scroll: false }) 18 | } 19 | } 20 | ws.addEventListener('message', listener) 21 | return () => ws.removeEventListener('message', listener) 22 | }, [shouldRefresh, router.asPath]) 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /hook.test.js: -------------------------------------------------------------------------------- 1 | const { fireEvent } = require('@testing-library/react') 2 | const { renderHook } = require('@testing-library/react-hooks') 3 | 4 | const { useRemoteRefresh } = require('./hook') 5 | const { mockRouter, routerWrapper } = require('./test-utils') 6 | 7 | describe('hook', () => { 8 | const port = 2000 9 | const originalNodeEnv = process.env.NODE_ENV 10 | let wsMock 11 | 12 | beforeAll(() => { 13 | process.env.remoteRefreshPort = port 14 | }) 15 | 16 | beforeEach(async () => { 17 | wsMock = new EventTarget() 18 | jest.spyOn(globalThis, 'WebSocket').mockReturnValue(wsMock) 19 | }) 20 | 21 | afterEach(async () => { 22 | jest.restoreAllMocks() 23 | process.env.NODE_ENV = originalNodeEnv 24 | }) 25 | 26 | it('establishes a local WebSocket connection', async () => { 27 | renderHook(useRemoteRefresh, { wrapper: routerWrapper }) 28 | 29 | expect(WebSocket).toHaveBeenCalledWith(`ws://localhost:${port}/ws`) 30 | }) 31 | 32 | it('does nothing when NODE_ENV is production', async () => { 33 | process.env.NODE_ENV = 'production' 34 | renderHook(useRemoteRefresh, { wrapper: routerWrapper }) 35 | 36 | expect(WebSocket).not.toHaveBeenCalled() 37 | }) 38 | 39 | it('refreshes when signaled', async () => { 40 | renderHook(useRemoteRefresh, { wrapper: routerWrapper }) 41 | const event = new Event('message') 42 | event.data = 'foo/bar' 43 | fireEvent(wsMock, event) 44 | 45 | expect(mockRouter.replace).toHaveBeenCalled() 46 | }) 47 | 48 | it('refreshes when shouldRefresh returns true', async () => { 49 | const shouldRefresh = jest.fn(() => true) 50 | renderHook(useRemoteRefresh, { wrapper: routerWrapper, initialProps: { shouldRefresh } }) 51 | const event = new Event('message') 52 | event.data = 'foo/bar' 53 | fireEvent(wsMock, event) 54 | 55 | expect(shouldRefresh).toHaveBeenCalledWith('foo/bar') 56 | expect(mockRouter.replace).toHaveBeenCalled() 57 | }) 58 | 59 | it('does not refresh when shouldRefresh returns false', async () => { 60 | const shouldRefresh = jest.fn(() => false) 61 | renderHook(useRemoteRefresh, { wrapper: routerWrapper, initialProps: { shouldRefresh } }) 62 | const event = new Event('message') 63 | event.data = 'foo/bar' 64 | fireEvent(wsMock, event) 65 | 66 | expect(shouldRefresh).toHaveBeenCalledWith('foo/bar') 67 | expect(mockRouter.replace).not.toHaveBeenCalled() 68 | }) 69 | }) 70 | -------------------------------------------------------------------------------- /index.d.ts: -------------------------------------------------------------------------------- 1 | import { NextConfig } from 'next' 2 | 3 | interface PluginOptions { 4 | paths: string[] 5 | ignored?: string 6 | signal?: AbortSignal 7 | } 8 | 9 | export default function plugin (options: PluginOptions): (nextConfig: NextConfig) => Promise 10 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const createServer = require('./server') 2 | 3 | module.exports = function plugin(options) { 4 | let port 5 | 6 | return async function withConfig(nextConfig = {}) { 7 | if (process.env.NODE_ENV !== 'production') { 8 | if (port === undefined) { 9 | const server = createServer(options) 10 | await new Promise((resolve, reject) => { 11 | server.on('listening', resolve) 12 | server.on('error', reject) 13 | server.on('close', reject) 14 | }); 15 | ({ port } = server.address()) 16 | } 17 | 18 | if (nextConfig.env === undefined) { 19 | nextConfig.env = {} 20 | } 21 | 22 | nextConfig.env.remoteRefreshPort = String(port) 23 | } 24 | 25 | return nextConfig 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /index.test.js: -------------------------------------------------------------------------------- 1 | const createServer = require('./server') 2 | const plugin = require('.') 3 | 4 | jest.mock('./server') 5 | 6 | describe('plugin', () => { 7 | beforeEach(() => { 8 | jest.clearAllMocks() 9 | }) 10 | 11 | it('sets remoteRefreshPort in the env', async () => { 12 | createServer.mockReturnValue({ 13 | address: () => ({ port: 2000 }), 14 | on: (event, callback) => { 15 | if (event === 'listening') callback() 16 | }, 17 | }) 18 | const withRemoteRefresh = plugin({ paths: '/test' }) 19 | 20 | const config = await withRemoteRefresh() 21 | 22 | expect(createServer).toHaveBeenCalledWith({ paths: '/test' }) 23 | expect(config.env).toEqual({ remoteRefreshPort: '2000' }) 24 | }) 25 | 26 | it('preserves existing env entries', async () => { 27 | createServer.mockReturnValue({ 28 | address: () => ({ port: 2000 }), 29 | on: (event, callback) => { 30 | if (event === 'listening') callback() 31 | }, 32 | }) 33 | const withRemoteRefresh = plugin() 34 | 35 | const config = await withRemoteRefresh({ env: { foo: 'bar' } }) 36 | 37 | expect(config.env).toEqual({ foo: 'bar', remoteRefreshPort: '2000' }) 38 | }) 39 | 40 | it('reuses an existing server instance', async () => { 41 | createServer.mockReturnValue({ 42 | address: () => ({ port: 2000 }), 43 | on: (event, callback) => { 44 | if (event === 'listening') callback() 45 | }, 46 | }) 47 | const withRemoteRefresh = plugin() 48 | 49 | const config1 = await withRemoteRefresh() 50 | createServer.mockReturnValue({ 51 | address: () => ({ port: 2001 }), 52 | on: (event, callback) => { 53 | if (event === 'listening') callback() 54 | }, 55 | }) 56 | const config2 = await withRemoteRefresh() 57 | 58 | expect(createServer).toHaveBeenCalledTimes(1) 59 | expect(config1.env).toEqual({ remoteRefreshPort: '2000' }) 60 | expect(config2.env).toEqual({ remoteRefreshPort: '2000' }) 61 | }) 62 | }) 63 | -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | testEnvironment: 'jsdom', 3 | resetMocks: true, 4 | setupFilesAfterEnv: ['@testing-library/jest-dom'], 5 | } 6 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "next-remote-refresh", 3 | "version": "0.10.1", 4 | "description": "Enables Fast Refresh for remote data in NextJS.", 5 | "author": "Travis Arnold", 6 | "license": "MIT", 7 | "main": "index.js", 8 | "files": [ 9 | "hook.js", 10 | "hook.d.ts", 11 | "index.d.ts", 12 | "server.js" 13 | ], 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/souporserious/next-remote-refresh" 17 | }, 18 | "keywords": [ 19 | "next", 20 | "refresh", 21 | "remote", 22 | "fast-refresh" 23 | ], 24 | "scripts": { 25 | "lint": "eslint .", 26 | "test": "jest" 27 | }, 28 | "peerDependencies": { 29 | "next": ">12.1.0", 30 | "react": ">17.0.0" 31 | }, 32 | "devDependencies": { 33 | "@testing-library/jest-dom": "^5.16.1", 34 | "@testing-library/react": "^12.1.2", 35 | "@testing-library/react-hooks": "^7.0.2", 36 | "@typescript-eslint/eslint-plugin": "^5.8.1", 37 | "@typescript-eslint/parser": "^5.8.1", 38 | "all-contributors-cli": "^6.20.0", 39 | "eslint": "^7.12.1", 40 | "eslint-config-standard-with-typescript": "^21.0.1", 41 | "eslint-plugin-import": "^2.22.1", 42 | "eslint-plugin-node": "^11.1.0", 43 | "eslint-plugin-promise": "^5.0.0", 44 | "jest": "^27.4.5", 45 | "jest-environment-jsdom": "^27.4.4", 46 | "next": "^12.0.4", 47 | "react": "^17.0.2", 48 | "react-dom": "^17.0.2", 49 | "typescript": "~4.4.4" 50 | }, 51 | "dependencies": { 52 | "chokidar": "^3.5.2", 53 | "ws": "^8.2.3" 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /server.js: -------------------------------------------------------------------------------- 1 | const chokidar = require('chokidar') 2 | const WebSocket = require('ws') 3 | 4 | module.exports = function createServer({ paths, ignored }) { 5 | const wss = new WebSocket.Server({ port: 0 }) 6 | let sockets = [] 7 | 8 | const watcher = chokidar 9 | .watch(paths, { cwd: process.cwd(), ignored, ignoreInitial: true }) 10 | .on('all', (event, filePath) => { 11 | console.log(`[remote-refresh] ${filePath} updated`) 12 | sockets.map((socket) => socket.send(filePath)) 13 | }) 14 | 15 | return wss 16 | .on('listening', () => { 17 | console.log( 18 | `[remote-refresh] server is listening at port ${wss.address().port}`, 19 | ) 20 | }) 21 | .on('connection', (ws) => { 22 | sockets.push(ws) 23 | ws.on('close', () => { 24 | sockets = sockets.filter((socket) => socket !== ws) 25 | }) 26 | }) 27 | .on('close', () => { 28 | watcher.close() 29 | }) 30 | } 31 | -------------------------------------------------------------------------------- /server.test.js: -------------------------------------------------------------------------------- 1 | const { EventEmitter, once } = require('events') 2 | const { WebSocket } = require('ws') 3 | 4 | const createServer = require('./server') 5 | 6 | jest.mock('chokidar') 7 | 8 | describe('server', () => { 9 | let wss 10 | let watcherMock 11 | 12 | beforeEach(async () => { 13 | watcherMock = Object.assign(new EventEmitter(), { 14 | close: jest.fn(), 15 | }) 16 | jest.spyOn(require('chokidar'), 'watch').mockReturnValue(watcherMock) 17 | wss = createServer({ paths: '/test' }) 18 | await once(wss, 'listening') 19 | }) 20 | 21 | afterEach(async () => { 22 | wss.close() 23 | jest.restoreAllMocks() 24 | }) 25 | 26 | it('accepts a websocket connection', async () => { 27 | const socket = new WebSocket(`ws://localhost:${wss.address().port}`) 28 | try { 29 | await once(socket, 'open') 30 | } finally { 31 | socket.close() 32 | } 33 | }) 34 | 35 | it('watches a directory for changes', async () => { 36 | const socket = new WebSocket(`ws://localhost:${wss.address().port}`) 37 | try { 38 | await once(socket, 'open') 39 | 40 | watcherMock.emit('all', 'change', '/test/foo.txt') 41 | 42 | const [data] = await once(socket, 'message') 43 | 44 | // TODO: server sends `undefined` when a file changes outside of the working directory 45 | expect(data.toString('utf8')).toEqual('/test/foo.txt') 46 | } finally { 47 | socket.close() 48 | } 49 | }) 50 | }) 51 | -------------------------------------------------------------------------------- /test-utils.js: -------------------------------------------------------------------------------- 1 | /* eslint-env jest */ 2 | const { RouterContext } = require('next/dist/shared/lib/router-context') 3 | const { createElement } = require('react') 4 | 5 | const mockRouter = { 6 | basePath: '', 7 | pathname: '/', 8 | route: '/', 9 | asPath: '/', 10 | query: {}, 11 | push: jest.fn(), 12 | replace: jest.fn(), 13 | reload: jest.fn(), 14 | back: jest.fn(), 15 | prefetch: jest.fn(), 16 | beforePopState: jest.fn(), 17 | events: { 18 | on: jest.fn(), 19 | off: jest.fn(), 20 | emit: jest.fn(), 21 | }, 22 | isFallback: false, 23 | } 24 | 25 | const routerWrapper = ({ children }) => createElement(RouterContext.Provider, { value: mockRouter }, children) 26 | 27 | module.exports = { mockRouter, routerWrapper } 28 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "ESNext", 4 | "moduleResolution": "node", 5 | "noEmit": true, 6 | "strict": true 7 | } 8 | } --------------------------------------------------------------------------------