├── .gitignore
├── .npmrc
├── .prettierignore
├── .prettierrc
├── .vscode
├── extensions.json
└── settings.json
├── LICENSE
├── README.md
├── index.html
├── package.json
├── pnpm-lock.yaml
├── public
├── favicon.svg
├── pwa-192x192.png
├── pwa-512x512.png
├── robots.txt
└── safari-pinned-tab.svg
├── scripts
└── move-dist.sh
├── serverless
├── .gitignore
├── api
│ ├── get-page-props.js
│ └── index.js
├── package-lock.json
├── package.json
└── vercel.json
├── src
├── App.tsx
├── api.tsx
├── components
│ └── Footer.tsx
├── i18n
│ ├── index.ts
│ ├── locales.ts
│ └── translations
│ │ ├── README.md
│ │ ├── en.json
│ │ ├── es.json
│ │ ├── fr.json
│ │ ├── it.json
│ │ ├── ja.json
│ │ ├── ko.json
│ │ ├── tr.json
│ │ ├── vi.json
│ │ └── zh-CN.json
├── main.ts
├── pages
│ ├── README.md
│ ├── [...all].tsx
│ ├── about.mdx
│ ├── hi
│ │ └── [name].tsx
│ └── index.tsx
├── shims.d.ts
├── styles
│ ├── main.css
│ └── markdown.css
└── utils
│ ├── dark-theme.ts
│ └── local-storage.ts
├── tailwind.config.ts
├── tsconfig.json
└── vite.config.ts
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | *.local
3 | dist
4 | dist-ssr
5 | node_modules
6 | **/_*
7 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | shamefully-hoist=true
2 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | /node_modules/**
2 | /.cache/**
3 | /dist/**
4 | /tests/unit/coverage/**
5 | **/.temp/**
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | semi: false
2 | singleQuote: true
3 | trailingComma: es5
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": [
3 | "lokalise.i18n-ally",
4 | "antfu.iconify",
5 | "dbaeumer.vscode-eslint"
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "i18n-ally.localesPaths": "locales",
3 | "i18n-ally.keystyle": "nested",
4 | "i18n-ally.sortKeys": true,
5 | "cSpell.words": [
6 | "Reactesse"
7 | ],
8 | "typescript.tsdk": "node_modules/typescript/lib"
9 | }
10 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Fran Dios
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Reactesse SSR
2 |
3 | > React + Vite + SSR template based on [@antfu](https://github.com/antfu)'s [Vitesse](https://github.com/antfu/vitesse) with [`vite-ssr`](https://github.com/frandiox/vite-ssr).
4 |
5 |
6 | Live Demo
7 |
8 |
9 | ## Features
10 |
11 | - ⚡️ [React](https://github.com/facebook/react), [Vite 2](https://github.com/vitejs/vite), [pnpm](https://pnpm.js.org/), [ESBuild](https://github.com/evanw/esbuild)
12 |
13 | - 🗂 [File based routing](./src/pages)
14 |
15 | - 🎨 [Windi CSS](https://github.com/windicss/windicss) - on-demand Tailwind CSS with speed
16 |
17 | - 😃 [SVG icons](https://react-icons.github.io/react-icons/)
18 |
19 | - 🌍 [I18n ready](./src/i18n/translations)
20 |
21 | - 🗒 [Markdown Support](https://github.com/brillout/vite-plugin-mdx)
22 |
23 | - 🖨 Server-side rendering (SSR) in Node.js via [vite-ssr](https://github.com/frandiox/vite-ssr)
24 |
25 | - 🦾 TypeScript, of course
26 |
27 | - ☁️ Deploy on Vercel, minimal [config](./serverless/vercel.json)
28 |
29 |
30 |
31 | ## Pre-packed
32 |
33 | ### UI Frameworks
34 |
35 | - [Windi CSS](https://github.com/windicss/windicss) (On-demand [TailwindCSS](https://tailwindcss.com/)) - lighter and faster, with a bundle additional features!
36 | - [Windi CSS Typography](https://windicss.netlify.app/guide/plugins.html#typography) - similar to [Tailwind CSS Typography](https://github.com/tailwindlabs/tailwindcss-typograph) but for Windi CSS
37 |
38 | ### Plugins
39 |
40 | - [`vite-plugin-pages`](https://github.com/hannoeru/vite-plugin-pages) - file system based routing
41 | - [`vite-plugin-windicss`](https://github.com/antfu/vite-plugin-windicss) - WindiCSS support
42 | - [`vite-plugin-mdx`](https://github.com/brillout/vite-plugin-mdx) - Markdown as components / components in Markdown
43 | - [`remark-prism`](https://github.com/sergioramos/remark-prism) - [Prism](https://prismjs.com/) for syntax highlighting
44 | - [`prism-theme-vars`](https://github.com/antfu/prism-theme-vars) - customizable Prism.js theme using CSS variables
45 | - [react-i18next](https://react.i18next.com/) - Internationalization
46 | - [`react-helmet-async`](https://github.com/staylor/react-helmet-async) - manipulate document head reactively
47 |
48 | ### Dev tools
49 |
50 | - [TypeScript](https://www.typescriptlang.org/)
51 | - [pnpm](https://pnpm.js.org/) - fast, disk space efficient package manager
52 | - [`vite-ssr`](https://github.com/frandiox/vite-ssr) - Server-side rendering
53 | - [Vercel](https://vercel.com/) - deploy
54 | - [VS Code Extensions](./.vscode/extensions.json)
55 | - [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
56 |
57 | ## Try it now!
58 |
59 | ### GitHub Template
60 |
61 | [Create a repo from this template on GitHub](https://github.com/frandiox/reactesse-ssr-template/generate).
62 |
63 | ### Clone to local
64 |
65 | If you prefer to do it manually with the cleaner git history
66 |
67 | ```bash
68 | npx degit frandiox/reactesse-ssr-template my-reactesse-app
69 | cd my-reactesse-app
70 | pnpm i # If you don't have pnpm installed, run: npm install -g pnpm
71 | ```
72 |
73 | ## Checklist
74 |
75 | When you use this template, try follow the checklist to update your info properly
76 |
77 | - [ ] Add a `name` field in `package.json`
78 | - [ ] Change the author name in `LICENSE`
79 | - [ ] Change the favicon in `public`
80 | - [ ] Remove the `.github` folder which contains the funding info
81 | - [ ] Clean up the READMEs and remove routes
82 |
83 | And, enjoy :)
84 |
85 | ## Usage
86 |
87 | ### Development
88 |
89 | Just run and visit http://localhost:3333
90 |
91 | ```bash
92 | pnpm dev # SSR development
93 | pnpm dev:spa # SPA without SSR
94 | ```
95 |
96 | ### Build
97 |
98 | To build the App, run
99 |
100 | ```bash
101 | pnpm build
102 | ```
103 |
104 | And you will see the generated files in `dist`, and some of these files will be moved to `serverless` for deployment.
105 |
106 | ### Deploy on Vercel
107 |
108 | Go to [Vercel](https://vercel.com) and install its CLI. Then:
109 |
110 | ```bash
111 | pnpm preview # Simulate Vercel environment locally
112 | pnpm deploy
113 | pnpm deploy:prod
114 | ```
115 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "engines": {
4 | "node": ">=14"
5 | },
6 | "scripts": {
7 | "dev": "vite-ssr --port 3333 --open",
8 | "dev:spa": "vite --port 3333 --open",
9 | "clean": "rm -rf dist && rm -rf serverless/public && rm -rf serverless/api/renderer",
10 | "build": "pnpm clean && cross-env NODE_ENV=production vite-ssr build && ./scripts/move-dist.sh",
11 | "preview": "cd serverless && vercel dev",
12 | "deploy": "cd serverless && vercel",
13 | "deploy:prod": "cd serverless && vercel --prod"
14 | },
15 | "dependencies": {
16 | "@mdx-js/react": "^1.6.22",
17 | "@react-icons/all-files": "^4.1.0",
18 | "i18next": "^20.3.5",
19 | "prism-theme-vars": "^0.2.2",
20 | "react": "^17.0.2",
21 | "react-dom": "^17.0.2",
22 | "react-helmet-async": "^1.0.9",
23 | "react-i18next": "^11.11.4",
24 | "react-router": "^5.2.0",
25 | "react-router-config": "^5.1.1",
26 | "react-router-dom": "^5.2.0",
27 | "vite-ssr": "^0.12.0"
28 | },
29 | "devDependencies": {
30 | "@mdx-js/mdx": "^1.6.22",
31 | "@types/jest": "^26.0.24",
32 | "@types/node": "^16.4.10",
33 | "@types/react": "^17.0.15",
34 | "@types/react-dom": "^17.0.9",
35 | "@types/react-router-config": "^5.0.3",
36 | "@types/react-router-dom": "^5.1.8",
37 | "@typescript-eslint/eslint-plugin": "^4.29.0",
38 | "@vitejs/plugin-react-refresh": "^1.3.6",
39 | "cross-env": "^7.0.3",
40 | "eslint": "^7.32.0",
41 | "node-fetch": "^2.6.1",
42 | "pnpm": "^6.11.5",
43 | "remark-prism": "^1.3.6",
44 | "rimraf": "^3.0.2",
45 | "typescript": "^4.3.5",
46 | "vite": "^2.4.4",
47 | "vite-plugin-mdx": "^3.5.6",
48 | "vite-plugin-pages": "0.12.x",
49 | "vite-plugin-windicss": "^1.2.7"
50 | }
51 | }
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: 5.3
2 |
3 | specifiers:
4 | '@mdx-js/mdx': ^1.6.22
5 | '@mdx-js/react': ^1.6.22
6 | '@react-icons/all-files': ^4.1.0
7 | '@types/jest': ^26.0.24
8 | '@types/node': ^16.4.10
9 | '@types/react': ^17.0.15
10 | '@types/react-dom': ^17.0.9
11 | '@types/react-router-config': ^5.0.3
12 | '@types/react-router-dom': ^5.1.8
13 | '@typescript-eslint/eslint-plugin': ^4.29.0
14 | '@vitejs/plugin-react-refresh': ^1.3.6
15 | cross-env: ^7.0.3
16 | eslint: ^7.32.0
17 | i18next: ^20.3.5
18 | node-fetch: ^2.6.1
19 | pnpm: ^6.11.5
20 | prism-theme-vars: ^0.2.2
21 | react: ^17.0.2
22 | react-dom: ^17.0.2
23 | react-helmet-async: ^1.0.9
24 | react-i18next: ^11.11.4
25 | react-router: ^5.2.0
26 | react-router-config: ^5.1.1
27 | react-router-dom: ^5.2.0
28 | remark-prism: ^1.3.6
29 | rimraf: ^3.0.2
30 | typescript: ^4.3.5
31 | vite: ^2.4.4
32 | vite-plugin-mdx: ^3.5.6
33 | vite-plugin-pages: 0.12.x
34 | vite-plugin-windicss: ^1.2.7
35 | vite-ssr: ^0.12.0
36 |
37 | dependencies:
38 | '@mdx-js/react': 1.6.22_react@17.0.2
39 | '@react-icons/all-files': 4.1.0_react@17.0.2
40 | i18next: 20.3.5
41 | prism-theme-vars: 0.2.2
42 | react: 17.0.2
43 | react-dom: 17.0.2_react@17.0.2
44 | react-helmet-async: 1.0.9_react-dom@17.0.2+react@17.0.2
45 | react-i18next: 11.11.4_i18next@20.3.5+react@17.0.2
46 | react-router: 5.2.0_react@17.0.2
47 | react-router-config: 5.1.1_react-router@5.2.0+react@17.0.2
48 | react-router-dom: 5.2.0_react@17.0.2
49 | vite-ssr: 0.12.0_f45c38ab9d74c0c9f98540462cb1bd4c
50 |
51 | devDependencies:
52 | '@mdx-js/mdx': 1.6.22
53 | '@types/jest': 26.0.24
54 | '@types/node': 16.4.10
55 | '@types/react': 17.0.15
56 | '@types/react-dom': 17.0.9
57 | '@types/react-router-config': 5.0.3
58 | '@types/react-router-dom': 5.1.8
59 | '@typescript-eslint/eslint-plugin': 4.29.0_eslint@7.32.0+typescript@4.3.5
60 | '@vitejs/plugin-react-refresh': 1.3.6
61 | cross-env: 7.0.3
62 | eslint: 7.32.0
63 | node-fetch: 2.6.1
64 | pnpm: 6.11.5
65 | remark-prism: 1.3.6
66 | rimraf: 3.0.2
67 | typescript: 4.3.5
68 | vite: 2.4.4
69 | vite-plugin-mdx: 3.5.6_@mdx-js+mdx@1.6.22+vite@2.4.4
70 | vite-plugin-pages: 0.12.2_vite@2.4.4
71 | vite-plugin-windicss: 1.2.7_vite@2.4.4
72 |
73 | packages:
74 |
75 | /@alloc/quick-lru/5.2.0:
76 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
77 | engines: {node: '>=10'}
78 | dev: true
79 |
80 | /@antfu/utils/0.2.4:
81 | resolution: {integrity: sha512-2bZNkVfL9IZESmvE26UKi8SzyvSoaIsGXDcnbHFMtmGMqUiB1fXpAJ1ijGf+tSqKRQ5yagck2U1Qk0p+705/kw==}
82 | dependencies:
83 | '@types/throttle-debounce': 2.1.0
84 | dev: true
85 |
86 | /@babel/code-frame/7.12.11:
87 | resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==}
88 | dependencies:
89 | '@babel/highlight': 7.14.0
90 | dev: true
91 |
92 | /@babel/code-frame/7.14.5:
93 | resolution: {integrity: sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==}
94 | engines: {node: '>=6.9.0'}
95 | dependencies:
96 | '@babel/highlight': 7.14.5
97 | dev: true
98 |
99 | /@babel/compat-data/7.14.9:
100 | resolution: {integrity: sha512-p3QjZmMGHDGdpcwEYYWu7i7oJShJvtgMjJeb0W95PPhSm++3lm8YXYOh45Y6iCN9PkZLTZ7CIX5nFrp7pw7TXw==}
101 | engines: {node: '>=6.9.0'}
102 | dev: true
103 |
104 | /@babel/core/7.12.9:
105 | resolution: {integrity: sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==}
106 | engines: {node: '>=6.9.0'}
107 | dependencies:
108 | '@babel/code-frame': 7.14.5
109 | '@babel/generator': 7.14.9
110 | '@babel/helper-module-transforms': 7.14.8
111 | '@babel/helpers': 7.14.8
112 | '@babel/parser': 7.14.9
113 | '@babel/template': 7.14.5
114 | '@babel/traverse': 7.14.9
115 | '@babel/types': 7.14.9
116 | convert-source-map: 1.8.0
117 | debug: 4.3.2
118 | gensync: 1.0.0-beta.2
119 | json5: 2.2.0
120 | lodash: 4.17.21
121 | resolve: 1.20.0
122 | semver: 5.7.1
123 | source-map: 0.5.7
124 | transitivePeerDependencies:
125 | - supports-color
126 | dev: true
127 |
128 | /@babel/core/7.14.8:
129 | resolution: {integrity: sha512-/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q==}
130 | engines: {node: '>=6.9.0'}
131 | dependencies:
132 | '@babel/code-frame': 7.14.5
133 | '@babel/generator': 7.14.9
134 | '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.8
135 | '@babel/helper-module-transforms': 7.14.8
136 | '@babel/helpers': 7.14.8
137 | '@babel/parser': 7.14.9
138 | '@babel/template': 7.14.5
139 | '@babel/traverse': 7.14.9
140 | '@babel/types': 7.14.9
141 | convert-source-map: 1.7.0
142 | debug: 4.3.2
143 | gensync: 1.0.0-beta.2
144 | json5: 2.2.0
145 | semver: 6.3.0
146 | source-map: 0.5.7
147 | transitivePeerDependencies:
148 | - supports-color
149 | dev: true
150 |
151 | /@babel/generator/7.14.9:
152 | resolution: {integrity: sha512-4yoHbhDYzFa0GLfCzLp5GxH7vPPMAHdZjyE7M/OajM9037zhx0rf+iNsJwp4PT0MSFpwjG7BsHEbPkBQpZ6cYA==}
153 | engines: {node: '>=6.9.0'}
154 | dependencies:
155 | '@babel/types': 7.14.9
156 | jsesc: 2.5.2
157 | source-map: 0.5.7
158 | dev: true
159 |
160 | /@babel/helper-compilation-targets/7.14.5_@babel+core@7.14.8:
161 | resolution: {integrity: sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==}
162 | engines: {node: '>=6.9.0'}
163 | peerDependencies:
164 | '@babel/core': ^7.0.0
165 | dependencies:
166 | '@babel/compat-data': 7.14.9
167 | '@babel/core': 7.14.8
168 | '@babel/helper-validator-option': 7.14.5
169 | browserslist: 4.16.6
170 | semver: 6.3.0
171 | dev: true
172 |
173 | /@babel/helper-function-name/7.14.5:
174 | resolution: {integrity: sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==}
175 | engines: {node: '>=6.9.0'}
176 | dependencies:
177 | '@babel/helper-get-function-arity': 7.14.5
178 | '@babel/template': 7.14.5
179 | '@babel/types': 7.14.9
180 | dev: true
181 |
182 | /@babel/helper-get-function-arity/7.14.5:
183 | resolution: {integrity: sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==}
184 | engines: {node: '>=6.9.0'}
185 | dependencies:
186 | '@babel/types': 7.14.9
187 | dev: true
188 |
189 | /@babel/helper-hoist-variables/7.14.5:
190 | resolution: {integrity: sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==}
191 | engines: {node: '>=6.9.0'}
192 | dependencies:
193 | '@babel/types': 7.14.9
194 | dev: true
195 |
196 | /@babel/helper-member-expression-to-functions/7.14.7:
197 | resolution: {integrity: sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==}
198 | engines: {node: '>=6.9.0'}
199 | dependencies:
200 | '@babel/types': 7.14.9
201 | dev: true
202 |
203 | /@babel/helper-module-imports/7.14.5:
204 | resolution: {integrity: sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==}
205 | engines: {node: '>=6.9.0'}
206 | dependencies:
207 | '@babel/types': 7.14.9
208 | dev: true
209 |
210 | /@babel/helper-module-transforms/7.14.8:
211 | resolution: {integrity: sha512-RyE+NFOjXn5A9YU1dkpeBaduagTlZ0+fccnIcAGbv1KGUlReBj7utF7oEth8IdIBQPcux0DDgW5MFBH2xu9KcA==}
212 | engines: {node: '>=6.9.0'}
213 | dependencies:
214 | '@babel/helper-module-imports': 7.14.5
215 | '@babel/helper-replace-supers': 7.14.5
216 | '@babel/helper-simple-access': 7.14.8
217 | '@babel/helper-split-export-declaration': 7.14.5
218 | '@babel/helper-validator-identifier': 7.14.9
219 | '@babel/template': 7.14.5
220 | '@babel/traverse': 7.14.9
221 | '@babel/types': 7.14.9
222 | transitivePeerDependencies:
223 | - supports-color
224 | dev: true
225 |
226 | /@babel/helper-optimise-call-expression/7.14.5:
227 | resolution: {integrity: sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==}
228 | engines: {node: '>=6.9.0'}
229 | dependencies:
230 | '@babel/types': 7.14.9
231 | dev: true
232 |
233 | /@babel/helper-plugin-utils/7.10.4:
234 | resolution: {integrity: sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==}
235 | dev: true
236 |
237 | /@babel/helper-plugin-utils/7.14.5:
238 | resolution: {integrity: sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==}
239 | engines: {node: '>=6.9.0'}
240 | dev: true
241 |
242 | /@babel/helper-replace-supers/7.14.5:
243 | resolution: {integrity: sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==}
244 | engines: {node: '>=6.9.0'}
245 | dependencies:
246 | '@babel/helper-member-expression-to-functions': 7.14.7
247 | '@babel/helper-optimise-call-expression': 7.14.5
248 | '@babel/traverse': 7.14.9
249 | '@babel/types': 7.14.9
250 | transitivePeerDependencies:
251 | - supports-color
252 | dev: true
253 |
254 | /@babel/helper-simple-access/7.14.8:
255 | resolution: {integrity: sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==}
256 | engines: {node: '>=6.9.0'}
257 | dependencies:
258 | '@babel/types': 7.14.9
259 | dev: true
260 |
261 | /@babel/helper-split-export-declaration/7.14.5:
262 | resolution: {integrity: sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==}
263 | engines: {node: '>=6.9.0'}
264 | dependencies:
265 | '@babel/types': 7.14.9
266 | dev: true
267 |
268 | /@babel/helper-validator-identifier/7.14.0:
269 | resolution: {integrity: sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==}
270 |
271 | /@babel/helper-validator-identifier/7.14.9:
272 | resolution: {integrity: sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==}
273 | engines: {node: '>=6.9.0'}
274 | dev: true
275 |
276 | /@babel/helper-validator-option/7.14.5:
277 | resolution: {integrity: sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==}
278 | engines: {node: '>=6.9.0'}
279 | dev: true
280 |
281 | /@babel/helpers/7.14.8:
282 | resolution: {integrity: sha512-ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw==}
283 | engines: {node: '>=6.9.0'}
284 | dependencies:
285 | '@babel/template': 7.14.5
286 | '@babel/traverse': 7.14.9
287 | '@babel/types': 7.14.9
288 | transitivePeerDependencies:
289 | - supports-color
290 | dev: true
291 |
292 | /@babel/highlight/7.14.0:
293 | resolution: {integrity: sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==}
294 | dependencies:
295 | '@babel/helper-validator-identifier': 7.14.0
296 | chalk: 2.4.2
297 | js-tokens: 4.0.0
298 | dev: true
299 |
300 | /@babel/highlight/7.14.5:
301 | resolution: {integrity: sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==}
302 | engines: {node: '>=6.9.0'}
303 | dependencies:
304 | '@babel/helper-validator-identifier': 7.14.9
305 | chalk: 2.4.2
306 | js-tokens: 4.0.0
307 | dev: true
308 |
309 | /@babel/parser/7.14.4:
310 | resolution: {integrity: sha512-ArliyUsWDUqEGfWcmzpGUzNfLxTdTp6WU4IuP6QFSp9gGfWS6boxFCkJSJ/L4+RG8z/FnIU3WxCk6hPL9SSWeA==}
311 | engines: {node: '>=6.0.0'}
312 | hasBin: true
313 | dev: false
314 |
315 | /@babel/parser/7.14.9:
316 | resolution: {integrity: sha512-RdUTOseXJ8POjjOeEBEvNMIZU/nm4yu2rufRkcibzkkg7DmQvXU8v3M4Xk9G7uuI86CDGkKcuDWgioqZm+mScQ==}
317 | engines: {node: '>=6.0.0'}
318 | hasBin: true
319 | dev: true
320 |
321 | /@babel/plugin-proposal-object-rest-spread/7.12.1_@babel+core@7.12.9:
322 | resolution: {integrity: sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==}
323 | peerDependencies:
324 | '@babel/core': ^7.0.0-0
325 | dependencies:
326 | '@babel/core': 7.12.9
327 | '@babel/helper-plugin-utils': 7.10.4
328 | '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.12.9
329 | '@babel/plugin-transform-parameters': 7.14.5_@babel+core@7.12.9
330 | dev: true
331 |
332 | /@babel/plugin-syntax-jsx/7.12.1_@babel+core@7.12.9:
333 | resolution: {integrity: sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==}
334 | peerDependencies:
335 | '@babel/core': ^7.0.0-0
336 | dependencies:
337 | '@babel/core': 7.12.9
338 | '@babel/helper-plugin-utils': 7.14.5
339 | dev: true
340 |
341 | /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.12.9:
342 | resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
343 | peerDependencies:
344 | '@babel/core': ^7.0.0-0
345 | dependencies:
346 | '@babel/core': 7.12.9
347 | '@babel/helper-plugin-utils': 7.14.5
348 | dev: true
349 |
350 | /@babel/plugin-transform-parameters/7.14.5_@babel+core@7.12.9:
351 | resolution: {integrity: sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==}
352 | engines: {node: '>=6.9.0'}
353 | peerDependencies:
354 | '@babel/core': ^7.0.0-0
355 | dependencies:
356 | '@babel/core': 7.12.9
357 | '@babel/helper-plugin-utils': 7.14.5
358 | dev: true
359 |
360 | /@babel/plugin-transform-react-jsx-self/7.14.9_@babel+core@7.14.8:
361 | resolution: {integrity: sha512-Fqqu0f8zv9W+RyOnx29BX/RlEsBRANbOf5xs5oxb2aHP4FKbLXxIaVPUiCti56LAR1IixMH4EyaixhUsKqoBHw==}
362 | engines: {node: '>=6.9.0'}
363 | peerDependencies:
364 | '@babel/core': ^7.0.0-0
365 | dependencies:
366 | '@babel/core': 7.14.8
367 | '@babel/helper-plugin-utils': 7.14.5
368 | dev: true
369 |
370 | /@babel/plugin-transform-react-jsx-source/7.14.5_@babel+core@7.14.8:
371 | resolution: {integrity: sha512-1TpSDnD9XR/rQ2tzunBVPThF5poaYT9GqP+of8fAtguYuI/dm2RkrMBDemsxtY0XBzvW7nXjYM0hRyKX9QYj7Q==}
372 | engines: {node: '>=6.9.0'}
373 | peerDependencies:
374 | '@babel/core': ^7.0.0-0
375 | dependencies:
376 | '@babel/core': 7.14.8
377 | '@babel/helper-plugin-utils': 7.14.5
378 | dev: true
379 |
380 | /@babel/runtime/7.14.0:
381 | resolution: {integrity: sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==}
382 | dependencies:
383 | regenerator-runtime: 0.13.7
384 | dev: false
385 |
386 | /@babel/runtime/7.14.8:
387 | resolution: {integrity: sha512-twj3L8Og5SaCRCErB4x4ajbvBIVV77CGeFglHpeg5WC5FF8TZzBWXtTJ4MqaD9QszLYTtr+IsaAL2rEUevb+eg==}
388 | engines: {node: '>=6.9.0'}
389 | dependencies:
390 | regenerator-runtime: 0.13.9
391 | dev: false
392 |
393 | /@babel/template/7.14.5:
394 | resolution: {integrity: sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==}
395 | engines: {node: '>=6.9.0'}
396 | dependencies:
397 | '@babel/code-frame': 7.14.5
398 | '@babel/parser': 7.14.9
399 | '@babel/types': 7.14.9
400 | dev: true
401 |
402 | /@babel/traverse/7.14.9:
403 | resolution: {integrity: sha512-bldh6dtB49L8q9bUyB7bC20UKgU+EFDwKJylwl234Kv+ySZeMD31Xeht6URyueQ6LrRRpF2tmkfcZooZR9/e8g==}
404 | engines: {node: '>=6.9.0'}
405 | dependencies:
406 | '@babel/code-frame': 7.14.5
407 | '@babel/generator': 7.14.9
408 | '@babel/helper-function-name': 7.14.5
409 | '@babel/helper-hoist-variables': 7.14.5
410 | '@babel/helper-split-export-declaration': 7.14.5
411 | '@babel/parser': 7.14.9
412 | '@babel/types': 7.14.9
413 | debug: 4.3.2
414 | globals: 11.12.0
415 | transitivePeerDependencies:
416 | - supports-color
417 | dev: true
418 |
419 | /@babel/types/7.14.4:
420 | resolution: {integrity: sha512-lCj4aIs0xUefJFQnwwQv2Bxg7Omd6bgquZ6LGC+gGMh6/s5qDVfjuCMlDmYQ15SLsWHd9n+X3E75lKIhl5Lkiw==}
421 | dependencies:
422 | '@babel/helper-validator-identifier': 7.14.0
423 | to-fast-properties: 2.0.0
424 | dev: false
425 |
426 | /@babel/types/7.14.9:
427 | resolution: {integrity: sha512-u0bLTnv3DFHeaQLYzb7oRJ1JHr1sv/SYDM7JSqHFFLwXG1wTZRughxFI5NCP8qBEo1rVVsn7Yg2Lvw49nne/Ow==}
428 | engines: {node: '>=6.9.0'}
429 | dependencies:
430 | '@babel/helper-validator-identifier': 7.14.9
431 | to-fast-properties: 2.0.0
432 | dev: true
433 |
434 | /@eslint/eslintrc/0.4.3:
435 | resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==}
436 | engines: {node: ^10.12.0 || >=12.0.0}
437 | dependencies:
438 | ajv: 6.12.6
439 | debug: 4.3.2
440 | espree: 7.3.1
441 | globals: 13.9.0
442 | ignore: 4.0.6
443 | import-fresh: 3.3.0
444 | js-yaml: 3.14.1
445 | minimatch: 3.0.4
446 | strip-json-comments: 3.1.1
447 | transitivePeerDependencies:
448 | - supports-color
449 | dev: true
450 |
451 | /@humanwhocodes/config-array/0.5.0:
452 | resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==}
453 | engines: {node: '>=10.10.0'}
454 | dependencies:
455 | '@humanwhocodes/object-schema': 1.2.0
456 | debug: 4.3.2
457 | minimatch: 3.0.4
458 | transitivePeerDependencies:
459 | - supports-color
460 | dev: true
461 |
462 | /@humanwhocodes/object-schema/1.2.0:
463 | resolution: {integrity: sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==}
464 | dev: true
465 |
466 | /@jest/types/26.6.2:
467 | resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==}
468 | engines: {node: '>= 10.14.2'}
469 | dependencies:
470 | '@types/istanbul-lib-coverage': 2.0.3
471 | '@types/istanbul-reports': 3.0.1
472 | '@types/node': 16.4.10
473 | '@types/yargs': 15.0.13
474 | chalk: 4.1.1
475 | dev: true
476 |
477 | /@mdx-js/mdx/1.6.22:
478 | resolution: {integrity: sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==}
479 | dependencies:
480 | '@babel/core': 7.12.9
481 | '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.9
482 | '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.12.9
483 | '@mdx-js/util': 1.6.22
484 | babel-plugin-apply-mdx-type-prop: 1.6.22_@babel+core@7.12.9
485 | babel-plugin-extract-import-names: 1.6.22
486 | camelcase-css: 2.0.1
487 | detab: 2.0.4
488 | hast-util-raw: 6.0.1
489 | lodash.uniq: 4.5.0
490 | mdast-util-to-hast: 10.0.1
491 | remark-footnotes: 2.0.0
492 | remark-mdx: 1.6.22
493 | remark-parse: 8.0.3
494 | remark-squeeze-paragraphs: 4.0.0
495 | style-to-object: 0.3.0
496 | unified: 9.2.0
497 | unist-builder: 2.0.3
498 | unist-util-visit: 2.0.3
499 | transitivePeerDependencies:
500 | - supports-color
501 | dev: true
502 |
503 | /@mdx-js/react/1.6.22_react@17.0.2:
504 | resolution: {integrity: sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==}
505 | peerDependencies:
506 | react: ^16.13.1 || ^17.0.0
507 | dependencies:
508 | react: 17.0.2
509 | dev: false
510 |
511 | /@mdx-js/util/1.6.22:
512 | resolution: {integrity: sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==}
513 | dev: true
514 |
515 | /@nodelib/fs.scandir/2.1.5:
516 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
517 | engines: {node: '>= 8'}
518 | dependencies:
519 | '@nodelib/fs.stat': 2.0.5
520 | run-parallel: 1.2.0
521 | dev: true
522 |
523 | /@nodelib/fs.stat/2.0.5:
524 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
525 | engines: {node: '>= 8'}
526 | dev: true
527 |
528 | /@nodelib/fs.walk/1.2.7:
529 | resolution: {integrity: sha512-BTIhocbPBSrRmHxOAJFtR18oLhxTtAFDAvL8hY1S3iU8k+E60W/YFs4jrixGzQjMpF4qPXxIQHcjVD9dz1C2QA==}
530 | engines: {node: '>= 8'}
531 | dependencies:
532 | '@nodelib/fs.scandir': 2.1.5
533 | fastq: 1.11.0
534 | dev: true
535 |
536 | /@react-icons/all-files/4.1.0_react@17.0.2:
537 | resolution: {integrity: sha512-hxBI2UOuVaI3O/BhQfhtb4kcGn9ft12RWAFVMUeNjqqhLsHvFtzIkFaptBJpFDANTKoDfdVoHTKZDlwKCACbMQ==}
538 | peerDependencies:
539 | react: '*'
540 | dependencies:
541 | react: 17.0.2
542 | dev: false
543 |
544 | /@rollup/plugin-replace/3.0.0:
545 | resolution: {integrity: sha512-3c7JCbMuYXM4PbPWT4+m/4Y6U60SgsnDT/cCyAyUKwFHg7pTSfsSQzIpETha3a3ig6OdOKzZz87D9ZXIK3qsDg==}
546 | peerDependencies:
547 | rollup: ^1.20.0 || ^2.0.0
548 | dependencies:
549 | '@rollup/pluginutils': 3.1.0
550 | magic-string: 0.25.7
551 | dev: false
552 |
553 | /@rollup/pluginutils/3.1.0:
554 | resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
555 | engines: {node: '>= 8.0.0'}
556 | peerDependencies:
557 | rollup: ^1.20.0||^2.0.0
558 | dependencies:
559 | '@types/estree': 0.0.39
560 | estree-walker: 1.0.1
561 | picomatch: 2.3.0
562 | dev: false
563 |
564 | /@rollup/pluginutils/4.1.1:
565 | resolution: {integrity: sha512-clDjivHqWGXi7u+0d2r2sBi4Ie6VLEAzWMIkvJLnDmxoOhBYOTfzGbOQBA32THHm11/LiJbd01tJUpJsbshSWQ==}
566 | engines: {node: '>= 8.0.0'}
567 | dependencies:
568 | estree-walker: 2.0.2
569 | picomatch: 2.3.0
570 | dev: true
571 |
572 | /@tootallnate/once/1.1.2:
573 | resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==}
574 | engines: {node: '>= 6'}
575 | dev: true
576 |
577 | /@types/estree/0.0.39:
578 | resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
579 | dev: false
580 |
581 | /@types/estree/0.0.48:
582 | resolution: {integrity: sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==}
583 | dev: true
584 |
585 | /@types/hast/2.3.2:
586 | resolution: {integrity: sha512-Op5W7jYgZI7AWKY5wQ0/QNMzQM7dGQPyW1rXKNiymVCy5iTfdPuGu4HhYNOM2sIv8gUfIuIdcYlXmAepwaowow==}
587 | dependencies:
588 | '@types/unist': 2.0.6
589 | dev: true
590 |
591 | /@types/history/4.7.8:
592 | resolution: {integrity: sha512-S78QIYirQcUoo6UJZx9CSP0O2ix9IaeAXwQi26Rhr/+mg7qqPy8TzaxHSUut7eGjL8WmLccT7/MXf304WjqHcA==}
593 | dev: true
594 |
595 | /@types/history/4.7.9:
596 | resolution: {integrity: sha512-MUc6zSmU3tEVnkQ78q0peeEjKWPUADMlC/t++2bI8WnAG2tvYRPIgHG8lWkXwqc8MsUF6Z2MOf+Mh5sazOmhiQ==}
597 | dev: true
598 |
599 | /@types/istanbul-lib-coverage/2.0.3:
600 | resolution: {integrity: sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==}
601 | dev: true
602 |
603 | /@types/istanbul-lib-report/3.0.0:
604 | resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==}
605 | dependencies:
606 | '@types/istanbul-lib-coverage': 2.0.3
607 | dev: true
608 |
609 | /@types/istanbul-reports/3.0.1:
610 | resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==}
611 | dependencies:
612 | '@types/istanbul-lib-report': 3.0.0
613 | dev: true
614 |
615 | /@types/jest/26.0.24:
616 | resolution: {integrity: sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w==}
617 | dependencies:
618 | jest-diff: 26.6.2
619 | pretty-format: 26.6.2
620 | dev: true
621 |
622 | /@types/json-schema/7.0.7:
623 | resolution: {integrity: sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==}
624 | dev: true
625 |
626 | /@types/mdast/3.0.7:
627 | resolution: {integrity: sha512-YwR7OK8aPmaBvMMUi+pZXBNoW2unbVbfok4YRqGMJBe1dpDlzpRkJrYEYmvjxgs5JhuQmKfDexrN98u941Zasg==}
628 | dependencies:
629 | '@types/unist': 2.0.6
630 | dev: true
631 |
632 | /@types/node/16.4.10:
633 | resolution: {integrity: sha512-TmVHsm43br64js9BqHWqiDZA+xMtbUpI1MBIA0EyiBmoV9pcEYFOSdj5fr6enZNfh4fChh+AGOLIzGwJnkshyQ==}
634 | dev: true
635 |
636 | /@types/parse5/5.0.3:
637 | resolution: {integrity: sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==}
638 | dev: true
639 |
640 | /@types/prop-types/15.7.3:
641 | resolution: {integrity: sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==}
642 | dev: true
643 |
644 | /@types/react-dom/17.0.9:
645 | resolution: {integrity: sha512-wIvGxLfgpVDSAMH5utdL9Ngm5Owu0VsGmldro3ORLXV8CShrL8awVj06NuEXFQ5xyaYfdca7Sgbk/50Ri1GdPg==}
646 | dependencies:
647 | '@types/react': 17.0.15
648 | dev: true
649 |
650 | /@types/react-router-config/5.0.3:
651 | resolution: {integrity: sha512-38vpjXic0+E2sIBEKUe+RrCmbc8RqcQhNV8OmU3KUcwgy/yzTeo67MhllP+0zjZWNr7Lhw+RnUkL0hzkf63nUQ==}
652 | dependencies:
653 | '@types/history': 4.7.9
654 | '@types/react': 17.0.15
655 | '@types/react-router': 5.1.16
656 | dev: true
657 |
658 | /@types/react-router-dom/5.1.8:
659 | resolution: {integrity: sha512-03xHyncBzG0PmDmf8pf3rehtjY0NpUj7TIN46FrT5n1ZWHPZvXz32gUyNboJ+xsL8cpg8bQVLcllptcQHvocrw==}
660 | dependencies:
661 | '@types/history': 4.7.8
662 | '@types/react': 17.0.15
663 | '@types/react-router': 5.1.15
664 | dev: true
665 |
666 | /@types/react-router/5.1.15:
667 | resolution: {integrity: sha512-z3UlMG/x91SFEVmmvykk9FLTliDvfdIUky4k2rCfXWQ0NKbrP8o9BTCaCTPuYsB8gDkUnUmkcA2vYlm2DR+HAA==}
668 | dependencies:
669 | '@types/history': 4.7.8
670 | '@types/react': 17.0.15
671 | dev: true
672 |
673 | /@types/react-router/5.1.16:
674 | resolution: {integrity: sha512-8d7nR/fNSqlTFGHti0R3F9WwIertOaaA1UEB8/jr5l5mDMOs4CidEgvvYMw4ivqrBK+vtVLxyTj2P+Pr/dtgzg==}
675 | dependencies:
676 | '@types/history': 4.7.9
677 | '@types/react': 17.0.15
678 | dev: true
679 |
680 | /@types/react/17.0.15:
681 | resolution: {integrity: sha512-uTKHDK9STXFHLaKv6IMnwp52fm0hwU+N89w/p9grdUqcFA6WuqDyPhaWopbNyE1k/VhgzmHl8pu1L4wITtmlLw==}
682 | dependencies:
683 | '@types/prop-types': 15.7.3
684 | '@types/scheduler': 0.16.1
685 | csstype: 3.0.8
686 | dev: true
687 |
688 | /@types/scheduler/0.16.1:
689 | resolution: {integrity: sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA==}
690 | dev: true
691 |
692 | /@types/throttle-debounce/2.1.0:
693 | resolution: {integrity: sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==}
694 | dev: true
695 |
696 | /@types/unist/2.0.6:
697 | resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==}
698 | dev: true
699 |
700 | /@types/yargs-parser/20.2.0:
701 | resolution: {integrity: sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==}
702 | dev: true
703 |
704 | /@types/yargs/15.0.13:
705 | resolution: {integrity: sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==}
706 | dependencies:
707 | '@types/yargs-parser': 20.2.0
708 | dev: true
709 |
710 | /@typescript-eslint/eslint-plugin/4.29.0_eslint@7.32.0+typescript@4.3.5:
711 | resolution: {integrity: sha512-eiREtqWRZ8aVJcNru7cT/AMVnYd9a2UHsfZT8MR1dW3UUEg6jDv9EQ9Cq4CUPZesyQ58YUpoAADGv71jY8RwgA==}
712 | engines: {node: ^10.12.0 || >=12.0.0}
713 | peerDependencies:
714 | '@typescript-eslint/parser': ^4.0.0
715 | eslint: ^5.0.0 || ^6.0.0 || ^7.0.0
716 | typescript: '*'
717 | peerDependenciesMeta:
718 | typescript:
719 | optional: true
720 | dependencies:
721 | '@typescript-eslint/experimental-utils': 4.29.0_eslint@7.32.0+typescript@4.3.5
722 | '@typescript-eslint/scope-manager': 4.29.0
723 | debug: 4.3.2
724 | eslint: 7.32.0
725 | functional-red-black-tree: 1.0.1
726 | regexpp: 3.1.0
727 | semver: 7.3.5
728 | tsutils: 3.21.0_typescript@4.3.5
729 | typescript: 4.3.5
730 | transitivePeerDependencies:
731 | - supports-color
732 | dev: true
733 |
734 | /@typescript-eslint/experimental-utils/4.29.0_eslint@7.32.0+typescript@4.3.5:
735 | resolution: {integrity: sha512-FpNVKykfeaIxlArLUP/yQfv/5/3rhl1ov6RWgud4OgbqWLkEq7lqgQU9iiavZRzpzCRQV4XddyFz3wFXdkiX9w==}
736 | engines: {node: ^10.12.0 || >=12.0.0}
737 | peerDependencies:
738 | eslint: '*'
739 | dependencies:
740 | '@types/json-schema': 7.0.7
741 | '@typescript-eslint/scope-manager': 4.29.0
742 | '@typescript-eslint/types': 4.29.0
743 | '@typescript-eslint/typescript-estree': 4.29.0_typescript@4.3.5
744 | eslint: 7.32.0
745 | eslint-scope: 5.1.1
746 | eslint-utils: 3.0.0_eslint@7.32.0
747 | transitivePeerDependencies:
748 | - supports-color
749 | - typescript
750 | dev: true
751 |
752 | /@typescript-eslint/scope-manager/4.29.0:
753 | resolution: {integrity: sha512-HPq7XAaDMM3DpmuijxLV9Io8/6pQnliiXMQUcAdjpJJSR+fdmbD/zHCd7hMkjJn04UQtCQBtshgxClzg6NIS2w==}
754 | engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1}
755 | dependencies:
756 | '@typescript-eslint/types': 4.29.0
757 | '@typescript-eslint/visitor-keys': 4.29.0
758 | dev: true
759 |
760 | /@typescript-eslint/types/4.29.0:
761 | resolution: {integrity: sha512-2YJM6XfWfi8pgU2HRhTp7WgRw78TCRO3dOmSpAvIQ8MOv4B46JD2chnhpNT7Jq8j0APlIbzO1Bach734xxUl4A==}
762 | engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1}
763 | dev: true
764 |
765 | /@typescript-eslint/typescript-estree/4.29.0_typescript@4.3.5:
766 | resolution: {integrity: sha512-8ZpNHDIOyqzzgZrQW9+xQ4k5hM62Xy2R4RPO3DQxMc5Rq5QkCdSpk/drka+DL9w6sXNzV5nrdlBmf8+x495QXQ==}
767 | engines: {node: ^10.12.0 || >=12.0.0}
768 | peerDependencies:
769 | typescript: '*'
770 | peerDependenciesMeta:
771 | typescript:
772 | optional: true
773 | dependencies:
774 | '@typescript-eslint/types': 4.29.0
775 | '@typescript-eslint/visitor-keys': 4.29.0
776 | debug: 4.3.2
777 | globby: 11.0.3
778 | is-glob: 4.0.1
779 | semver: 7.3.5
780 | tsutils: 3.21.0_typescript@4.3.5
781 | typescript: 4.3.5
782 | transitivePeerDependencies:
783 | - supports-color
784 | dev: true
785 |
786 | /@typescript-eslint/visitor-keys/4.29.0:
787 | resolution: {integrity: sha512-LoaofO1C/jAJYs0uEpYMXfHboGXzOJeV118X4OsZu9f7rG7Pr9B3+4HTU8+err81rADa4xfQmAxnRnPAI2jp+Q==}
788 | engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1}
789 | dependencies:
790 | '@typescript-eslint/types': 4.29.0
791 | eslint-visitor-keys: 2.1.0
792 | dev: true
793 |
794 | /@vitejs/plugin-react-refresh/1.3.6:
795 | resolution: {integrity: sha512-iNR/UqhUOmFFxiezt0em9CgmiJBdWR+5jGxB2FihaoJfqGt76kiwaKoVOJVU5NYcDWMdN06LbyN2VIGIoYdsEA==}
796 | engines: {node: '>=12.0.0'}
797 | dependencies:
798 | '@babel/core': 7.14.8
799 | '@babel/plugin-transform-react-jsx-self': 7.14.9_@babel+core@7.14.8
800 | '@babel/plugin-transform-react-jsx-source': 7.14.5_@babel+core@7.14.8
801 | '@rollup/pluginutils': 4.1.1
802 | react-refresh: 0.10.0
803 | transitivePeerDependencies:
804 | - supports-color
805 | dev: true
806 |
807 | /@vue/compiler-core/3.1.1:
808 | resolution: {integrity: sha512-Z1RO3T6AEtAUFf2EqqovFm3ohAeTvFzRtB0qUENW2nEerJfdlk13/LS1a0EgsqlzxmYfR/S/S/gW9PLbFZZxkA==}
809 | dependencies:
810 | '@babel/parser': 7.14.4
811 | '@babel/types': 7.14.4
812 | '@vue/shared': 3.1.1
813 | estree-walker: 2.0.2
814 | source-map: 0.6.1
815 | dev: false
816 |
817 | /@vue/compiler-core/3.1.5:
818 | resolution: {integrity: sha512-TXBhFinoBaXKDykJzY26UEuQU1K07FOp/0Ie+OXySqqk0bS0ZO7Xvl7UmiTUPYcLrWbxWBR7Bs/y55AI0MNc2Q==}
819 | dependencies:
820 | '@babel/parser': 7.14.9
821 | '@babel/types': 7.14.9
822 | '@vue/shared': 3.1.5
823 | estree-walker: 2.0.2
824 | source-map: 0.6.1
825 | dev: true
826 |
827 | /@vue/compiler-dom/3.1.1:
828 | resolution: {integrity: sha512-nobRIo0t5ibzg+q8nC31m+aJhbq8FbWUoKvk6h3Vs1EqTDJaj6lBTcVTq5or8AYht7FbSpdAJ81isbJ1rWNX7A==}
829 | dependencies:
830 | '@vue/compiler-core': 3.1.1
831 | '@vue/shared': 3.1.1
832 | dev: false
833 |
834 | /@vue/compiler-dom/3.1.5:
835 | resolution: {integrity: sha512-ZsL3jqJ52OjGU/YiT/9XiuZAmWClKInZM2aFJh9gnsAPqOrj2JIELMbkIFpVKR/CrVO/f2VxfPiiQdQTr65jcQ==}
836 | dependencies:
837 | '@vue/compiler-core': 3.1.5
838 | '@vue/shared': 3.1.5
839 | dev: true
840 |
841 | /@vue/compiler-sfc/3.1.5:
842 | resolution: {integrity: sha512-mtMY6xMvZeSRx9MTa1+NgJWndrkzVTdJ1pQAmAKQuxyb5LsHVvrgP7kcQFvxPHVpLVTORbTJWHaiqoKrJvi1iA==}
843 | peerDependencies:
844 | vue: 3.1.5
845 | dependencies:
846 | '@babel/parser': 7.14.9
847 | '@babel/types': 7.14.9
848 | '@types/estree': 0.0.48
849 | '@vue/compiler-core': 3.1.5
850 | '@vue/compiler-dom': 3.1.5
851 | '@vue/compiler-ssr': 3.1.5
852 | '@vue/shared': 3.1.5
853 | consolidate: 0.16.0
854 | estree-walker: 2.0.2
855 | hash-sum: 2.0.0
856 | lru-cache: 5.1.1
857 | magic-string: 0.25.7
858 | merge-source-map: 1.1.0
859 | postcss: 8.3.6
860 | postcss-modules: 4.2.2_postcss@8.3.6
861 | postcss-selector-parser: 6.0.6
862 | source-map: 0.6.1
863 | dev: true
864 |
865 | /@vue/compiler-ssr/3.1.1:
866 | resolution: {integrity: sha512-7H6krZtVt3h/YzfNp7eYK41hMDz8ZskiBy+Wby+EDRINX6BD9JQ5C8zyy2xAa7T6Iz2VrQzsaJ/Bb52lTPSS5A==}
867 | dependencies:
868 | '@vue/compiler-dom': 3.1.1
869 | '@vue/shared': 3.1.1
870 | dev: false
871 |
872 | /@vue/compiler-ssr/3.1.5:
873 | resolution: {integrity: sha512-CU5N7Di/a4lyJ18LGJxJYZS2a8PlLdWpWHX9p/XcsjT2TngMpj3QvHVRkuik2u8QrIDZ8OpYmTyj1WDNsOV+Dg==}
874 | dependencies:
875 | '@vue/compiler-dom': 3.1.5
876 | '@vue/shared': 3.1.5
877 | dev: true
878 |
879 | /@vue/server-renderer/3.1.1:
880 | resolution: {integrity: sha512-b0UFiOfF27CGeWw25eoaRTiYqezBxY/ODl2VeuDMgdcbakdPP4T/ieSyjuN5g/ZxDCnGO6q/sMRZQgmQhYltww==}
881 | peerDependencies:
882 | vue: 3.1.1
883 | dependencies:
884 | '@vue/compiler-ssr': 3.1.1
885 | '@vue/shared': 3.1.1
886 | dev: false
887 |
888 | /@vue/shared/3.1.1:
889 | resolution: {integrity: sha512-g+4pzAw7PYSjARtLBoDq6DmcblX8i9KJHSCnyM5VDDFFifUaUT9iHbFpOF/KOizQ9f7QAqU2JH3Y6aXjzUMhVA==}
890 | dev: false
891 |
892 | /@vue/shared/3.1.5:
893 | resolution: {integrity: sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==}
894 | dev: true
895 |
896 | /@windicss/config/1.2.7:
897 | resolution: {integrity: sha512-XpH/dkXWk2LGygHzHBWWEW/yGcLqhpFFN2jo+zMeWZ1ggBzndQQzBHqHGQHcr6U6v3PoBuOz1prVWgUmQxn9eQ==}
898 | dependencies:
899 | debug: 4.3.2
900 | jiti: 1.11.0
901 | windicss: 3.1.6
902 | transitivePeerDependencies:
903 | - supports-color
904 | dev: true
905 |
906 | /@windicss/plugin-utils/1.2.7:
907 | resolution: {integrity: sha512-aNQhd1nEjkVsCHmzq0+4VGTmovOGGfPnH2hspH4YuDxMDhQ/99VrBdyk7irngWJjedjHB3+UYCSYWpY5a+2Hbg==}
908 | dependencies:
909 | '@antfu/utils': 0.2.4
910 | '@windicss/config': 1.2.7
911 | debug: 4.3.2
912 | fast-glob: 3.2.7
913 | magic-string: 0.25.7
914 | micromatch: 4.0.4
915 | windicss: 3.1.6
916 | transitivePeerDependencies:
917 | - supports-color
918 | dev: true
919 |
920 | /abab/2.0.5:
921 | resolution: {integrity: sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==}
922 | dev: true
923 |
924 | /acorn-globals/6.0.0:
925 | resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==}
926 | dependencies:
927 | acorn: 7.4.1
928 | acorn-walk: 7.2.0
929 | dev: true
930 |
931 | /acorn-jsx/5.3.1_acorn@7.4.1:
932 | resolution: {integrity: sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==}
933 | peerDependencies:
934 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
935 | dependencies:
936 | acorn: 7.4.1
937 | dev: true
938 |
939 | /acorn-walk/7.2.0:
940 | resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
941 | engines: {node: '>=0.4.0'}
942 | dev: true
943 |
944 | /acorn/7.4.1:
945 | resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
946 | engines: {node: '>=0.4.0'}
947 | hasBin: true
948 | dev: true
949 |
950 | /acorn/8.4.1:
951 | resolution: {integrity: sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==}
952 | engines: {node: '>=0.4.0'}
953 | hasBin: true
954 | dev: true
955 |
956 | /agent-base/6.0.2:
957 | resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
958 | engines: {node: '>= 6.0.0'}
959 | dependencies:
960 | debug: 4.3.2
961 | transitivePeerDependencies:
962 | - supports-color
963 | dev: true
964 |
965 | /ajv/6.12.6:
966 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
967 | dependencies:
968 | fast-deep-equal: 3.1.3
969 | fast-json-stable-stringify: 2.1.0
970 | json-schema-traverse: 0.4.1
971 | uri-js: 4.4.1
972 | dev: true
973 |
974 | /ajv/8.6.0:
975 | resolution: {integrity: sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ==}
976 | dependencies:
977 | fast-deep-equal: 3.1.3
978 | json-schema-traverse: 1.0.0
979 | require-from-string: 2.0.2
980 | uri-js: 4.4.1
981 | dev: true
982 |
983 | /ansi-colors/4.1.1:
984 | resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==}
985 | engines: {node: '>=6'}
986 | dev: true
987 |
988 | /ansi-regex/5.0.0:
989 | resolution: {integrity: sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==}
990 | engines: {node: '>=8'}
991 | dev: true
992 |
993 | /ansi-styles/3.2.1:
994 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
995 | engines: {node: '>=4'}
996 | dependencies:
997 | color-convert: 1.9.3
998 | dev: true
999 |
1000 | /ansi-styles/4.3.0:
1001 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
1002 | engines: {node: '>=8'}
1003 | dependencies:
1004 | color-convert: 2.0.1
1005 | dev: true
1006 |
1007 | /argparse/1.0.10:
1008 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
1009 | dependencies:
1010 | sprintf-js: 1.0.3
1011 | dev: true
1012 |
1013 | /array-union/2.1.0:
1014 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
1015 | engines: {node: '>=8'}
1016 | dev: true
1017 |
1018 | /astral-regex/2.0.0:
1019 | resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==}
1020 | engines: {node: '>=8'}
1021 | dev: true
1022 |
1023 | /asynckit/0.4.0:
1024 | resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=}
1025 | dev: true
1026 |
1027 | /available-typed-arrays/1.0.4:
1028 | resolution: {integrity: sha512-SA5mXJWrId1TaQjfxUYghbqQ/hYioKmLJvPJyDuYRtXXenFNMjj4hSSt1Cf1xsuXSXrtxrVC5Ot4eU6cOtBDdA==}
1029 | engines: {node: '>= 0.4'}
1030 | dev: true
1031 |
1032 | /babel-plugin-apply-mdx-type-prop/1.6.22_@babel+core@7.12.9:
1033 | resolution: {integrity: sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==}
1034 | peerDependencies:
1035 | '@babel/core': ^7.11.6
1036 | dependencies:
1037 | '@babel/core': 7.12.9
1038 | '@babel/helper-plugin-utils': 7.10.4
1039 | '@mdx-js/util': 1.6.22
1040 | dev: true
1041 |
1042 | /babel-plugin-extract-import-names/1.6.22:
1043 | resolution: {integrity: sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==}
1044 | dependencies:
1045 | '@babel/helper-plugin-utils': 7.10.4
1046 | dev: true
1047 |
1048 | /bail/1.0.5:
1049 | resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==}
1050 | dev: true
1051 |
1052 | /balanced-match/1.0.2:
1053 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
1054 | dev: true
1055 |
1056 | /big.js/5.2.2:
1057 | resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
1058 | dev: true
1059 |
1060 | /bluebird/3.7.2:
1061 | resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
1062 | dev: true
1063 |
1064 | /brace-expansion/1.1.11:
1065 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
1066 | dependencies:
1067 | balanced-match: 1.0.2
1068 | concat-map: 0.0.1
1069 | dev: true
1070 |
1071 | /braces/3.0.2:
1072 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
1073 | engines: {node: '>=8'}
1074 | dependencies:
1075 | fill-range: 7.0.1
1076 | dev: true
1077 |
1078 | /browser-process-hrtime/1.0.0:
1079 | resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==}
1080 | dev: true
1081 |
1082 | /browserslist/4.16.6:
1083 | resolution: {integrity: sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==}
1084 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
1085 | hasBin: true
1086 | dependencies:
1087 | caniuse-lite: 1.0.30001235
1088 | colorette: 1.2.2
1089 | electron-to-chromium: 1.3.749
1090 | escalade: 3.1.1
1091 | node-releases: 1.1.73
1092 | dev: true
1093 |
1094 | /call-bind/1.0.2:
1095 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
1096 | dependencies:
1097 | function-bind: 1.1.1
1098 | get-intrinsic: 1.1.1
1099 | dev: true
1100 |
1101 | /callsites/3.1.0:
1102 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
1103 | engines: {node: '>=6'}
1104 | dev: true
1105 |
1106 | /camelcase-css/2.0.1:
1107 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
1108 | engines: {node: '>= 6'}
1109 | dev: true
1110 |
1111 | /caniuse-lite/1.0.30001235:
1112 | resolution: {integrity: sha512-zWEwIVqnzPkSAXOUlQnPW2oKoYb2aLQ4Q5ejdjBcnH63rfypaW34CxaeBn1VMya2XaEU3P/R2qHpWyj+l0BT1A==}
1113 | dev: true
1114 |
1115 | /ccount/1.1.0:
1116 | resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==}
1117 | dev: true
1118 |
1119 | /chalk/2.4.2:
1120 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
1121 | engines: {node: '>=4'}
1122 | dependencies:
1123 | ansi-styles: 3.2.1
1124 | escape-string-regexp: 1.0.5
1125 | supports-color: 5.5.0
1126 | dev: true
1127 |
1128 | /chalk/4.1.1:
1129 | resolution: {integrity: sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==}
1130 | engines: {node: '>=10'}
1131 | dependencies:
1132 | ansi-styles: 4.3.0
1133 | supports-color: 7.2.0
1134 | dev: true
1135 |
1136 | /character-entities-legacy/1.1.4:
1137 | resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==}
1138 | dev: true
1139 |
1140 | /character-entities/1.2.4:
1141 | resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==}
1142 | dev: true
1143 |
1144 | /character-reference-invalid/1.1.4:
1145 | resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==}
1146 | dev: true
1147 |
1148 | /classnames/2.3.1:
1149 | resolution: {integrity: sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==}
1150 | dev: true
1151 |
1152 | /collapse-white-space/1.0.6:
1153 | resolution: {integrity: sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==}
1154 | dev: true
1155 |
1156 | /color-convert/1.9.3:
1157 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
1158 | dependencies:
1159 | color-name: 1.1.3
1160 | dev: true
1161 |
1162 | /color-convert/2.0.1:
1163 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
1164 | engines: {node: '>=7.0.0'}
1165 | dependencies:
1166 | color-name: 1.1.4
1167 | dev: true
1168 |
1169 | /color-name/1.1.3:
1170 | resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=}
1171 | dev: true
1172 |
1173 | /color-name/1.1.4:
1174 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
1175 | dev: true
1176 |
1177 | /colorette/1.2.2:
1178 | resolution: {integrity: sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==}
1179 | dev: true
1180 |
1181 | /combined-stream/1.0.8:
1182 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
1183 | engines: {node: '>= 0.8'}
1184 | dependencies:
1185 | delayed-stream: 1.0.0
1186 | dev: true
1187 |
1188 | /comma-separated-tokens/1.0.8:
1189 | resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==}
1190 | dev: true
1191 |
1192 | /concat-map/0.0.1:
1193 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
1194 | dev: true
1195 |
1196 | /connect/3.7.0:
1197 | resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==}
1198 | engines: {node: '>= 0.10.0'}
1199 | dependencies:
1200 | debug: 2.6.9
1201 | finalhandler: 1.1.2
1202 | parseurl: 1.3.3
1203 | utils-merge: 1.0.1
1204 | dev: false
1205 |
1206 | /consolidate/0.16.0:
1207 | resolution: {integrity: sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==}
1208 | engines: {node: '>= 0.10.0'}
1209 | dependencies:
1210 | bluebird: 3.7.2
1211 | dev: true
1212 |
1213 | /convert-source-map/1.7.0:
1214 | resolution: {integrity: sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==}
1215 | dependencies:
1216 | safe-buffer: 5.1.2
1217 | dev: true
1218 |
1219 | /convert-source-map/1.8.0:
1220 | resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==}
1221 | dependencies:
1222 | safe-buffer: 5.1.2
1223 | dev: true
1224 |
1225 | /cross-env/7.0.3:
1226 | resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
1227 | engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
1228 | hasBin: true
1229 | dependencies:
1230 | cross-spawn: 7.0.3
1231 | dev: true
1232 |
1233 | /cross-spawn/7.0.3:
1234 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
1235 | engines: {node: '>= 8'}
1236 | dependencies:
1237 | path-key: 3.1.1
1238 | shebang-command: 2.0.0
1239 | which: 2.0.2
1240 | dev: true
1241 |
1242 | /css-selector-parser/1.4.1:
1243 | resolution: {integrity: sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g==}
1244 | dev: true
1245 |
1246 | /cssesc/3.0.0:
1247 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
1248 | engines: {node: '>=4'}
1249 | hasBin: true
1250 | dev: true
1251 |
1252 | /cssom/0.3.8:
1253 | resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==}
1254 | dev: true
1255 |
1256 | /cssom/0.4.4:
1257 | resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==}
1258 | dev: true
1259 |
1260 | /cssstyle/2.3.0:
1261 | resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==}
1262 | engines: {node: '>=8'}
1263 | dependencies:
1264 | cssom: 0.3.8
1265 | dev: true
1266 |
1267 | /csstype/3.0.8:
1268 | resolution: {integrity: sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==}
1269 | dev: true
1270 |
1271 | /data-urls/2.0.0:
1272 | resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==}
1273 | engines: {node: '>=10'}
1274 | dependencies:
1275 | abab: 2.0.5
1276 | whatwg-mimetype: 2.3.0
1277 | whatwg-url: 8.7.0
1278 | dev: true
1279 |
1280 | /debug/2.6.9:
1281 | resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
1282 | dependencies:
1283 | ms: 2.0.0
1284 | dev: false
1285 |
1286 | /debug/4.3.2:
1287 | resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==}
1288 | engines: {node: '>=6.0'}
1289 | peerDependencies:
1290 | supports-color: '*'
1291 | peerDependenciesMeta:
1292 | supports-color:
1293 | optional: true
1294 | dependencies:
1295 | ms: 2.1.2
1296 | dev: true
1297 |
1298 | /decimal.js/10.3.1:
1299 | resolution: {integrity: sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==}
1300 | dev: true
1301 |
1302 | /deep-equal/2.0.5:
1303 | resolution: {integrity: sha512-nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw==}
1304 | dependencies:
1305 | call-bind: 1.0.2
1306 | es-get-iterator: 1.1.2
1307 | get-intrinsic: 1.1.1
1308 | is-arguments: 1.1.0
1309 | is-date-object: 1.0.4
1310 | is-regex: 1.1.3
1311 | isarray: 2.0.5
1312 | object-is: 1.1.5
1313 | object-keys: 1.1.1
1314 | object.assign: 4.1.2
1315 | regexp.prototype.flags: 1.3.1
1316 | side-channel: 1.0.4
1317 | which-boxed-primitive: 1.0.2
1318 | which-collection: 1.0.1
1319 | which-typed-array: 1.1.4
1320 | dev: true
1321 |
1322 | /deep-is/0.1.3:
1323 | resolution: {integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=}
1324 | dev: true
1325 |
1326 | /define-properties/1.1.3:
1327 | resolution: {integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==}
1328 | engines: {node: '>= 0.4'}
1329 | dependencies:
1330 | object-keys: 1.1.1
1331 | dev: true
1332 |
1333 | /delayed-stream/1.0.0:
1334 | resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=}
1335 | engines: {node: '>=0.4.0'}
1336 | dev: true
1337 |
1338 | /detab/2.0.4:
1339 | resolution: {integrity: sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==}
1340 | dependencies:
1341 | repeat-string: 1.6.1
1342 | dev: true
1343 |
1344 | /diff-sequences/26.6.2:
1345 | resolution: {integrity: sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==}
1346 | engines: {node: '>= 10.14.2'}
1347 | dev: true
1348 |
1349 | /dir-glob/3.0.1:
1350 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
1351 | engines: {node: '>=8'}
1352 | dependencies:
1353 | path-type: 4.0.0
1354 | dev: true
1355 |
1356 | /doctrine/3.0.0:
1357 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
1358 | engines: {node: '>=6.0.0'}
1359 | dependencies:
1360 | esutils: 2.0.3
1361 | dev: true
1362 |
1363 | /domexception/2.0.1:
1364 | resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==}
1365 | engines: {node: '>=8'}
1366 | dependencies:
1367 | webidl-conversions: 5.0.0
1368 | dev: true
1369 |
1370 | /ee-first/1.1.1:
1371 | resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=}
1372 | dev: false
1373 |
1374 | /electron-to-chromium/1.3.749:
1375 | resolution: {integrity: sha512-F+v2zxZgw/fMwPz/VUGIggG4ZndDsYy0vlpthi3tjmDZlcfbhN5mYW0evXUsBr2sUtuDANFtle410A9u/sd/4A==}
1376 | dev: true
1377 |
1378 | /emoji-regex/8.0.0:
1379 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
1380 | dev: true
1381 |
1382 | /emojis-list/3.0.0:
1383 | resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
1384 | engines: {node: '>= 4'}
1385 | dev: true
1386 |
1387 | /encodeurl/1.0.2:
1388 | resolution: {integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=}
1389 | engines: {node: '>= 0.8'}
1390 | dev: false
1391 |
1392 | /enquirer/2.3.6:
1393 | resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==}
1394 | engines: {node: '>=8.6'}
1395 | dependencies:
1396 | ansi-colors: 4.1.1
1397 | dev: true
1398 |
1399 | /es-abstract/1.18.3:
1400 | resolution: {integrity: sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==}
1401 | engines: {node: '>= 0.4'}
1402 | dependencies:
1403 | call-bind: 1.0.2
1404 | es-to-primitive: 1.2.1
1405 | function-bind: 1.1.1
1406 | get-intrinsic: 1.1.1
1407 | has: 1.0.3
1408 | has-symbols: 1.0.2
1409 | is-callable: 1.2.3
1410 | is-negative-zero: 2.0.1
1411 | is-regex: 1.1.3
1412 | is-string: 1.0.6
1413 | object-inspect: 1.10.3
1414 | object-keys: 1.1.1
1415 | object.assign: 4.1.2
1416 | string.prototype.trimend: 1.0.4
1417 | string.prototype.trimstart: 1.0.4
1418 | unbox-primitive: 1.0.1
1419 | dev: true
1420 |
1421 | /es-get-iterator/1.1.2:
1422 | resolution: {integrity: sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==}
1423 | dependencies:
1424 | call-bind: 1.0.2
1425 | get-intrinsic: 1.1.1
1426 | has-symbols: 1.0.2
1427 | is-arguments: 1.1.0
1428 | is-map: 2.0.2
1429 | is-set: 2.0.2
1430 | is-string: 1.0.6
1431 | isarray: 2.0.5
1432 | dev: true
1433 |
1434 | /es-to-primitive/1.2.1:
1435 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
1436 | engines: {node: '>= 0.4'}
1437 | dependencies:
1438 | is-callable: 1.2.3
1439 | is-date-object: 1.0.4
1440 | is-symbol: 1.0.4
1441 | dev: true
1442 |
1443 | /esbuild/0.12.17:
1444 | resolution: {integrity: sha512-GshKJyVYUnlSXIZj/NheC2O0Kblh42CS7P1wJyTbbIHevTG4jYMS9NNw8EOd8dDWD0dzydYHS01MpZoUcQXB4g==}
1445 | hasBin: true
1446 | requiresBuild: true
1447 | dev: true
1448 |
1449 | /esbuild/0.8.57:
1450 | resolution: {integrity: sha512-j02SFrUwFTRUqiY0Kjplwjm1psuzO1d6AjaXKuOR9hrY0HuPsT6sV42B6myW34h1q4CRy+Y3g4RU/cGJeI/nNA==}
1451 | hasBin: true
1452 | requiresBuild: true
1453 | dev: true
1454 |
1455 | /escalade/3.1.1:
1456 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
1457 | engines: {node: '>=6'}
1458 | dev: true
1459 |
1460 | /escape-html/1.0.3:
1461 | resolution: {integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=}
1462 |
1463 | /escape-string-regexp/1.0.5:
1464 | resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=}
1465 | engines: {node: '>=0.8.0'}
1466 | dev: true
1467 |
1468 | /escape-string-regexp/4.0.0:
1469 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
1470 | engines: {node: '>=10'}
1471 | dev: true
1472 |
1473 | /escodegen/2.0.0:
1474 | resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==}
1475 | engines: {node: '>=6.0'}
1476 | hasBin: true
1477 | dependencies:
1478 | esprima: 4.0.1
1479 | estraverse: 5.2.0
1480 | esutils: 2.0.3
1481 | optionator: 0.8.3
1482 | optionalDependencies:
1483 | source-map: 0.6.1
1484 | dev: true
1485 |
1486 | /eslint-scope/5.1.1:
1487 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
1488 | engines: {node: '>=8.0.0'}
1489 | dependencies:
1490 | esrecurse: 4.3.0
1491 | estraverse: 4.3.0
1492 | dev: true
1493 |
1494 | /eslint-utils/2.1.0:
1495 | resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==}
1496 | engines: {node: '>=6'}
1497 | dependencies:
1498 | eslint-visitor-keys: 1.3.0
1499 | dev: true
1500 |
1501 | /eslint-utils/3.0.0_eslint@7.32.0:
1502 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
1503 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
1504 | peerDependencies:
1505 | eslint: '>=5'
1506 | dependencies:
1507 | eslint: 7.32.0
1508 | eslint-visitor-keys: 2.1.0
1509 | dev: true
1510 |
1511 | /eslint-visitor-keys/1.3.0:
1512 | resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==}
1513 | engines: {node: '>=4'}
1514 | dev: true
1515 |
1516 | /eslint-visitor-keys/2.1.0:
1517 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
1518 | engines: {node: '>=10'}
1519 | dev: true
1520 |
1521 | /eslint/7.32.0:
1522 | resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==}
1523 | engines: {node: ^10.12.0 || >=12.0.0}
1524 | hasBin: true
1525 | dependencies:
1526 | '@babel/code-frame': 7.12.11
1527 | '@eslint/eslintrc': 0.4.3
1528 | '@humanwhocodes/config-array': 0.5.0
1529 | ajv: 6.12.6
1530 | chalk: 4.1.1
1531 | cross-spawn: 7.0.3
1532 | debug: 4.3.2
1533 | doctrine: 3.0.0
1534 | enquirer: 2.3.6
1535 | escape-string-regexp: 4.0.0
1536 | eslint-scope: 5.1.1
1537 | eslint-utils: 2.1.0
1538 | eslint-visitor-keys: 2.1.0
1539 | espree: 7.3.1
1540 | esquery: 1.4.0
1541 | esutils: 2.0.3
1542 | fast-deep-equal: 3.1.3
1543 | file-entry-cache: 6.0.1
1544 | functional-red-black-tree: 1.0.1
1545 | glob-parent: 5.1.2
1546 | globals: 13.9.0
1547 | ignore: 4.0.6
1548 | import-fresh: 3.3.0
1549 | imurmurhash: 0.1.4
1550 | is-glob: 4.0.1
1551 | js-yaml: 3.14.1
1552 | json-stable-stringify-without-jsonify: 1.0.1
1553 | levn: 0.4.1
1554 | lodash.merge: 4.6.2
1555 | minimatch: 3.0.4
1556 | natural-compare: 1.4.0
1557 | optionator: 0.9.1
1558 | progress: 2.0.3
1559 | regexpp: 3.1.0
1560 | semver: 7.3.5
1561 | strip-ansi: 6.0.0
1562 | strip-json-comments: 3.1.1
1563 | table: 6.7.1
1564 | text-table: 0.2.0
1565 | v8-compile-cache: 2.3.0
1566 | transitivePeerDependencies:
1567 | - supports-color
1568 | dev: true
1569 |
1570 | /espree/7.3.1:
1571 | resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==}
1572 | engines: {node: ^10.12.0 || >=12.0.0}
1573 | dependencies:
1574 | acorn: 7.4.1
1575 | acorn-jsx: 5.3.1_acorn@7.4.1
1576 | eslint-visitor-keys: 1.3.0
1577 | dev: true
1578 |
1579 | /esprima/4.0.1:
1580 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
1581 | engines: {node: '>=4'}
1582 | hasBin: true
1583 | dev: true
1584 |
1585 | /esquery/1.4.0:
1586 | resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==}
1587 | engines: {node: '>=0.10'}
1588 | dependencies:
1589 | estraverse: 5.2.0
1590 | dev: true
1591 |
1592 | /esrecurse/4.3.0:
1593 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1594 | engines: {node: '>=4.0'}
1595 | dependencies:
1596 | estraverse: 5.2.0
1597 | dev: true
1598 |
1599 | /estraverse/4.3.0:
1600 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
1601 | engines: {node: '>=4.0'}
1602 | dev: true
1603 |
1604 | /estraverse/5.2.0:
1605 | resolution: {integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==}
1606 | engines: {node: '>=4.0'}
1607 | dev: true
1608 |
1609 | /estree-walker/1.0.1:
1610 | resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
1611 | dev: false
1612 |
1613 | /estree-walker/2.0.2:
1614 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
1615 |
1616 | /esutils/2.0.3:
1617 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1618 | engines: {node: '>=0.10.0'}
1619 | dev: true
1620 |
1621 | /extend/3.0.2:
1622 | resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
1623 | dev: true
1624 |
1625 | /fast-deep-equal/3.1.3:
1626 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1627 | dev: true
1628 |
1629 | /fast-glob/3.2.7:
1630 | resolution: {integrity: sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==}
1631 | engines: {node: '>=8'}
1632 | dependencies:
1633 | '@nodelib/fs.stat': 2.0.5
1634 | '@nodelib/fs.walk': 1.2.7
1635 | glob-parent: 5.1.2
1636 | merge2: 1.4.1
1637 | micromatch: 4.0.4
1638 | dev: true
1639 |
1640 | /fast-json-stable-stringify/2.1.0:
1641 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1642 | dev: true
1643 |
1644 | /fast-levenshtein/2.0.6:
1645 | resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=}
1646 | dev: true
1647 |
1648 | /fastq/1.11.0:
1649 | resolution: {integrity: sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==}
1650 | dependencies:
1651 | reusify: 1.0.4
1652 | dev: true
1653 |
1654 | /file-entry-cache/6.0.1:
1655 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
1656 | engines: {node: ^10.12.0 || >=12.0.0}
1657 | dependencies:
1658 | flat-cache: 3.0.4
1659 | dev: true
1660 |
1661 | /fill-range/7.0.1:
1662 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1663 | engines: {node: '>=8'}
1664 | dependencies:
1665 | to-regex-range: 5.0.1
1666 | dev: true
1667 |
1668 | /finalhandler/1.1.2:
1669 | resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==}
1670 | engines: {node: '>= 0.8'}
1671 | dependencies:
1672 | debug: 2.6.9
1673 | encodeurl: 1.0.2
1674 | escape-html: 1.0.3
1675 | on-finished: 2.3.0
1676 | parseurl: 1.3.3
1677 | statuses: 1.5.0
1678 | unpipe: 1.0.0
1679 | dev: false
1680 |
1681 | /flat-cache/3.0.4:
1682 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
1683 | engines: {node: ^10.12.0 || >=12.0.0}
1684 | dependencies:
1685 | flatted: 3.1.1
1686 | rimraf: 3.0.2
1687 | dev: true
1688 |
1689 | /flatted/3.1.1:
1690 | resolution: {integrity: sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==}
1691 | dev: true
1692 |
1693 | /foreach/2.0.5:
1694 | resolution: {integrity: sha1-C+4AUBiusmDQo6865ljdATbsG5k=}
1695 | dev: true
1696 |
1697 | /form-data/3.0.1:
1698 | resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==}
1699 | engines: {node: '>= 6'}
1700 | dependencies:
1701 | asynckit: 0.4.0
1702 | combined-stream: 1.0.8
1703 | mime-types: 2.1.32
1704 | dev: true
1705 |
1706 | /fs.realpath/1.0.0:
1707 | resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=}
1708 | dev: true
1709 |
1710 | /fsevents/2.3.2:
1711 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
1712 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1713 | os: [darwin]
1714 | dev: true
1715 | optional: true
1716 |
1717 | /function-bind/1.1.1:
1718 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
1719 | dev: true
1720 |
1721 | /functional-red-black-tree/1.0.1:
1722 | resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=}
1723 | dev: true
1724 |
1725 | /generic-names/2.0.1:
1726 | resolution: {integrity: sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==}
1727 | dependencies:
1728 | loader-utils: 1.4.0
1729 | dev: true
1730 |
1731 | /gensync/1.0.0-beta.2:
1732 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
1733 | engines: {node: '>=6.9.0'}
1734 | dev: true
1735 |
1736 | /get-intrinsic/1.1.1:
1737 | resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==}
1738 | dependencies:
1739 | function-bind: 1.1.1
1740 | has: 1.0.3
1741 | has-symbols: 1.0.2
1742 | dev: true
1743 |
1744 | /glob-parent/5.1.2:
1745 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1746 | engines: {node: '>= 6'}
1747 | dependencies:
1748 | is-glob: 4.0.1
1749 | dev: true
1750 |
1751 | /glob/7.1.7:
1752 | resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==}
1753 | dependencies:
1754 | fs.realpath: 1.0.0
1755 | inflight: 1.0.6
1756 | inherits: 2.0.4
1757 | minimatch: 3.0.4
1758 | once: 1.4.0
1759 | path-is-absolute: 1.0.1
1760 | dev: true
1761 |
1762 | /globals/11.12.0:
1763 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
1764 | engines: {node: '>=4'}
1765 | dev: true
1766 |
1767 | /globals/13.9.0:
1768 | resolution: {integrity: sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA==}
1769 | engines: {node: '>=8'}
1770 | dependencies:
1771 | type-fest: 0.20.2
1772 | dev: true
1773 |
1774 | /globby/11.0.3:
1775 | resolution: {integrity: sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==}
1776 | engines: {node: '>=10'}
1777 | dependencies:
1778 | array-union: 2.1.0
1779 | dir-glob: 3.0.1
1780 | fast-glob: 3.2.7
1781 | ignore: 5.1.8
1782 | merge2: 1.4.1
1783 | slash: 3.0.0
1784 | dev: true
1785 |
1786 | /has-bigints/1.0.1:
1787 | resolution: {integrity: sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==}
1788 | dev: true
1789 |
1790 | /has-flag/3.0.0:
1791 | resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=}
1792 | engines: {node: '>=4'}
1793 | dev: true
1794 |
1795 | /has-flag/4.0.0:
1796 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1797 | engines: {node: '>=8'}
1798 | dev: true
1799 |
1800 | /has-symbols/1.0.2:
1801 | resolution: {integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==}
1802 | engines: {node: '>= 0.4'}
1803 | dev: true
1804 |
1805 | /has/1.0.3:
1806 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
1807 | engines: {node: '>= 0.4.0'}
1808 | dependencies:
1809 | function-bind: 1.1.1
1810 | dev: true
1811 |
1812 | /hash-sum/2.0.0:
1813 | resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==}
1814 | dev: true
1815 |
1816 | /hast-to-hyperscript/9.0.1:
1817 | resolution: {integrity: sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==}
1818 | dependencies:
1819 | '@types/unist': 2.0.6
1820 | comma-separated-tokens: 1.0.8
1821 | property-information: 5.6.0
1822 | space-separated-tokens: 1.1.5
1823 | style-to-object: 0.3.0
1824 | unist-util-is: 4.1.0
1825 | web-namespaces: 1.1.4
1826 | dev: true
1827 |
1828 | /hast-util-from-parse5/6.0.1:
1829 | resolution: {integrity: sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==}
1830 | dependencies:
1831 | '@types/parse5': 5.0.3
1832 | hastscript: 6.0.0
1833 | property-information: 5.6.0
1834 | vfile: 4.2.1
1835 | vfile-location: 3.2.0
1836 | web-namespaces: 1.1.4
1837 | dev: true
1838 |
1839 | /hast-util-parse-selector/2.2.5:
1840 | resolution: {integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==}
1841 | dev: true
1842 |
1843 | /hast-util-raw/6.0.1:
1844 | resolution: {integrity: sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==}
1845 | dependencies:
1846 | '@types/hast': 2.3.2
1847 | hast-util-from-parse5: 6.0.1
1848 | hast-util-to-parse5: 6.0.0
1849 | html-void-elements: 1.0.5
1850 | parse5: 6.0.1
1851 | unist-util-position: 3.1.0
1852 | vfile: 4.2.1
1853 | web-namespaces: 1.1.4
1854 | xtend: 4.0.2
1855 | zwitch: 1.0.5
1856 | dev: true
1857 |
1858 | /hast-util-to-parse5/6.0.0:
1859 | resolution: {integrity: sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==}
1860 | dependencies:
1861 | hast-to-hyperscript: 9.0.1
1862 | property-information: 5.6.0
1863 | web-namespaces: 1.1.4
1864 | xtend: 4.0.2
1865 | zwitch: 1.0.5
1866 | dev: true
1867 |
1868 | /hastscript/6.0.0:
1869 | resolution: {integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==}
1870 | dependencies:
1871 | '@types/hast': 2.3.2
1872 | comma-separated-tokens: 1.0.8
1873 | hast-util-parse-selector: 2.2.5
1874 | property-information: 5.6.0
1875 | space-separated-tokens: 1.1.5
1876 | dev: true
1877 |
1878 | /history/4.10.1:
1879 | resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==}
1880 | dependencies:
1881 | '@babel/runtime': 7.14.0
1882 | loose-envify: 1.4.0
1883 | resolve-pathname: 3.0.0
1884 | tiny-invariant: 1.1.0
1885 | tiny-warning: 1.0.3
1886 | value-equal: 1.0.1
1887 | dev: false
1888 |
1889 | /hoist-non-react-statics/3.3.2:
1890 | resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
1891 | dependencies:
1892 | react-is: 16.13.1
1893 | dev: false
1894 |
1895 | /html-encoding-sniffer/2.0.1:
1896 | resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==}
1897 | engines: {node: '>=10'}
1898 | dependencies:
1899 | whatwg-encoding: 1.0.5
1900 | dev: true
1901 |
1902 | /html-parse-stringify/3.0.1:
1903 | resolution: {integrity: sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==}
1904 | dependencies:
1905 | void-elements: 3.1.0
1906 | dev: false
1907 |
1908 | /html-void-elements/1.0.5:
1909 | resolution: {integrity: sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==}
1910 | dev: true
1911 |
1912 | /http-proxy-agent/4.0.1:
1913 | resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==}
1914 | engines: {node: '>= 6'}
1915 | dependencies:
1916 | '@tootallnate/once': 1.1.2
1917 | agent-base: 6.0.2
1918 | debug: 4.3.2
1919 | transitivePeerDependencies:
1920 | - supports-color
1921 | dev: true
1922 |
1923 | /https-proxy-agent/5.0.0:
1924 | resolution: {integrity: sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==}
1925 | engines: {node: '>= 6'}
1926 | dependencies:
1927 | agent-base: 6.0.2
1928 | debug: 4.3.2
1929 | transitivePeerDependencies:
1930 | - supports-color
1931 | dev: true
1932 |
1933 | /i18next/20.3.5:
1934 | resolution: {integrity: sha512-//MGeU6n4TencJmCgG+TCrpdgAD/NDEU/KfKQekYbJX6QV7sD/NjWQdVdBi+bkT0snegnSoB7QhjSeatrk3a0w==}
1935 | dependencies:
1936 | '@babel/runtime': 7.14.8
1937 | dev: false
1938 |
1939 | /iconv-lite/0.4.24:
1940 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
1941 | engines: {node: '>=0.10.0'}
1942 | dependencies:
1943 | safer-buffer: 2.1.2
1944 | dev: true
1945 |
1946 | /icss-replace-symbols/1.1.0:
1947 | resolution: {integrity: sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=}
1948 | dev: true
1949 |
1950 | /icss-utils/5.1.0_postcss@8.3.6:
1951 | resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
1952 | engines: {node: ^10 || ^12 || >= 14}
1953 | peerDependencies:
1954 | postcss: ^8.1.0
1955 | dependencies:
1956 | postcss: 8.3.6
1957 | dev: true
1958 |
1959 | /ignore/4.0.6:
1960 | resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==}
1961 | engines: {node: '>= 4'}
1962 | dev: true
1963 |
1964 | /ignore/5.1.8:
1965 | resolution: {integrity: sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==}
1966 | engines: {node: '>= 4'}
1967 | dev: true
1968 |
1969 | /import-fresh/3.3.0:
1970 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1971 | engines: {node: '>=6'}
1972 | dependencies:
1973 | parent-module: 1.0.1
1974 | resolve-from: 4.0.0
1975 | dev: true
1976 |
1977 | /imurmurhash/0.1.4:
1978 | resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=}
1979 | engines: {node: '>=0.8.19'}
1980 | dev: true
1981 |
1982 | /inflight/1.0.6:
1983 | resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=}
1984 | dependencies:
1985 | once: 1.4.0
1986 | wrappy: 1.0.2
1987 | dev: true
1988 |
1989 | /inherits/2.0.4:
1990 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1991 | dev: true
1992 |
1993 | /inline-style-parser/0.1.1:
1994 | resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
1995 | dev: true
1996 |
1997 | /invariant/2.2.4:
1998 | resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
1999 | dependencies:
2000 | loose-envify: 1.4.0
2001 | dev: false
2002 |
2003 | /is-alphabetical/1.0.4:
2004 | resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==}
2005 | dev: true
2006 |
2007 | /is-alphanumerical/1.0.4:
2008 | resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==}
2009 | dependencies:
2010 | is-alphabetical: 1.0.4
2011 | is-decimal: 1.0.4
2012 | dev: true
2013 |
2014 | /is-arguments/1.1.0:
2015 | resolution: {integrity: sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==}
2016 | engines: {node: '>= 0.4'}
2017 | dependencies:
2018 | call-bind: 1.0.2
2019 | dev: true
2020 |
2021 | /is-bigint/1.0.2:
2022 | resolution: {integrity: sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==}
2023 | dev: true
2024 |
2025 | /is-boolean-object/1.1.1:
2026 | resolution: {integrity: sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==}
2027 | engines: {node: '>= 0.4'}
2028 | dependencies:
2029 | call-bind: 1.0.2
2030 | dev: true
2031 |
2032 | /is-buffer/2.0.5:
2033 | resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==}
2034 | engines: {node: '>=4'}
2035 | dev: true
2036 |
2037 | /is-callable/1.2.3:
2038 | resolution: {integrity: sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==}
2039 | engines: {node: '>= 0.4'}
2040 | dev: true
2041 |
2042 | /is-core-module/2.5.0:
2043 | resolution: {integrity: sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==}
2044 | dependencies:
2045 | has: 1.0.3
2046 | dev: true
2047 |
2048 | /is-date-object/1.0.4:
2049 | resolution: {integrity: sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==}
2050 | engines: {node: '>= 0.4'}
2051 | dev: true
2052 |
2053 | /is-decimal/1.0.4:
2054 | resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==}
2055 | dev: true
2056 |
2057 | /is-extglob/2.1.1:
2058 | resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=}
2059 | engines: {node: '>=0.10.0'}
2060 | dev: true
2061 |
2062 | /is-fullwidth-code-point/3.0.0:
2063 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
2064 | engines: {node: '>=8'}
2065 | dev: true
2066 |
2067 | /is-glob/4.0.1:
2068 | resolution: {integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==}
2069 | engines: {node: '>=0.10.0'}
2070 | dependencies:
2071 | is-extglob: 2.1.1
2072 | dev: true
2073 |
2074 | /is-hexadecimal/1.0.4:
2075 | resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==}
2076 | dev: true
2077 |
2078 | /is-map/2.0.2:
2079 | resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==}
2080 | dev: true
2081 |
2082 | /is-negative-zero/2.0.1:
2083 | resolution: {integrity: sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==}
2084 | engines: {node: '>= 0.4'}
2085 | dev: true
2086 |
2087 | /is-number-object/1.0.5:
2088 | resolution: {integrity: sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==}
2089 | engines: {node: '>= 0.4'}
2090 | dev: true
2091 |
2092 | /is-number/7.0.0:
2093 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
2094 | engines: {node: '>=0.12.0'}
2095 | dev: true
2096 |
2097 | /is-plain-obj/2.1.0:
2098 | resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==}
2099 | engines: {node: '>=8'}
2100 | dev: true
2101 |
2102 | /is-potential-custom-element-name/1.0.1:
2103 | resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
2104 | dev: true
2105 |
2106 | /is-regex/1.1.3:
2107 | resolution: {integrity: sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==}
2108 | engines: {node: '>= 0.4'}
2109 | dependencies:
2110 | call-bind: 1.0.2
2111 | has-symbols: 1.0.2
2112 | dev: true
2113 |
2114 | /is-set/2.0.2:
2115 | resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==}
2116 | dev: true
2117 |
2118 | /is-string/1.0.6:
2119 | resolution: {integrity: sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==}
2120 | engines: {node: '>= 0.4'}
2121 | dev: true
2122 |
2123 | /is-symbol/1.0.4:
2124 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
2125 | engines: {node: '>= 0.4'}
2126 | dependencies:
2127 | has-symbols: 1.0.2
2128 | dev: true
2129 |
2130 | /is-typed-array/1.1.5:
2131 | resolution: {integrity: sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==}
2132 | engines: {node: '>= 0.4'}
2133 | dependencies:
2134 | available-typed-arrays: 1.0.4
2135 | call-bind: 1.0.2
2136 | es-abstract: 1.18.3
2137 | foreach: 2.0.5
2138 | has-symbols: 1.0.2
2139 | dev: true
2140 |
2141 | /is-weakmap/2.0.1:
2142 | resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==}
2143 | dev: true
2144 |
2145 | /is-weakset/2.0.1:
2146 | resolution: {integrity: sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==}
2147 | dev: true
2148 |
2149 | /is-whitespace-character/1.0.4:
2150 | resolution: {integrity: sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==}
2151 | dev: true
2152 |
2153 | /is-word-character/1.0.4:
2154 | resolution: {integrity: sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==}
2155 | dev: true
2156 |
2157 | /isarray/0.0.1:
2158 | resolution: {integrity: sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=}
2159 | dev: false
2160 |
2161 | /isarray/2.0.5:
2162 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
2163 | dev: true
2164 |
2165 | /isexe/2.0.0:
2166 | resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=}
2167 | dev: true
2168 |
2169 | /jest-diff/26.6.2:
2170 | resolution: {integrity: sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==}
2171 | engines: {node: '>= 10.14.2'}
2172 | dependencies:
2173 | chalk: 4.1.1
2174 | diff-sequences: 26.6.2
2175 | jest-get-type: 26.3.0
2176 | pretty-format: 26.6.2
2177 | dev: true
2178 |
2179 | /jest-get-type/26.3.0:
2180 | resolution: {integrity: sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==}
2181 | engines: {node: '>= 10.14.2'}
2182 | dev: true
2183 |
2184 | /jiti/1.11.0:
2185 | resolution: {integrity: sha512-/2c7e61hxxTIN34UeHBB0LCJ5Tq64kgJDV7GR+++e8XRxCKRIKmB8tH6ww1W+Z6Kgd6By+C3RSCu1lXjbPT68A==}
2186 | hasBin: true
2187 | dev: true
2188 |
2189 | /js-tokens/4.0.0:
2190 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
2191 |
2192 | /js-yaml/3.14.1:
2193 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
2194 | hasBin: true
2195 | dependencies:
2196 | argparse: 1.0.10
2197 | esprima: 4.0.1
2198 | dev: true
2199 |
2200 | /jsdom/16.7.0:
2201 | resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==}
2202 | engines: {node: '>=10'}
2203 | peerDependencies:
2204 | canvas: ^2.5.0
2205 | peerDependenciesMeta:
2206 | canvas:
2207 | optional: true
2208 | dependencies:
2209 | abab: 2.0.5
2210 | acorn: 8.4.1
2211 | acorn-globals: 6.0.0
2212 | cssom: 0.4.4
2213 | cssstyle: 2.3.0
2214 | data-urls: 2.0.0
2215 | decimal.js: 10.3.1
2216 | domexception: 2.0.1
2217 | escodegen: 2.0.0
2218 | form-data: 3.0.1
2219 | html-encoding-sniffer: 2.0.1
2220 | http-proxy-agent: 4.0.1
2221 | https-proxy-agent: 5.0.0
2222 | is-potential-custom-element-name: 1.0.1
2223 | nwsapi: 2.2.0
2224 | parse5: 6.0.1
2225 | saxes: 5.0.1
2226 | symbol-tree: 3.2.4
2227 | tough-cookie: 4.0.0
2228 | w3c-hr-time: 1.0.2
2229 | w3c-xmlserializer: 2.0.0
2230 | webidl-conversions: 6.1.0
2231 | whatwg-encoding: 1.0.5
2232 | whatwg-mimetype: 2.3.0
2233 | whatwg-url: 8.7.0
2234 | ws: 7.5.3
2235 | xml-name-validator: 3.0.0
2236 | transitivePeerDependencies:
2237 | - bufferutil
2238 | - supports-color
2239 | - utf-8-validate
2240 | dev: true
2241 |
2242 | /jsesc/2.5.2:
2243 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
2244 | engines: {node: '>=4'}
2245 | hasBin: true
2246 | dev: true
2247 |
2248 | /json-schema-traverse/0.4.1:
2249 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
2250 | dev: true
2251 |
2252 | /json-schema-traverse/1.0.0:
2253 | resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
2254 | dev: true
2255 |
2256 | /json-stable-stringify-without-jsonify/1.0.1:
2257 | resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=}
2258 | dev: true
2259 |
2260 | /json5/1.0.1:
2261 | resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==}
2262 | hasBin: true
2263 | dependencies:
2264 | minimist: 1.2.5
2265 | dev: true
2266 |
2267 | /json5/2.2.0:
2268 | resolution: {integrity: sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==}
2269 | engines: {node: '>=6'}
2270 | hasBin: true
2271 | dependencies:
2272 | minimist: 1.2.5
2273 | dev: true
2274 |
2275 | /levn/0.3.0:
2276 | resolution: {integrity: sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=}
2277 | engines: {node: '>= 0.8.0'}
2278 | dependencies:
2279 | prelude-ls: 1.1.2
2280 | type-check: 0.3.2
2281 | dev: true
2282 |
2283 | /levn/0.4.1:
2284 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
2285 | engines: {node: '>= 0.8.0'}
2286 | dependencies:
2287 | prelude-ls: 1.2.1
2288 | type-check: 0.4.0
2289 | dev: true
2290 |
2291 | /loader-utils/1.4.0:
2292 | resolution: {integrity: sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==}
2293 | engines: {node: '>=4.0.0'}
2294 | dependencies:
2295 | big.js: 5.2.2
2296 | emojis-list: 3.0.0
2297 | json5: 1.0.1
2298 | dev: true
2299 |
2300 | /lodash.camelcase/4.3.0:
2301 | resolution: {integrity: sha1-soqmKIorn8ZRA1x3EfZathkDMaY=}
2302 | dev: true
2303 |
2304 | /lodash.clonedeep/4.5.0:
2305 | resolution: {integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=}
2306 | dev: true
2307 |
2308 | /lodash.merge/4.6.2:
2309 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
2310 | dev: true
2311 |
2312 | /lodash.truncate/4.4.2:
2313 | resolution: {integrity: sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=}
2314 | dev: true
2315 |
2316 | /lodash.uniq/4.5.0:
2317 | resolution: {integrity: sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=}
2318 | dev: true
2319 |
2320 | /lodash/4.17.21:
2321 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
2322 | dev: true
2323 |
2324 | /loose-envify/1.4.0:
2325 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
2326 | hasBin: true
2327 | dependencies:
2328 | js-tokens: 4.0.0
2329 | dev: false
2330 |
2331 | /lru-cache/5.1.1:
2332 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
2333 | dependencies:
2334 | yallist: 3.1.1
2335 | dev: true
2336 |
2337 | /lru-cache/6.0.0:
2338 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
2339 | engines: {node: '>=10'}
2340 | dependencies:
2341 | yallist: 4.0.0
2342 | dev: true
2343 |
2344 | /magic-string/0.25.7:
2345 | resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==}
2346 | dependencies:
2347 | sourcemap-codec: 1.4.8
2348 |
2349 | /markdown-escapes/1.0.4:
2350 | resolution: {integrity: sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==}
2351 | dev: true
2352 |
2353 | /mdast-squeeze-paragraphs/4.0.0:
2354 | resolution: {integrity: sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==}
2355 | dependencies:
2356 | unist-util-remove: 2.1.0
2357 | dev: true
2358 |
2359 | /mdast-util-definitions/4.0.0:
2360 | resolution: {integrity: sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==}
2361 | dependencies:
2362 | unist-util-visit: 2.0.3
2363 | dev: true
2364 |
2365 | /mdast-util-to-hast/10.0.1:
2366 | resolution: {integrity: sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==}
2367 | dependencies:
2368 | '@types/mdast': 3.0.7
2369 | '@types/unist': 2.0.6
2370 | mdast-util-definitions: 4.0.0
2371 | mdurl: 1.0.1
2372 | unist-builder: 2.0.3
2373 | unist-util-generated: 1.1.6
2374 | unist-util-position: 3.1.0
2375 | unist-util-visit: 2.0.3
2376 | dev: true
2377 |
2378 | /mdurl/1.0.1:
2379 | resolution: {integrity: sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=}
2380 | dev: true
2381 |
2382 | /merge-source-map/1.1.0:
2383 | resolution: {integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==}
2384 | dependencies:
2385 | source-map: 0.6.1
2386 | dev: true
2387 |
2388 | /merge2/1.4.1:
2389 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
2390 | engines: {node: '>= 8'}
2391 | dev: true
2392 |
2393 | /micromatch/4.0.4:
2394 | resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==}
2395 | engines: {node: '>=8.6'}
2396 | dependencies:
2397 | braces: 3.0.2
2398 | picomatch: 2.3.0
2399 | dev: true
2400 |
2401 | /mime-db/1.49.0:
2402 | resolution: {integrity: sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==}
2403 | engines: {node: '>= 0.6'}
2404 | dev: true
2405 |
2406 | /mime-types/2.1.32:
2407 | resolution: {integrity: sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==}
2408 | engines: {node: '>= 0.6'}
2409 | dependencies:
2410 | mime-db: 1.49.0
2411 | dev: true
2412 |
2413 | /mini-create-react-context/0.4.1_prop-types@15.7.2+react@17.0.2:
2414 | resolution: {integrity: sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==}
2415 | peerDependencies:
2416 | prop-types: ^15.0.0
2417 | react: ^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
2418 | dependencies:
2419 | '@babel/runtime': 7.14.0
2420 | prop-types: 15.7.2
2421 | react: 17.0.2
2422 | tiny-warning: 1.0.3
2423 | dev: false
2424 |
2425 | /minimatch/3.0.4:
2426 | resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==}
2427 | dependencies:
2428 | brace-expansion: 1.1.11
2429 | dev: true
2430 |
2431 | /minimist/1.2.5:
2432 | resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==}
2433 | dev: true
2434 |
2435 | /ms/2.0.0:
2436 | resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=}
2437 | dev: false
2438 |
2439 | /ms/2.1.2:
2440 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
2441 | dev: true
2442 |
2443 | /nanoid/3.1.23:
2444 | resolution: {integrity: sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==}
2445 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
2446 | hasBin: true
2447 | dev: true
2448 |
2449 | /natural-compare/1.4.0:
2450 | resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=}
2451 | dev: true
2452 |
2453 | /node-fetch/2.6.1:
2454 | resolution: {integrity: sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==}
2455 | engines: {node: 4.x || >=6.0.0}
2456 |
2457 | /node-releases/1.1.73:
2458 | resolution: {integrity: sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==}
2459 | dev: true
2460 |
2461 | /nwsapi/2.2.0:
2462 | resolution: {integrity: sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==}
2463 | dev: true
2464 |
2465 | /object-assign/4.1.1:
2466 | resolution: {integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=}
2467 | engines: {node: '>=0.10.0'}
2468 |
2469 | /object-inspect/1.10.3:
2470 | resolution: {integrity: sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==}
2471 | dev: true
2472 |
2473 | /object-is/1.1.5:
2474 | resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==}
2475 | engines: {node: '>= 0.4'}
2476 | dependencies:
2477 | call-bind: 1.0.2
2478 | define-properties: 1.1.3
2479 | dev: true
2480 |
2481 | /object-keys/1.1.1:
2482 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
2483 | engines: {node: '>= 0.4'}
2484 | dev: true
2485 |
2486 | /object.assign/4.1.2:
2487 | resolution: {integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==}
2488 | engines: {node: '>= 0.4'}
2489 | dependencies:
2490 | call-bind: 1.0.2
2491 | define-properties: 1.1.3
2492 | has-symbols: 1.0.2
2493 | object-keys: 1.1.1
2494 | dev: true
2495 |
2496 | /on-finished/2.3.0:
2497 | resolution: {integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=}
2498 | engines: {node: '>= 0.8'}
2499 | dependencies:
2500 | ee-first: 1.1.1
2501 | dev: false
2502 |
2503 | /once/1.4.0:
2504 | resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=}
2505 | dependencies:
2506 | wrappy: 1.0.2
2507 | dev: true
2508 |
2509 | /optionator/0.8.3:
2510 | resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==}
2511 | engines: {node: '>= 0.8.0'}
2512 | dependencies:
2513 | deep-is: 0.1.3
2514 | fast-levenshtein: 2.0.6
2515 | levn: 0.3.0
2516 | prelude-ls: 1.1.2
2517 | type-check: 0.3.2
2518 | word-wrap: 1.2.3
2519 | dev: true
2520 |
2521 | /optionator/0.9.1:
2522 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
2523 | engines: {node: '>= 0.8.0'}
2524 | dependencies:
2525 | deep-is: 0.1.3
2526 | fast-levenshtein: 2.0.6
2527 | levn: 0.4.1
2528 | prelude-ls: 1.2.1
2529 | type-check: 0.4.0
2530 | word-wrap: 1.2.3
2531 | dev: true
2532 |
2533 | /parent-module/1.0.1:
2534 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
2535 | engines: {node: '>=6'}
2536 | dependencies:
2537 | callsites: 3.1.0
2538 | dev: true
2539 |
2540 | /parse-entities/2.0.0:
2541 | resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==}
2542 | dependencies:
2543 | character-entities: 1.2.4
2544 | character-entities-legacy: 1.1.4
2545 | character-reference-invalid: 1.1.4
2546 | is-alphanumerical: 1.0.4
2547 | is-decimal: 1.0.4
2548 | is-hexadecimal: 1.0.4
2549 | dev: true
2550 |
2551 | /parse-numeric-range/1.2.0:
2552 | resolution: {integrity: sha512-1q2tXpAOplPxcl8vrIGPWz1dJxxfmdRkCFcpxxMBerDnGuuHalOWF/xj9L8Nn5XoTUoB/6F0CeQBp2fMgkOYFg==}
2553 | dev: true
2554 |
2555 | /parse5-htmlparser2-tree-adapter/6.0.1:
2556 | resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==}
2557 | dependencies:
2558 | parse5: 6.0.1
2559 | dev: true
2560 |
2561 | /parse5/6.0.1:
2562 | resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==}
2563 | dev: true
2564 |
2565 | /parseurl/1.3.3:
2566 | resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
2567 | engines: {node: '>= 0.8'}
2568 | dev: false
2569 |
2570 | /path-is-absolute/1.0.1:
2571 | resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=}
2572 | engines: {node: '>=0.10.0'}
2573 | dev: true
2574 |
2575 | /path-key/3.1.1:
2576 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
2577 | engines: {node: '>=8'}
2578 | dev: true
2579 |
2580 | /path-parse/1.0.7:
2581 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
2582 | dev: true
2583 |
2584 | /path-to-regexp/1.8.0:
2585 | resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==}
2586 | dependencies:
2587 | isarray: 0.0.1
2588 | dev: false
2589 |
2590 | /path-type/4.0.0:
2591 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
2592 | engines: {node: '>=8'}
2593 | dev: true
2594 |
2595 | /picomatch/2.3.0:
2596 | resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==}
2597 | engines: {node: '>=8.6'}
2598 |
2599 | /pnpm/6.11.5:
2600 | resolution: {integrity: sha512-TXMSRyncP88F4GTdKFIIi3kdXSYf+v3uvIKLfNjPTt2YjsrbKmYNCR3VsGjYwlMVSnH2UEo2/sM2VNSefH9Isw==}
2601 | engines: {node: '>=12.17'}
2602 | hasBin: true
2603 | dev: true
2604 |
2605 | /postcss-modules-extract-imports/3.0.0_postcss@8.3.6:
2606 | resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==}
2607 | engines: {node: ^10 || ^12 || >= 14}
2608 | peerDependencies:
2609 | postcss: ^8.1.0
2610 | dependencies:
2611 | postcss: 8.3.6
2612 | dev: true
2613 |
2614 | /postcss-modules-local-by-default/4.0.0_postcss@8.3.6:
2615 | resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==}
2616 | engines: {node: ^10 || ^12 || >= 14}
2617 | peerDependencies:
2618 | postcss: ^8.1.0
2619 | dependencies:
2620 | icss-utils: 5.1.0_postcss@8.3.6
2621 | postcss: 8.3.6
2622 | postcss-selector-parser: 6.0.6
2623 | postcss-value-parser: 4.1.0
2624 | dev: true
2625 |
2626 | /postcss-modules-scope/3.0.0_postcss@8.3.6:
2627 | resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==}
2628 | engines: {node: ^10 || ^12 || >= 14}
2629 | peerDependencies:
2630 | postcss: ^8.1.0
2631 | dependencies:
2632 | postcss: 8.3.6
2633 | postcss-selector-parser: 6.0.6
2634 | dev: true
2635 |
2636 | /postcss-modules-values/4.0.0_postcss@8.3.6:
2637 | resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
2638 | engines: {node: ^10 || ^12 || >= 14}
2639 | peerDependencies:
2640 | postcss: ^8.1.0
2641 | dependencies:
2642 | icss-utils: 5.1.0_postcss@8.3.6
2643 | postcss: 8.3.6
2644 | dev: true
2645 |
2646 | /postcss-modules/4.2.2_postcss@8.3.6:
2647 | resolution: {integrity: sha512-/H08MGEmaalv/OU8j6bUKi/kZr2kqGF6huAW8m9UAgOLWtpFdhA14+gPBoymtqyv+D4MLsmqaF2zvIegdCxJXg==}
2648 | peerDependencies:
2649 | postcss: ^8.0.0
2650 | dependencies:
2651 | generic-names: 2.0.1
2652 | icss-replace-symbols: 1.1.0
2653 | lodash.camelcase: 4.3.0
2654 | postcss: 8.3.6
2655 | postcss-modules-extract-imports: 3.0.0_postcss@8.3.6
2656 | postcss-modules-local-by-default: 4.0.0_postcss@8.3.6
2657 | postcss-modules-scope: 3.0.0_postcss@8.3.6
2658 | postcss-modules-values: 4.0.0_postcss@8.3.6
2659 | string-hash: 1.1.3
2660 | dev: true
2661 |
2662 | /postcss-selector-parser/6.0.6:
2663 | resolution: {integrity: sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==}
2664 | engines: {node: '>=4'}
2665 | dependencies:
2666 | cssesc: 3.0.0
2667 | util-deprecate: 1.0.2
2668 | dev: true
2669 |
2670 | /postcss-value-parser/4.1.0:
2671 | resolution: {integrity: sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==}
2672 | dev: true
2673 |
2674 | /postcss/8.3.6:
2675 | resolution: {integrity: sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==}
2676 | engines: {node: ^10 || ^12 || >=14}
2677 | dependencies:
2678 | colorette: 1.2.2
2679 | nanoid: 3.1.23
2680 | source-map-js: 0.6.2
2681 | dev: true
2682 |
2683 | /prelude-ls/1.1.2:
2684 | resolution: {integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=}
2685 | engines: {node: '>= 0.8.0'}
2686 | dev: true
2687 |
2688 | /prelude-ls/1.2.1:
2689 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
2690 | engines: {node: '>= 0.8.0'}
2691 | dev: true
2692 |
2693 | /pretty-format/26.6.2:
2694 | resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==}
2695 | engines: {node: '>= 10'}
2696 | dependencies:
2697 | '@jest/types': 26.6.2
2698 | ansi-regex: 5.0.0
2699 | ansi-styles: 4.3.0
2700 | react-is: 17.0.2
2701 | dev: true
2702 |
2703 | /prism-theme-vars/0.2.2:
2704 | resolution: {integrity: sha512-EL9ifuU/F8tEldoCa2sspiiLWysCL54xDbf2gN/ubwdtbuJROqOGopG5kSwunapwaioT+jLUQ/Ky+7jnv62xJA==}
2705 | dev: false
2706 |
2707 | /prismjs/1.24.1:
2708 | resolution: {integrity: sha512-mNPsedLuk90RVJioIky8ANZEwYm5w9LcvCXrxHlwf4fNVSn8jEipMybMkWUyyF0JhnC+C4VcOVSBuHRKs1L5Ow==}
2709 | dev: true
2710 |
2711 | /progress/2.0.3:
2712 | resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
2713 | engines: {node: '>=0.4.0'}
2714 | dev: true
2715 |
2716 | /prop-types/15.7.2:
2717 | resolution: {integrity: sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==}
2718 | dependencies:
2719 | loose-envify: 1.4.0
2720 | object-assign: 4.1.1
2721 | react-is: 16.13.1
2722 | dev: false
2723 |
2724 | /property-information/5.6.0:
2725 | resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==}
2726 | dependencies:
2727 | xtend: 4.0.2
2728 | dev: true
2729 |
2730 | /psl/1.8.0:
2731 | resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==}
2732 | dev: true
2733 |
2734 | /punycode/2.1.1:
2735 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==}
2736 | engines: {node: '>=6'}
2737 | dev: true
2738 |
2739 | /queue-microtask/1.2.3:
2740 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
2741 | dev: true
2742 |
2743 | /react-dom/17.0.2_react@17.0.2:
2744 | resolution: {integrity: sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==}
2745 | peerDependencies:
2746 | react: 17.0.2
2747 | dependencies:
2748 | loose-envify: 1.4.0
2749 | object-assign: 4.1.1
2750 | react: 17.0.2
2751 | scheduler: 0.20.2
2752 | dev: false
2753 |
2754 | /react-fast-compare/3.2.0:
2755 | resolution: {integrity: sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==}
2756 | dev: false
2757 |
2758 | /react-helmet-async/1.0.9_react-dom@17.0.2+react@17.0.2:
2759 | resolution: {integrity: sha512-N+iUlo9WR3/u9qGMmP4jiYfaD6pe9IvDTapZLFJz2D3xlTlCM1Bzy4Ab3g72Nbajo/0ZyW+W9hdz8Hbe4l97pQ==}
2760 | peerDependencies:
2761 | react: ^16.6.0 || ^17.0.0
2762 | react-dom: ^16.6.0 || ^17.0.0
2763 | dependencies:
2764 | '@babel/runtime': 7.14.0
2765 | invariant: 2.2.4
2766 | prop-types: 15.7.2
2767 | react: 17.0.2
2768 | react-dom: 17.0.2_react@17.0.2
2769 | react-fast-compare: 3.2.0
2770 | shallowequal: 1.1.0
2771 | dev: false
2772 |
2773 | /react-i18next/11.11.4_i18next@20.3.5+react@17.0.2:
2774 | resolution: {integrity: sha512-ayWFlu8Sc7GAxW1PzMaPtzq+yiozWMxs0P1WeITNVzXAVRhC0Httkzw/IiODBta6seJRBCLrtUeFUSXhAIxlRg==}
2775 | peerDependencies:
2776 | i18next: '>= 19.0.0'
2777 | react: '>= 16.8.0'
2778 | dependencies:
2779 | '@babel/runtime': 7.14.8
2780 | html-parse-stringify: 3.0.1
2781 | i18next: 20.3.5
2782 | react: 17.0.2
2783 | dev: false
2784 |
2785 | /react-is/16.13.1:
2786 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
2787 | dev: false
2788 |
2789 | /react-is/17.0.2:
2790 | resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
2791 | dev: true
2792 |
2793 | /react-refresh/0.10.0:
2794 | resolution: {integrity: sha512-PgidR3wST3dDYKr6b4pJoqQFpPGNKDSCDx4cZoshjXipw3LzO7mG1My2pwEzz2JVkF+inx3xRpDeQLFQGH/hsQ==}
2795 | engines: {node: '>=0.10.0'}
2796 | dev: true
2797 |
2798 | /react-router-config/5.1.1_react-router@5.2.0+react@17.0.2:
2799 | resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==}
2800 | peerDependencies:
2801 | react: '>=15'
2802 | react-router: '>=5'
2803 | dependencies:
2804 | '@babel/runtime': 7.14.8
2805 | react: 17.0.2
2806 | react-router: 5.2.0_react@17.0.2
2807 | dev: false
2808 |
2809 | /react-router-dom/5.2.0_react@17.0.2:
2810 | resolution: {integrity: sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==}
2811 | peerDependencies:
2812 | react: '>=15'
2813 | dependencies:
2814 | '@babel/runtime': 7.14.0
2815 | history: 4.10.1
2816 | loose-envify: 1.4.0
2817 | prop-types: 15.7.2
2818 | react: 17.0.2
2819 | react-router: 5.2.0_react@17.0.2
2820 | tiny-invariant: 1.1.0
2821 | tiny-warning: 1.0.3
2822 | dev: false
2823 |
2824 | /react-router/5.2.0_react@17.0.2:
2825 | resolution: {integrity: sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==}
2826 | peerDependencies:
2827 | react: '>=15'
2828 | dependencies:
2829 | '@babel/runtime': 7.14.0
2830 | history: 4.10.1
2831 | hoist-non-react-statics: 3.3.2
2832 | loose-envify: 1.4.0
2833 | mini-create-react-context: 0.4.1_prop-types@15.7.2+react@17.0.2
2834 | path-to-regexp: 1.8.0
2835 | prop-types: 15.7.2
2836 | react: 17.0.2
2837 | react-is: 16.13.1
2838 | tiny-invariant: 1.1.0
2839 | tiny-warning: 1.0.3
2840 | dev: false
2841 |
2842 | /react-ssr-prepass/1.4.0_react@17.0.2:
2843 | resolution: {integrity: sha512-0SzdmiQUtHvhxCabHg9BI/pkJfijGkQ0jQL6fC4YFy7idaDOuaiQLsajIkkNxffFXtJFHIWFITlve2WB88e0Jw==}
2844 | peerDependencies:
2845 | react: ^16.8.0 || ^17.0.0
2846 | dependencies:
2847 | react: 17.0.2
2848 | dev: false
2849 |
2850 | /react/17.0.2:
2851 | resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==}
2852 | engines: {node: '>=0.10.0'}
2853 | dependencies:
2854 | loose-envify: 1.4.0
2855 | object-assign: 4.1.1
2856 | dev: false
2857 |
2858 | /regenerator-runtime/0.13.7:
2859 | resolution: {integrity: sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==}
2860 | dev: false
2861 |
2862 | /regenerator-runtime/0.13.9:
2863 | resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==}
2864 | dev: false
2865 |
2866 | /regexp.prototype.flags/1.3.1:
2867 | resolution: {integrity: sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==}
2868 | engines: {node: '>= 0.4'}
2869 | dependencies:
2870 | call-bind: 1.0.2
2871 | define-properties: 1.1.3
2872 | dev: true
2873 |
2874 | /regexpp/3.1.0:
2875 | resolution: {integrity: sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==}
2876 | engines: {node: '>=8'}
2877 | dev: true
2878 |
2879 | /remark-footnotes/2.0.0:
2880 | resolution: {integrity: sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==}
2881 | dev: true
2882 |
2883 | /remark-mdx/1.6.22:
2884 | resolution: {integrity: sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==}
2885 | dependencies:
2886 | '@babel/core': 7.12.9
2887 | '@babel/helper-plugin-utils': 7.10.4
2888 | '@babel/plugin-proposal-object-rest-spread': 7.12.1_@babel+core@7.12.9
2889 | '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.9
2890 | '@mdx-js/util': 1.6.22
2891 | is-alphabetical: 1.0.4
2892 | remark-parse: 8.0.3
2893 | unified: 9.2.0
2894 | transitivePeerDependencies:
2895 | - supports-color
2896 | dev: true
2897 |
2898 | /remark-parse/8.0.3:
2899 | resolution: {integrity: sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==}
2900 | dependencies:
2901 | ccount: 1.1.0
2902 | collapse-white-space: 1.0.6
2903 | is-alphabetical: 1.0.4
2904 | is-decimal: 1.0.4
2905 | is-whitespace-character: 1.0.4
2906 | is-word-character: 1.0.4
2907 | markdown-escapes: 1.0.4
2908 | parse-entities: 2.0.0
2909 | repeat-string: 1.6.1
2910 | state-toggle: 1.0.3
2911 | trim: 0.0.1
2912 | trim-trailing-lines: 1.1.4
2913 | unherit: 1.1.3
2914 | unist-util-remove-position: 2.0.1
2915 | vfile-location: 3.2.0
2916 | xtend: 4.0.2
2917 | dev: true
2918 |
2919 | /remark-prism/1.3.6:
2920 | resolution: {integrity: sha512-yYSXJ2MEK2DeD9UKDKFkQPcVqRx6aX2FYD1kE27ScogpZ/BBO8MoOO6gf/AKqfXvKGnP51wqvDEBmPseypgaug==}
2921 | dependencies:
2922 | classnames: 2.3.1
2923 | css-selector-parser: 1.4.1
2924 | escape-html: 1.0.3
2925 | jsdom: 16.7.0
2926 | parse-numeric-range: 1.2.0
2927 | parse5: 6.0.1
2928 | parse5-htmlparser2-tree-adapter: 6.0.1
2929 | prismjs: 1.24.1
2930 | unist-util-map: 2.0.1
2931 | transitivePeerDependencies:
2932 | - bufferutil
2933 | - canvas
2934 | - supports-color
2935 | - utf-8-validate
2936 | dev: true
2937 |
2938 | /remark-squeeze-paragraphs/4.0.0:
2939 | resolution: {integrity: sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==}
2940 | dependencies:
2941 | mdast-squeeze-paragraphs: 4.0.0
2942 | dev: true
2943 |
2944 | /repeat-string/1.6.1:
2945 | resolution: {integrity: sha1-jcrkcOHIirwtYA//Sndihtp15jc=}
2946 | engines: {node: '>=0.10'}
2947 | dev: true
2948 |
2949 | /require-from-string/2.0.2:
2950 | resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
2951 | engines: {node: '>=0.10.0'}
2952 | dev: true
2953 |
2954 | /resolve-from/4.0.0:
2955 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
2956 | engines: {node: '>=4'}
2957 | dev: true
2958 |
2959 | /resolve-pathname/3.0.0:
2960 | resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==}
2961 | dev: false
2962 |
2963 | /resolve/1.20.0:
2964 | resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==}
2965 | dependencies:
2966 | is-core-module: 2.5.0
2967 | path-parse: 1.0.7
2968 | dev: true
2969 |
2970 | /reusify/1.0.4:
2971 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
2972 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
2973 | dev: true
2974 |
2975 | /rimraf/3.0.2:
2976 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
2977 | hasBin: true
2978 | dependencies:
2979 | glob: 7.1.7
2980 | dev: true
2981 |
2982 | /rollup/2.51.1:
2983 | resolution: {integrity: sha512-8xfDbAtBleXotb6qKEHWuo/jkn94a9dVqGc7Rwl3sqspCVlnCfbRek7ldhCARSi7h32H0xR4QThm1t9zHN+3uw==}
2984 | engines: {node: '>=10.0.0'}
2985 | hasBin: true
2986 | optionalDependencies:
2987 | fsevents: 2.3.2
2988 | dev: true
2989 |
2990 | /run-parallel/1.2.0:
2991 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
2992 | dependencies:
2993 | queue-microtask: 1.2.3
2994 | dev: true
2995 |
2996 | /safe-buffer/5.1.2:
2997 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
2998 | dev: true
2999 |
3000 | /safer-buffer/2.1.2:
3001 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
3002 | dev: true
3003 |
3004 | /saxes/5.0.1:
3005 | resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==}
3006 | engines: {node: '>=10'}
3007 | dependencies:
3008 | xmlchars: 2.2.0
3009 | dev: true
3010 |
3011 | /scheduler/0.20.2:
3012 | resolution: {integrity: sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==}
3013 | dependencies:
3014 | loose-envify: 1.4.0
3015 | object-assign: 4.1.1
3016 | dev: false
3017 |
3018 | /semver/5.7.1:
3019 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==}
3020 | hasBin: true
3021 | dev: true
3022 |
3023 | /semver/6.3.0:
3024 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
3025 | hasBin: true
3026 | dev: true
3027 |
3028 | /semver/7.3.5:
3029 | resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==}
3030 | engines: {node: '>=10'}
3031 | hasBin: true
3032 | dependencies:
3033 | lru-cache: 6.0.0
3034 | dev: true
3035 |
3036 | /shallowequal/1.1.0:
3037 | resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==}
3038 | dev: false
3039 |
3040 | /shebang-command/2.0.0:
3041 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
3042 | engines: {node: '>=8'}
3043 | dependencies:
3044 | shebang-regex: 3.0.0
3045 | dev: true
3046 |
3047 | /shebang-regex/3.0.0:
3048 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
3049 | engines: {node: '>=8'}
3050 | dev: true
3051 |
3052 | /side-channel/1.0.4:
3053 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
3054 | dependencies:
3055 | call-bind: 1.0.2
3056 | get-intrinsic: 1.1.1
3057 | object-inspect: 1.10.3
3058 | dev: true
3059 |
3060 | /slash/3.0.0:
3061 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
3062 | engines: {node: '>=8'}
3063 | dev: true
3064 |
3065 | /slice-ansi/4.0.0:
3066 | resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==}
3067 | engines: {node: '>=10'}
3068 | dependencies:
3069 | ansi-styles: 4.3.0
3070 | astral-regex: 2.0.0
3071 | is-fullwidth-code-point: 3.0.0
3072 | dev: true
3073 |
3074 | /source-map-js/0.6.2:
3075 | resolution: {integrity: sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==}
3076 | engines: {node: '>=0.10.0'}
3077 | dev: true
3078 |
3079 | /source-map/0.5.7:
3080 | resolution: {integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=}
3081 | engines: {node: '>=0.10.0'}
3082 | dev: true
3083 |
3084 | /source-map/0.6.1:
3085 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
3086 | engines: {node: '>=0.10.0'}
3087 |
3088 | /sourcemap-codec/1.4.8:
3089 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
3090 |
3091 | /space-separated-tokens/1.1.5:
3092 | resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==}
3093 | dev: true
3094 |
3095 | /sprintf-js/1.0.3:
3096 | resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=}
3097 | dev: true
3098 |
3099 | /state-toggle/1.0.3:
3100 | resolution: {integrity: sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==}
3101 | dev: true
3102 |
3103 | /statuses/1.5.0:
3104 | resolution: {integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=}
3105 | engines: {node: '>= 0.6'}
3106 | dev: false
3107 |
3108 | /string-hash/1.1.3:
3109 | resolution: {integrity: sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=}
3110 | dev: true
3111 |
3112 | /string-width/4.2.2:
3113 | resolution: {integrity: sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==}
3114 | engines: {node: '>=8'}
3115 | dependencies:
3116 | emoji-regex: 8.0.0
3117 | is-fullwidth-code-point: 3.0.0
3118 | strip-ansi: 6.0.0
3119 | dev: true
3120 |
3121 | /string.prototype.trimend/1.0.4:
3122 | resolution: {integrity: sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==}
3123 | dependencies:
3124 | call-bind: 1.0.2
3125 | define-properties: 1.1.3
3126 | dev: true
3127 |
3128 | /string.prototype.trimstart/1.0.4:
3129 | resolution: {integrity: sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==}
3130 | dependencies:
3131 | call-bind: 1.0.2
3132 | define-properties: 1.1.3
3133 | dev: true
3134 |
3135 | /strip-ansi/6.0.0:
3136 | resolution: {integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==}
3137 | engines: {node: '>=8'}
3138 | dependencies:
3139 | ansi-regex: 5.0.0
3140 | dev: true
3141 |
3142 | /strip-json-comments/3.1.1:
3143 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
3144 | engines: {node: '>=8'}
3145 | dev: true
3146 |
3147 | /style-to-object/0.3.0:
3148 | resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==}
3149 | dependencies:
3150 | inline-style-parser: 0.1.1
3151 | dev: true
3152 |
3153 | /supports-color/5.5.0:
3154 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
3155 | engines: {node: '>=4'}
3156 | dependencies:
3157 | has-flag: 3.0.0
3158 | dev: true
3159 |
3160 | /supports-color/7.2.0:
3161 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
3162 | engines: {node: '>=8'}
3163 | dependencies:
3164 | has-flag: 4.0.0
3165 | dev: true
3166 |
3167 | /symbol-tree/3.2.4:
3168 | resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
3169 | dev: true
3170 |
3171 | /table/6.7.1:
3172 | resolution: {integrity: sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg==}
3173 | engines: {node: '>=10.0.0'}
3174 | dependencies:
3175 | ajv: 8.6.0
3176 | lodash.clonedeep: 4.5.0
3177 | lodash.truncate: 4.4.2
3178 | slice-ansi: 4.0.0
3179 | string-width: 4.2.2
3180 | strip-ansi: 6.0.0
3181 | dev: true
3182 |
3183 | /text-table/0.2.0:
3184 | resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=}
3185 | dev: true
3186 |
3187 | /tiny-invariant/1.1.0:
3188 | resolution: {integrity: sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==}
3189 | dev: false
3190 |
3191 | /tiny-warning/1.0.3:
3192 | resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==}
3193 | dev: false
3194 |
3195 | /to-fast-properties/2.0.0:
3196 | resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=}
3197 | engines: {node: '>=4'}
3198 |
3199 | /to-regex-range/5.0.1:
3200 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
3201 | engines: {node: '>=8.0'}
3202 | dependencies:
3203 | is-number: 7.0.0
3204 | dev: true
3205 |
3206 | /tough-cookie/4.0.0:
3207 | resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==}
3208 | engines: {node: '>=6'}
3209 | dependencies:
3210 | psl: 1.8.0
3211 | punycode: 2.1.1
3212 | universalify: 0.1.2
3213 | dev: true
3214 |
3215 | /tr46/2.1.0:
3216 | resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==}
3217 | engines: {node: '>=8'}
3218 | dependencies:
3219 | punycode: 2.1.1
3220 | dev: true
3221 |
3222 | /trim-trailing-lines/1.1.4:
3223 | resolution: {integrity: sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==}
3224 | dev: true
3225 |
3226 | /trim/0.0.1:
3227 | resolution: {integrity: sha1-WFhUf2spB1fulczMZm+1AITEYN0=}
3228 | dev: true
3229 |
3230 | /trough/1.0.5:
3231 | resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==}
3232 | dev: true
3233 |
3234 | /tslib/1.14.1:
3235 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
3236 | dev: true
3237 |
3238 | /tsutils/3.21.0_typescript@4.3.5:
3239 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
3240 | engines: {node: '>= 6'}
3241 | peerDependencies:
3242 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
3243 | dependencies:
3244 | tslib: 1.14.1
3245 | typescript: 4.3.5
3246 | dev: true
3247 |
3248 | /type-check/0.3.2:
3249 | resolution: {integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=}
3250 | engines: {node: '>= 0.8.0'}
3251 | dependencies:
3252 | prelude-ls: 1.1.2
3253 | dev: true
3254 |
3255 | /type-check/0.4.0:
3256 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
3257 | engines: {node: '>= 0.8.0'}
3258 | dependencies:
3259 | prelude-ls: 1.2.1
3260 | dev: true
3261 |
3262 | /type-fest/0.20.2:
3263 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
3264 | engines: {node: '>=10'}
3265 | dev: true
3266 |
3267 | /typescript/4.3.5:
3268 | resolution: {integrity: sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==}
3269 | engines: {node: '>=4.2.0'}
3270 | hasBin: true
3271 | dev: true
3272 |
3273 | /unbox-primitive/1.0.1:
3274 | resolution: {integrity: sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==}
3275 | dependencies:
3276 | function-bind: 1.1.1
3277 | has-bigints: 1.0.1
3278 | has-symbols: 1.0.2
3279 | which-boxed-primitive: 1.0.2
3280 | dev: true
3281 |
3282 | /unherit/1.1.3:
3283 | resolution: {integrity: sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==}
3284 | dependencies:
3285 | inherits: 2.0.4
3286 | xtend: 4.0.2
3287 | dev: true
3288 |
3289 | /unified/9.2.0:
3290 | resolution: {integrity: sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==}
3291 | dependencies:
3292 | bail: 1.0.5
3293 | extend: 3.0.2
3294 | is-buffer: 2.0.5
3295 | is-plain-obj: 2.1.0
3296 | trough: 1.0.5
3297 | vfile: 4.2.1
3298 | dev: true
3299 |
3300 | /unified/9.2.2:
3301 | resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==}
3302 | dependencies:
3303 | bail: 1.0.5
3304 | extend: 3.0.2
3305 | is-buffer: 2.0.5
3306 | is-plain-obj: 2.1.0
3307 | trough: 1.0.5
3308 | vfile: 4.2.1
3309 | dev: true
3310 |
3311 | /unist-builder/2.0.3:
3312 | resolution: {integrity: sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==}
3313 | dev: true
3314 |
3315 | /unist-util-generated/1.1.6:
3316 | resolution: {integrity: sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==}
3317 | dev: true
3318 |
3319 | /unist-util-is/4.1.0:
3320 | resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==}
3321 | dev: true
3322 |
3323 | /unist-util-map/2.0.1:
3324 | resolution: {integrity: sha512-VdNvk4BQUUU9Rgr8iUOvclHa/iN9O+6Dt66FKij8l9OVezGG37gGWCPU5KSax1R2degqXFvl3kWTkvzL79e9tQ==}
3325 | dependencies:
3326 | '@types/mdast': 3.0.7
3327 | object-assign: 4.1.1
3328 | dev: true
3329 |
3330 | /unist-util-position/3.1.0:
3331 | resolution: {integrity: sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==}
3332 | dev: true
3333 |
3334 | /unist-util-remove-position/2.0.1:
3335 | resolution: {integrity: sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==}
3336 | dependencies:
3337 | unist-util-visit: 2.0.3
3338 | dev: true
3339 |
3340 | /unist-util-remove/2.1.0:
3341 | resolution: {integrity: sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==}
3342 | dependencies:
3343 | unist-util-is: 4.1.0
3344 | dev: true
3345 |
3346 | /unist-util-stringify-position/2.0.3:
3347 | resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==}
3348 | dependencies:
3349 | '@types/unist': 2.0.6
3350 | dev: true
3351 |
3352 | /unist-util-visit-parents/3.1.1:
3353 | resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==}
3354 | dependencies:
3355 | '@types/unist': 2.0.6
3356 | unist-util-is: 4.1.0
3357 | dev: true
3358 |
3359 | /unist-util-visit/2.0.3:
3360 | resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==}
3361 | dependencies:
3362 | '@types/unist': 2.0.6
3363 | unist-util-is: 4.1.0
3364 | unist-util-visit-parents: 3.1.1
3365 | dev: true
3366 |
3367 | /universalify/0.1.2:
3368 | resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
3369 | engines: {node: '>= 4.0.0'}
3370 | dev: true
3371 |
3372 | /unpipe/1.0.0:
3373 | resolution: {integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=}
3374 | engines: {node: '>= 0.8'}
3375 | dev: false
3376 |
3377 | /uri-js/4.4.1:
3378 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
3379 | dependencies:
3380 | punycode: 2.1.1
3381 | dev: true
3382 |
3383 | /util-deprecate/1.0.2:
3384 | resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=}
3385 | dev: true
3386 |
3387 | /utils-merge/1.0.1:
3388 | resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=}
3389 | engines: {node: '>= 0.4.0'}
3390 | dev: false
3391 |
3392 | /v8-compile-cache/2.3.0:
3393 | resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==}
3394 | dev: true
3395 |
3396 | /value-equal/1.0.1:
3397 | resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==}
3398 | dev: false
3399 |
3400 | /vfile-location/3.2.0:
3401 | resolution: {integrity: sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==}
3402 | dev: true
3403 |
3404 | /vfile-message/2.0.4:
3405 | resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==}
3406 | dependencies:
3407 | '@types/unist': 2.0.6
3408 | unist-util-stringify-position: 2.0.3
3409 | dev: true
3410 |
3411 | /vfile/4.2.1:
3412 | resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==}
3413 | dependencies:
3414 | '@types/unist': 2.0.6
3415 | is-buffer: 2.0.5
3416 | unist-util-stringify-position: 2.0.3
3417 | vfile-message: 2.0.4
3418 | dev: true
3419 |
3420 | /vite-plugin-mdx/3.5.6_@mdx-js+mdx@1.6.22+vite@2.4.4:
3421 | resolution: {integrity: sha512-KRc6/MN/ZSJEv3PxfPEM3p5NRAnhknK9RO3h86GqOcFCCaaB88WpsLxBWPqg5cWoI3uJm+Fp/ZGfs1Fd7cQnSw==}
3422 | peerDependencies:
3423 | '@mdx-js/mdx': '*'
3424 | vite: '*'
3425 | dependencies:
3426 | '@alloc/quick-lru': 5.2.0
3427 | '@mdx-js/mdx': 1.6.22
3428 | esbuild: 0.8.57
3429 | resolve: 1.20.0
3430 | unified: 9.2.2
3431 | vite: 2.4.4
3432 | dev: true
3433 |
3434 | /vite-plugin-pages/0.12.2_vite@2.4.4:
3435 | resolution: {integrity: sha512-snyTRXPo3I8vgi7E+O0QzADsFARpWx59Vb0n4PhI5ml4qUd3dcFnJTRvrstaMAl9H0j8OlcligsrHobsSD+1og==}
3436 | peerDependencies:
3437 | vite: ^2.0.0
3438 | vue: ^3.0.0
3439 | dependencies:
3440 | '@vue/compiler-sfc': 3.1.5
3441 | chalk: 4.1.1
3442 | debug: 4.3.2
3443 | deep-equal: 2.0.5
3444 | fast-glob: 3.2.7
3445 | json5: 2.2.0
3446 | vite: 2.4.4
3447 | yaml: 2.0.0-7
3448 | transitivePeerDependencies:
3449 | - supports-color
3450 | dev: true
3451 |
3452 | /vite-plugin-windicss/1.2.7_vite@2.4.4:
3453 | resolution: {integrity: sha512-JgIGsH5HPaz3ghDRhhLeF8VZQMUE+R0jD9u8sbne5KdBBa208r0IuTcx73V7CPcmsu7KABG6rfLgST9ffVoiDA==}
3454 | peerDependencies:
3455 | vite: ^2.0.1
3456 | dependencies:
3457 | '@windicss/plugin-utils': 1.2.7
3458 | chalk: 4.1.1
3459 | debug: 4.3.2
3460 | vite: 2.4.4
3461 | windicss: 3.1.6
3462 | transitivePeerDependencies:
3463 | - supports-color
3464 | dev: true
3465 |
3466 | /vite-ssr/0.12.0_f45c38ab9d74c0c9f98540462cb1bd4c:
3467 | resolution: {integrity: sha512-vmoyR9WR045BPJitXIU93GFT+NxfNDilf90nVeHq5NUnfbh10KgYZ4lZcwx1QcQ3gY5G6L4Da6zl3OccZqAfvg==}
3468 | hasBin: true
3469 | peerDependencies:
3470 | '@vueuse/head': ^0.5.0
3471 | react: ^16.8 || ^17
3472 | react-dom: ^16 || ^17
3473 | react-helmet-async: ^1.0.0
3474 | react-router-dom: ^5.0.0
3475 | vite: ^2.3.2
3476 | vue: ^3.0.0
3477 | vue-router: ^4.0.0
3478 | peerDependenciesMeta:
3479 | '@vueuse/head':
3480 | optional: true
3481 | react:
3482 | optional: true
3483 | react-dom:
3484 | optional: true
3485 | react-helmet-async:
3486 | optional: true
3487 | react-router-dom:
3488 | optional: true
3489 | vue:
3490 | optional: true
3491 | vue-router:
3492 | optional: true
3493 | dependencies:
3494 | '@rollup/plugin-replace': 3.0.0
3495 | '@vue/server-renderer': 3.1.1
3496 | connect: 3.7.0
3497 | node-fetch: 2.6.1
3498 | react: 17.0.2
3499 | react-dom: 17.0.2_react@17.0.2
3500 | react-helmet-async: 1.0.9_react-dom@17.0.2+react@17.0.2
3501 | react-router-dom: 5.2.0_react@17.0.2
3502 | react-ssr-prepass: 1.4.0_react@17.0.2
3503 | vite: 2.4.4
3504 | transitivePeerDependencies:
3505 | - rollup
3506 | dev: false
3507 |
3508 | /vite/2.4.4:
3509 | resolution: {integrity: sha512-m1wK6pFJKmaYA6AeZIUXyiAgUAAJzVXhIMYCdZUpCaFMGps0v0IlNJtbmPvkUhVEyautalajmnW5X6NboUPsnw==}
3510 | engines: {node: '>=12.0.0'}
3511 | hasBin: true
3512 | dependencies:
3513 | esbuild: 0.12.17
3514 | postcss: 8.3.6
3515 | resolve: 1.20.0
3516 | rollup: 2.51.1
3517 | optionalDependencies:
3518 | fsevents: 2.3.2
3519 | dev: true
3520 |
3521 | /void-elements/3.1.0:
3522 | resolution: {integrity: sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=}
3523 | engines: {node: '>=0.10.0'}
3524 | dev: false
3525 |
3526 | /w3c-hr-time/1.0.2:
3527 | resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==}
3528 | dependencies:
3529 | browser-process-hrtime: 1.0.0
3530 | dev: true
3531 |
3532 | /w3c-xmlserializer/2.0.0:
3533 | resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==}
3534 | engines: {node: '>=10'}
3535 | dependencies:
3536 | xml-name-validator: 3.0.0
3537 | dev: true
3538 |
3539 | /web-namespaces/1.1.4:
3540 | resolution: {integrity: sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==}
3541 | dev: true
3542 |
3543 | /webidl-conversions/5.0.0:
3544 | resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==}
3545 | engines: {node: '>=8'}
3546 | dev: true
3547 |
3548 | /webidl-conversions/6.1.0:
3549 | resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==}
3550 | engines: {node: '>=10.4'}
3551 | dev: true
3552 |
3553 | /whatwg-encoding/1.0.5:
3554 | resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==}
3555 | dependencies:
3556 | iconv-lite: 0.4.24
3557 | dev: true
3558 |
3559 | /whatwg-mimetype/2.3.0:
3560 | resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==}
3561 | dev: true
3562 |
3563 | /whatwg-url/8.7.0:
3564 | resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==}
3565 | engines: {node: '>=10'}
3566 | dependencies:
3567 | lodash: 4.17.21
3568 | tr46: 2.1.0
3569 | webidl-conversions: 6.1.0
3570 | dev: true
3571 |
3572 | /which-boxed-primitive/1.0.2:
3573 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
3574 | dependencies:
3575 | is-bigint: 1.0.2
3576 | is-boolean-object: 1.1.1
3577 | is-number-object: 1.0.5
3578 | is-string: 1.0.6
3579 | is-symbol: 1.0.4
3580 | dev: true
3581 |
3582 | /which-collection/1.0.1:
3583 | resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==}
3584 | dependencies:
3585 | is-map: 2.0.2
3586 | is-set: 2.0.2
3587 | is-weakmap: 2.0.1
3588 | is-weakset: 2.0.1
3589 | dev: true
3590 |
3591 | /which-typed-array/1.1.4:
3592 | resolution: {integrity: sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==}
3593 | engines: {node: '>= 0.4'}
3594 | dependencies:
3595 | available-typed-arrays: 1.0.4
3596 | call-bind: 1.0.2
3597 | es-abstract: 1.18.3
3598 | foreach: 2.0.5
3599 | function-bind: 1.1.1
3600 | has-symbols: 1.0.2
3601 | is-typed-array: 1.1.5
3602 | dev: true
3603 |
3604 | /which/2.0.2:
3605 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
3606 | engines: {node: '>= 8'}
3607 | hasBin: true
3608 | dependencies:
3609 | isexe: 2.0.0
3610 | dev: true
3611 |
3612 | /windicss/3.1.6:
3613 | resolution: {integrity: sha512-9/ShTPRs2pg/AJo4PtbgDv9p7BUgR52WqL7Gpr8VSO6LH8z4I/oKamUAlSXqyLsWD6yKS+xtxF3FRiHVJwYcuQ==}
3614 | engines: {node: '>= 12'}
3615 | hasBin: true
3616 | dev: true
3617 |
3618 | /word-wrap/1.2.3:
3619 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
3620 | engines: {node: '>=0.10.0'}
3621 | dev: true
3622 |
3623 | /wrappy/1.0.2:
3624 | resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=}
3625 | dev: true
3626 |
3627 | /ws/7.5.3:
3628 | resolution: {integrity: sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==}
3629 | engines: {node: '>=8.3.0'}
3630 | peerDependencies:
3631 | bufferutil: ^4.0.1
3632 | utf-8-validate: ^5.0.2
3633 | peerDependenciesMeta:
3634 | bufferutil:
3635 | optional: true
3636 | utf-8-validate:
3637 | optional: true
3638 | dev: true
3639 |
3640 | /xml-name-validator/3.0.0:
3641 | resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==}
3642 | dev: true
3643 |
3644 | /xmlchars/2.2.0:
3645 | resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
3646 | dev: true
3647 |
3648 | /xtend/4.0.2:
3649 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
3650 | engines: {node: '>=0.4'}
3651 | dev: true
3652 |
3653 | /yallist/3.1.1:
3654 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
3655 | dev: true
3656 |
3657 | /yallist/4.0.0:
3658 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
3659 | dev: true
3660 |
3661 | /yaml/2.0.0-7:
3662 | resolution: {integrity: sha512-RbI2Tm3hl9AoHY4wWyWvGvJfFIbHOzuzaxum6ez1A0vve+uXgNor03Wys4t+2sgjJSVSe+B2xerd1/dnvqHlOA==}
3663 | engines: {node: '>= 12'}
3664 | dev: true
3665 |
3666 | /zwitch/1.0.5:
3667 | resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==}
3668 | dev: true
3669 |
--------------------------------------------------------------------------------
/public/favicon.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/public/pwa-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/frandiox/reactesse-ssr-template/9cddd98fb3fcb2450e27b230e5a12f86a8a35726/public/pwa-192x192.png
--------------------------------------------------------------------------------
/public/pwa-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/frandiox/reactesse-ssr-template/9cddd98fb3fcb2450e27b230e5a12f86a8a35726/public/pwa-512x512.png
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Allow: /
3 |
--------------------------------------------------------------------------------
/public/safari-pinned-tab.svg:
--------------------------------------------------------------------------------
1 |
2 |
4 |
42 |
--------------------------------------------------------------------------------
/scripts/move-dist.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -euo pipefail
3 |
4 | cp -r dist/client serverless/public
5 | mkdir serverless/api/renderer
6 | mv serverless/public/ssr-manifest.json serverless/api/renderer/
7 | cp dist/server/main.js serverless/api/renderer/
8 |
--------------------------------------------------------------------------------
/serverless/.gitignore:
--------------------------------------------------------------------------------
1 | .vercel
2 |
3 | public/**
4 | api/renderer/**
5 |
--------------------------------------------------------------------------------
/serverless/api/get-page-props.js:
--------------------------------------------------------------------------------
1 | export default (req, res) => {
2 | const url = new URL('http://e.g' + req.url)
3 | console.log('-- getPageProps', url.searchParams.toString())
4 |
5 | const routeName = url.searchParams.get('name') || ''
6 |
7 | res.setHeader(
8 | 'Cache-Control',
9 | 'max-age=0, s-maxage=86400, stale-while-revalidate'
10 | )
11 |
12 | res.end(
13 | JSON.stringify({
14 | server: true,
15 | message: `This is page "${routeName.toUpperCase()}"`,
16 | })
17 | )
18 | }
19 |
--------------------------------------------------------------------------------
/serverless/api/index.js:
--------------------------------------------------------------------------------
1 | const path = require('path')
2 |
3 | const manifest = require(path.join(__dirname, 'renderer', 'ssr-manifest.json'))
4 | const render = require(path.join(__dirname, 'renderer', 'main.js')).default
5 |
6 | // Polyfill
7 | globalThis.fetch = require('node-fetch')
8 |
9 | module.exports = async (req, res) => {
10 | try {
11 | const protocol =
12 | req.protocol || (req.headers.referer || '').split(':')[0] || 'http'
13 | const host = process.env.VERCEL_URL
14 | const url = protocol + '://' + host + req.url
15 |
16 | const { html } = await render(url, { manifest, preload: true })
17 |
18 | res.statusCode = 200
19 | res.setHeader('Content-Type', 'text/html')
20 | res.setHeader(
21 | 'Cache-Control',
22 | 'max-age=0, s-maxage=86400, stale-while-revalidate'
23 | )
24 | res.end(html)
25 | } catch (error) {
26 | console.error(error.stack)
27 | res.statusCode = 500
28 | res.end(error.stack)
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/serverless/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "requires": true,
3 | "lockfileVersion": 1,
4 | "dependencies": {
5 | "@babel/runtime": {
6 | "version": "7.14.8",
7 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.8.tgz",
8 | "integrity": "sha512-twj3L8Og5SaCRCErB4x4ajbvBIVV77CGeFglHpeg5WC5FF8TZzBWXtTJ4MqaD9QszLYTtr+IsaAL2rEUevb+eg==",
9 | "requires": {
10 | "regenerator-runtime": "^0.13.4"
11 | }
12 | },
13 | "@mdx-js/react": {
14 | "version": "1.6.22",
15 | "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz",
16 | "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg=="
17 | },
18 | "@react-icons/all-files": {
19 | "version": "4.1.0",
20 | "resolved": "https://registry.npmjs.org/@react-icons/all-files/-/all-files-4.1.0.tgz",
21 | "integrity": "sha512-hxBI2UOuVaI3O/BhQfhtb4kcGn9ft12RWAFVMUeNjqqhLsHvFtzIkFaptBJpFDANTKoDfdVoHTKZDlwKCACbMQ=="
22 | },
23 | "history": {
24 | "version": "4.10.1",
25 | "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz",
26 | "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==",
27 | "requires": {
28 | "@babel/runtime": "^7.1.2",
29 | "loose-envify": "^1.2.0",
30 | "resolve-pathname": "^3.0.0",
31 | "tiny-invariant": "^1.0.2",
32 | "tiny-warning": "^1.0.0",
33 | "value-equal": "^1.0.1"
34 | }
35 | },
36 | "hoist-non-react-statics": {
37 | "version": "3.3.2",
38 | "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
39 | "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
40 | "requires": {
41 | "react-is": "^16.7.0"
42 | }
43 | },
44 | "html-parse-stringify": {
45 | "version": "3.0.1",
46 | "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz",
47 | "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==",
48 | "requires": {
49 | "void-elements": "3.1.0"
50 | }
51 | },
52 | "i18next": {
53 | "version": "20.3.5",
54 | "resolved": "https://registry.npmjs.org/i18next/-/i18next-20.3.5.tgz",
55 | "integrity": "sha512-//MGeU6n4TencJmCgG+TCrpdgAD/NDEU/KfKQekYbJX6QV7sD/NjWQdVdBi+bkT0snegnSoB7QhjSeatrk3a0w==",
56 | "requires": {
57 | "@babel/runtime": "^7.12.0"
58 | }
59 | },
60 | "invariant": {
61 | "version": "2.2.4",
62 | "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
63 | "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
64 | "requires": {
65 | "loose-envify": "^1.0.0"
66 | }
67 | },
68 | "isarray": {
69 | "version": "0.0.1",
70 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
71 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
72 | },
73 | "js-tokens": {
74 | "version": "4.0.0",
75 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
76 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
77 | },
78 | "loose-envify": {
79 | "version": "1.4.0",
80 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
81 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
82 | "requires": {
83 | "js-tokens": "^3.0.0 || ^4.0.0"
84 | }
85 | },
86 | "mini-create-react-context": {
87 | "version": "0.4.1",
88 | "resolved": "https://registry.npmjs.org/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz",
89 | "integrity": "sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ==",
90 | "requires": {
91 | "@babel/runtime": "^7.12.1",
92 | "tiny-warning": "^1.0.3"
93 | }
94 | },
95 | "node-fetch": {
96 | "version": "2.6.1",
97 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
98 | "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
99 | },
100 | "object-assign": {
101 | "version": "4.1.1",
102 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
103 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
104 | },
105 | "path-to-regexp": {
106 | "version": "1.8.0",
107 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
108 | "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
109 | "requires": {
110 | "isarray": "0.0.1"
111 | }
112 | },
113 | "prop-types": {
114 | "version": "15.7.2",
115 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
116 | "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
117 | "requires": {
118 | "loose-envify": "^1.4.0",
119 | "object-assign": "^4.1.1",
120 | "react-is": "^16.8.1"
121 | }
122 | },
123 | "react": {
124 | "version": "17.0.2",
125 | "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
126 | "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
127 | "requires": {
128 | "loose-envify": "^1.1.0",
129 | "object-assign": "^4.1.1"
130 | }
131 | },
132 | "react-dom": {
133 | "version": "17.0.2",
134 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
135 | "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==",
136 | "requires": {
137 | "loose-envify": "^1.1.0",
138 | "object-assign": "^4.1.1",
139 | "scheduler": "^0.20.2"
140 | }
141 | },
142 | "react-fast-compare": {
143 | "version": "3.2.0",
144 | "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz",
145 | "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA=="
146 | },
147 | "react-helmet-async": {
148 | "version": "1.0.9",
149 | "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.0.9.tgz",
150 | "integrity": "sha512-N+iUlo9WR3/u9qGMmP4jiYfaD6pe9IvDTapZLFJz2D3xlTlCM1Bzy4Ab3g72Nbajo/0ZyW+W9hdz8Hbe4l97pQ==",
151 | "requires": {
152 | "@babel/runtime": "^7.12.5",
153 | "invariant": "^2.2.4",
154 | "prop-types": "^15.7.2",
155 | "react-fast-compare": "^3.2.0",
156 | "shallowequal": "^1.1.0"
157 | }
158 | },
159 | "react-i18next": {
160 | "version": "11.11.4",
161 | "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-11.11.4.tgz",
162 | "integrity": "sha512-ayWFlu8Sc7GAxW1PzMaPtzq+yiozWMxs0P1WeITNVzXAVRhC0Httkzw/IiODBta6seJRBCLrtUeFUSXhAIxlRg==",
163 | "requires": {
164 | "@babel/runtime": "^7.14.5",
165 | "html-parse-stringify": "^3.0.1"
166 | }
167 | },
168 | "react-is": {
169 | "version": "16.13.1",
170 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
171 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
172 | },
173 | "react-router": {
174 | "version": "5.2.0",
175 | "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.0.tgz",
176 | "integrity": "sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw==",
177 | "requires": {
178 | "@babel/runtime": "^7.1.2",
179 | "history": "^4.9.0",
180 | "hoist-non-react-statics": "^3.1.0",
181 | "loose-envify": "^1.3.1",
182 | "mini-create-react-context": "^0.4.0",
183 | "path-to-regexp": "^1.7.0",
184 | "prop-types": "^15.6.2",
185 | "react-is": "^16.6.0",
186 | "tiny-invariant": "^1.0.2",
187 | "tiny-warning": "^1.0.0"
188 | }
189 | },
190 | "react-router-config": {
191 | "version": "5.1.1",
192 | "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz",
193 | "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==",
194 | "requires": {
195 | "@babel/runtime": "^7.1.2"
196 | }
197 | },
198 | "react-router-dom": {
199 | "version": "5.2.0",
200 | "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz",
201 | "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==",
202 | "requires": {
203 | "@babel/runtime": "^7.1.2",
204 | "history": "^4.9.0",
205 | "loose-envify": "^1.3.1",
206 | "prop-types": "^15.6.2",
207 | "react-router": "5.2.0",
208 | "tiny-invariant": "^1.0.2",
209 | "tiny-warning": "^1.0.0"
210 | }
211 | },
212 | "regenerator-runtime": {
213 | "version": "0.13.9",
214 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
215 | "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
216 | },
217 | "resolve-pathname": {
218 | "version": "3.0.0",
219 | "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz",
220 | "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng=="
221 | },
222 | "scheduler": {
223 | "version": "0.20.2",
224 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
225 | "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==",
226 | "requires": {
227 | "loose-envify": "^1.1.0",
228 | "object-assign": "^4.1.1"
229 | }
230 | },
231 | "shallowequal": {
232 | "version": "1.1.0",
233 | "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
234 | "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="
235 | },
236 | "tiny-invariant": {
237 | "version": "1.1.0",
238 | "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.1.0.tgz",
239 | "integrity": "sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw=="
240 | },
241 | "tiny-warning": {
242 | "version": "1.0.3",
243 | "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
244 | "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
245 | },
246 | "value-equal": {
247 | "version": "1.0.1",
248 | "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz",
249 | "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw=="
250 | },
251 | "void-elements": {
252 | "version": "3.1.0",
253 | "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz",
254 | "integrity": "sha1-YU9/v42AHwu18GYfWy9XhXUOTwk="
255 | }
256 | }
257 | }
258 |
--------------------------------------------------------------------------------
/serverless/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "dependencies": {
4 | "@mdx-js/react": "^1.6.22",
5 | "@react-icons/all-files": "^4.1.0",
6 | "i18next": "^20.3.5",
7 | "node-fetch": "*",
8 | "react": "^17.0.2",
9 | "react-dom": "^17.0.2",
10 | "react-helmet-async": "^1.0.9",
11 | "react-i18next": "^11.11.4",
12 | "react-router-config": "^5.1.1",
13 | "react-router-dom": "^5.2.0"
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/serverless/vercel.json:
--------------------------------------------------------------------------------
1 | {
2 | "public": true,
3 | "functions": {
4 | "api/index.js": {
5 | "includeFiles": "renderer/**"
6 | }
7 | },
8 | "rewrites": [
9 | {
10 | "source": "/(.*)",
11 | "destination": "/api/index.js"
12 | }
13 | ]
14 | }
--------------------------------------------------------------------------------
/src/App.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import { Helmet } from 'react-helmet-async'
3 | import Footer from './components/Footer'
4 | import { renderRoutes } from 'react-router-config'
5 | import { Context } from 'vite-ssr/react'
6 |
7 | export default function App({ router }: Context) {
8 | const title = 'Reactesse SSR'
9 | const description = 'Opinionated SSR Vite Starter Template for React'
10 |
11 | return (
12 |
13 |
14 | {title}
15 |
16 |
17 |
18 |
22 |
23 |
24 |
25 | {renderRoutes(router.routes)}
26 |
27 |
28 |
29 |
30 | )
31 | }
32 |
--------------------------------------------------------------------------------
/src/api.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import { useContext } from 'vite-ssr/react'
3 |
4 | function getPageProps({ baseUrl, name, path }: any = {}) {
5 | // Get our page props from our custom API:
6 | return fetch(
7 | `${baseUrl}/api/get-page-props?path=${encodeURIComponent(
8 | path
9 | )}&name=${name}&client=${typeof window !== 'undefined'}`,
10 | {
11 | method: 'GET',
12 | headers: {
13 | 'Content-Type': 'application/json',
14 | },
15 | }
16 | ).then((res) => res.json())
17 | }
18 |
19 | export function PropsProvider({ to: route, children: Page }: any) {
20 | const { url, isClient } = useContext()
21 | const baseUrl = isClient ? '' : url.origin
22 |
23 | if (!route.meta.state) {
24 | const promise = getPageProps({ baseUrl, ...route }).then((state) => {
25 | // This will be merged in `initialState` automatically
26 | route.meta.state = state
27 | })
28 |
29 | // Will be suspended until resolved
30 | throw promise
31 | }
32 |
33 | return
34 | }
35 |
--------------------------------------------------------------------------------
/src/components/Footer.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import { Link, useLocation } from 'react-router-dom'
3 | import { FaCampground } from '@react-icons/all-files/fa/FaCampground'
4 | import { FiStar } from '@react-icons/all-files/fi/FiStar'
5 | import { FiMoon } from '@react-icons/all-files/fi/FiMoon'
6 | import { FiSun } from '@react-icons/all-files/fi/FiSun'
7 | import { IoLanguage } from '@react-icons/all-files/io5/IoLanguage'
8 | import { AiOutlineFileText } from '@react-icons/all-files/ai/AiOutlineFileText'
9 | import { AiFillGithub } from '@react-icons/all-files/ai/AiFillGithub'
10 | import { useDarkTheme } from '~/utils/dark-theme'
11 | import { DEFAULT_LOCALE, SUPPORTED_LOCALES as locales } from '~/i18n'
12 | import { useTranslation } from 'react-i18next'
13 |
14 | export default function Footer() {
15 | const [isDark, toggleDark] = useDarkTheme()
16 |
17 | const { t, i18n } = useTranslation()
18 | const route = useLocation()
19 |
20 | const toggleLocales = () => {
21 | const nextLocale =
22 | locales[(locales.indexOf(i18n.language) + 1) % locales.length]
23 | const base = nextLocale === DEFAULT_LOCALE ? '' : `/${nextLocale}`
24 | window.location.pathname = base + route.pathname
25 | }
26 |
27 | return (
28 |
72 | )
73 | }
74 |
--------------------------------------------------------------------------------
/src/i18n/index.ts:
--------------------------------------------------------------------------------
1 | import { DEFAULT_LOCALE, SUPPORTED_LOCALES } from './locales'
2 | import i18n from 'i18next'
3 | import { initReactI18next } from 'react-i18next'
4 |
5 | export {
6 | DEFAULT_LOCALE,
7 | SUPPORTED_LOCALES,
8 | SUPPORTED_LANGUAGES,
9 | extractLocaleFromPath,
10 | } from './locales'
11 |
12 | // This is a dynamic import so not all languages are bundled in frontend.
13 | // For YAML format, install `@rollup/plugin-yaml`.
14 | const messageImports = import.meta.glob('./translations/*.json')
15 |
16 | function importLocale(locale: string) {
17 | const [, importLocale] =
18 | Object.entries(messageImports).find(([key]) =>
19 | key.includes(`/${locale}.`)
20 | ) || []
21 |
22 | return importLocale && importLocale()
23 | }
24 |
25 | export async function loadAsyncLanguage(i18n: any, locale = DEFAULT_LOCALE) {
26 | try {
27 | const result = await importLocale(locale)
28 | if (result) {
29 | i18n.addResourceBundle(locale, 'translation', result.default || result)
30 | i18n.changeLanguage(locale)
31 | }
32 | } catch (error) {
33 | console.error(error)
34 | }
35 | }
36 |
37 | export async function installI18n(locale = '') {
38 | locale = SUPPORTED_LOCALES.includes(locale) ? locale : DEFAULT_LOCALE
39 | const messages = await importLocale(locale)
40 |
41 | i18n
42 | .use(initReactI18next) // passes i18n down to react-i18next
43 | .init({
44 | // debug: true,
45 | resources: {
46 | // @ts-ignore
47 | [locale]: { translation: messages.default || messages },
48 | },
49 | lng: locale,
50 | fallbackLng: DEFAULT_LOCALE,
51 | interpolation: {
52 | escapeValue: false, // react already safes from xss
53 | },
54 | })
55 | }
56 |
57 | export default i18n
58 |
--------------------------------------------------------------------------------
/src/i18n/locales.ts:
--------------------------------------------------------------------------------
1 | export const SUPPORTED_LANGUAGES = [
2 | {
3 | locale: 'en',
4 | name: 'English',
5 | default: true,
6 | },
7 | {
8 | locale: 'es',
9 | name: 'Spanish',
10 | },
11 | {
12 | locale: 'fr',
13 | name: 'French',
14 | },
15 | {
16 | locale: 'it',
17 | name: 'Italian',
18 | },
19 | {
20 | locale: 'ja',
21 | name: 'Japanese',
22 | },
23 | {
24 | locale: 'ko',
25 | name: 'Korean',
26 | },
27 | {
28 | locale: 'tr',
29 | name: 'Turkish',
30 | },
31 | {
32 | locale: 'vi',
33 | name: 'Vietnamese',
34 | },
35 | {
36 | locale: 'zh-CN',
37 | name: 'Chinese',
38 | },
39 | ]
40 |
41 | export const SUPPORTED_LOCALES = SUPPORTED_LANGUAGES.map((l) => l.locale)
42 |
43 | export const DEFAULT_LANGUAGE = SUPPORTED_LANGUAGES.find((l) => l.default)
44 |
45 | export const DEFAULT_LOCALE = DEFAULT_LANGUAGE?.locale as string
46 |
47 | export function extractLocaleFromPath(path = '') {
48 | const [_, maybeLocale] = path.split('/')
49 | return SUPPORTED_LOCALES.includes(maybeLocale) ? maybeLocale : DEFAULT_LOCALE
50 | }
51 |
--------------------------------------------------------------------------------
/src/i18n/translations/README.md:
--------------------------------------------------------------------------------
1 | ## i18n
2 |
3 | This directory is to serve your locale translation files. JSON under this folder would be loaded automatically and register with their filenames as locale code. If you prefer YAML format, install `@rollup/plugin-yaml` and add it to `vite.config.ts`.
4 |
5 | Check out [`vue-i18n`](https://github.com/intlify/vue-i18n-next) for more details.
6 |
7 | If you are using VS Code, [`i18n Ally`](https://github.com/lokalise/i18n-ally) is recommended to make the i18n experience better.
8 |
--------------------------------------------------------------------------------
/src/i18n/translations/en.json:
--------------------------------------------------------------------------------
1 | {
2 | "button": {
3 | "about": "About",
4 | "back": "Back",
5 | "go": "GO",
6 | "home": "Home",
7 | "toggle_dark": "Toggle dark mode",
8 | "toggle_langs": "Change languages"
9 | },
10 | "intro": {
11 | "desc": "Opinionated Vite Starter Template",
12 | "dynamic-route": "Demo of dynamic route",
13 | "hi": "Hi, {{name}}!",
14 | "whats-your-name": "What's your name?"
15 | },
16 | "not-found": "Not found"
17 | }
--------------------------------------------------------------------------------
/src/i18n/translations/es.json:
--------------------------------------------------------------------------------
1 | {
2 | "button": {
3 | "about": "Acerca de",
4 | "back": "Atrás",
5 | "go": "Ir",
6 | "home": "Inicio",
7 | "toggle_dark": "Alternar modo oscuro",
8 | "toggle_langs": "Cambiar idiomas"
9 | },
10 | "intro": {
11 | "desc": "Plantilla de Inicio de Vite Dogmática",
12 | "dynamic-route": "Demo de ruta dinámica",
13 | "hi": "¡Hola, {{name}}!",
14 | "whats-your-name": "¿Cómo te llamas?"
15 | },
16 | "not-found": "No se ha encontrado"
17 | }
--------------------------------------------------------------------------------
/src/i18n/translations/fr.json:
--------------------------------------------------------------------------------
1 | {
2 | "button": {
3 | "about": "À propos de",
4 | "back": "Retour",
5 | "go": "Essayer",
6 | "home": "Maison",
7 | "toggle_dark": "Basculer en mode sombre",
8 | "toggle_langs": "Changer de langue"
9 | },
10 | "intro": {
11 | "desc": "Example d'application Vite",
12 | "dynamic-route": "Démo de route dynamique",
13 | "hi": "Salut, {{name}} !",
14 | "whats-your-name": "Comment t'appelles-tu ?"
15 | },
16 | "not-found": "Page non trouvée"
17 | }
--------------------------------------------------------------------------------
/src/i18n/translations/it.json:
--------------------------------------------------------------------------------
1 | {
2 | "button": {
3 | "about": "Su di me",
4 | "back": "Indietro",
5 | "go": "Vai",
6 | "home": "Home",
7 | "toggle_dark": "Attiva/disattiva modalità scura",
8 | "toggle_langs": "Cambia lingua"
9 | },
10 | "intro": {
11 | "desc": "Modello per una Applicazione Vite",
12 | "dynamic-route": "Demo di rotta dinamica",
13 | "hi": "Ciao, {{name}}!",
14 | "whats-your-name": "Come ti chiami?"
15 | },
16 | "not-found": "Non trovato"
17 | }
--------------------------------------------------------------------------------
/src/i18n/translations/ja.json:
--------------------------------------------------------------------------------
1 | {
2 | "button": {
3 | "about": "これは?",
4 | "back": "戻る",
5 | "go": "進む",
6 | "home": "ホーム",
7 | "toggle_dark": "ダークモード切り替え",
8 | "toggle_langs": "言語切り替え"
9 | },
10 | "intro": {
11 | "desc": "固執された Vite スターターテンプレート",
12 | "dynamic-route": "動的ルートのデモ",
13 | "hi": "こんにちは、{{name}}!",
14 | "whats-your-name": "あなたの名前は?"
15 | },
16 | "not-found": "見つかりませんでした"
17 | }
--------------------------------------------------------------------------------
/src/i18n/translations/ko.json:
--------------------------------------------------------------------------------
1 | {
2 | "button": {
3 | "about": "소개",
4 | "back": "뒤로가기",
5 | "go": "이동",
6 | "home": "홈",
7 | "toggle_dark": "다크모드 토글",
8 | "toggle_langs": "언어 변경"
9 | },
10 | "intro": {
11 | "desc": "Vite 애플리케이션 템플릿",
12 | "dynamic-route": "다이나믹 라우트 데모",
13 | "hi": "안녕, {{name}}!",
14 | "whats-your-name": "이름이 뭐예요?"
15 | },
16 | "not-found": "찾을 수 없습니다"
17 | }
--------------------------------------------------------------------------------
/src/i18n/translations/tr.json:
--------------------------------------------------------------------------------
1 | {
2 | "button": {
3 | "about": "Hakkımda",
4 | "back": "Geri",
5 | "go": "İLERİ",
6 | "home": "Anasayfa",
7 | "toggle_dark": "Karanlık modu değiştir",
8 | "toggle_langs": "Dilleri değiştir"
9 | },
10 | "intro": {
11 | "desc": "Görüşlü Vite Başlangıç Şablonu",
12 | "dynamic-route": "Dinamik rota demosu",
13 | "hi": "Merhaba, {{name}}!",
14 | "whats-your-name": "Adınız nedir ?"
15 | },
16 | "not-found": "Bulunamadı"
17 | }
--------------------------------------------------------------------------------
/src/i18n/translations/vi.json:
--------------------------------------------------------------------------------
1 | {
2 | "button": {
3 | "back": "Quay lại",
4 | "go": "Đi"
5 | },
6 | "intro": {
7 | "desc": "Ý kiến cá nhân Vite Template để bắt đầu",
8 | "dynamic-route": "Bản giới thiệu về dynamic route",
9 | "hi": "Hi, {{name}}!",
10 | "whats-your-name": "Tên bạn là gì?"
11 | },
12 | "not-found": "Không tìm thấy"
13 | }
--------------------------------------------------------------------------------
/src/i18n/translations/zh-CN.json:
--------------------------------------------------------------------------------
1 | {
2 | "button": {
3 | "about": "关于",
4 | "back": "返回",
5 | "go": "确定",
6 | "home": "首页",
7 | "toggle_dark": "切换深色模式",
8 | "toggle_langs": "切换语言"
9 | },
10 | "intro": {
11 | "desc": "固执己见的 Vite 项目模板",
12 | "dynamic-route": "动态路由演示",
13 | "hi": "你好,{{name}}!",
14 | "whats-your-name": "输入你的名字"
15 | },
16 | "not-found": "未找到页面"
17 | }
--------------------------------------------------------------------------------
/src/main.ts:
--------------------------------------------------------------------------------
1 | import 'windi.css'
2 | import './styles/main.css'
3 | import viteSSR from 'vite-ssr/react'
4 | import routes from 'virtual:generated-pages'
5 | import App from './App'
6 | import { PropsProvider } from './api'
7 |
8 | import { installI18n, extractLocaleFromPath, DEFAULT_LOCALE } from './i18n'
9 |
10 | routes.forEach((route) => {
11 | const { path } = route
12 | route.name =
13 | path
14 | .replace(/^\//, '')
15 | .replace(/:/, '')
16 | .replace(/\//, '-')
17 | .replace('all(.*)', 'not-found') || 'home'
18 |
19 | route.path = route.path.includes('*') ? '*' : route.path
20 | })
21 |
22 | // https://github.com/frandiox/vite-ssr
23 | export default viteSSR(
24 | App,
25 | {
26 | routes,
27 | PropsProvider,
28 | // Use Router's base for i18n routes
29 | base: ({ url }) => {
30 | const locale = extractLocaleFromPath(url.pathname)
31 | return locale === DEFAULT_LOCALE ? '/' : `/${locale}/`
32 | },
33 | },
34 | async (ctx) => {
35 | const { url, initialState } = ctx
36 |
37 | // Load language asyncrhonously to avoid bundling all languages
38 | await installI18n(extractLocaleFromPath(url.pathname))
39 |
40 | // Freely modify initialState and it will be serialized later
41 | if (import.meta.env.SSR) {
42 | initialState.test = 'This should appear in page-view-source'
43 | // This object can be passed to a store
44 | } else {
45 | // In browser, initialState will be hydrated with data from SSR
46 | console.log('Initial state:', initialState)
47 | }
48 | }
49 | )
50 |
--------------------------------------------------------------------------------
/src/pages/README.md:
--------------------------------------------------------------------------------
1 | ## File-based Routing
2 |
3 | Routes will auto-generated for Vue files in this dir with the same file structure.
4 | Check out [`vite-plugin-pages`](https://github.com/hannoeru/vite-plugin-pages) for more details.
5 |
6 | ### Path Aliasing
7 |
8 | `~/` is aliased to `./src/` folder.
9 |
10 | For example, instead of having
11 |
12 | ```ts
13 | import utils from '../../../../utils'
14 | ```
15 |
16 | now you can use
17 |
18 | ```ts
19 | import utils from '~/utils'
20 | ```
21 |
--------------------------------------------------------------------------------
/src/pages/[...all].tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 |
3 | export default function NotFound() {
4 | return Not Found
5 | }
6 |
--------------------------------------------------------------------------------
/src/pages/about.mdx:
--------------------------------------------------------------------------------
1 |
2 |
3 | import { AiOutlineFileText } from '@react-icons/all-files/ai/AiOutlineFileText'
4 |
5 |
6 |
7 |
11 |
12 | [Reactesse SSR](https://github.com/frandiox/reactesse-ssr-template) is an opinionated [Vite](https://github.com/vitejs/vite) starter template made by [@frandiox](https://github.com/frandiox) (insriped by [@antfu](https://github.com/antfu)'s Vitesse) for mocking apps swiftly. With **file-based routing**, **markdown support**, I18n, PWA and uses **Tailwind** v2 for UI. The SSR capability is added via [Vite SSR](https://github.com/frandiox/vite-ssr).
13 |
14 | ```js
15 | // syntax highlighting example
16 | function reactesse() {
17 | const foo = 'bar'
18 | console.log(foo)
19 | }
20 | ```
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/pages/hi/[name].tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import { useHistory, useParams } from 'react-router-dom'
3 | import { FaRegHandSpock } from '@react-icons/all-files/fa/FaRegHandSpock'
4 | import { useTranslation } from 'react-i18next'
5 |
6 | export default function Hi({ message }: any) {
7 | const { name } = useParams() as any
8 |
9 | const history = useHistory()
10 |
11 | const { t } = useTranslation()
12 |
13 | return (
14 |
15 |
16 |
17 |
18 |
{t('intro.hi', { name })}
19 |
20 | {t('intro.dynamic-route')}
21 |
22 |
23 |
29 |
30 | Message from API: {message}
31 |
32 | )
33 | }
34 |
--------------------------------------------------------------------------------
/src/pages/index.tsx:
--------------------------------------------------------------------------------
1 | import React, { useState } from 'react'
2 | import { useHistory } from 'react-router-dom'
3 | import { FaCampground } from '@react-icons/all-files/fa/FaCampground'
4 | import { useTranslation } from 'react-i18next'
5 |
6 | export default function Home({ message }: any) {
7 | const [name = '', setName] = useState()
8 |
9 | const history = useHistory()
10 | const go = () => {
11 | history.push(`/hi/${encodeURIComponent(name)}`)
12 | }
13 |
14 | const { t } = useTranslation()
15 |
16 | return (
17 |
18 |
19 |
20 |
21 |
22 |
27 | Reactesse SSR
28 |
29 |
30 |
31 | {t('intro.desc')}
32 |
33 |
34 |
setName(e.target.value)}
38 | placeholder={t('intro.whats-your-name')}
39 | aria-label={t('intro.whats-your-name')}
40 | type="text"
41 | autoComplete="false"
42 | className="px-4 py-2 text-sm text-center bg-transparent border border-gray-200 rounded outline-none active:outline-none dark:border-gray-700"
43 | style={{ width: '250px' }}
44 | />
45 |
48 |
49 |
52 |
53 | Message from API: {message}
54 |
55 | )
56 | }
57 |
--------------------------------------------------------------------------------
/src/shims.d.ts:
--------------------------------------------------------------------------------
1 | /* eslint-disable import/no-duplicates */
2 |
3 | declare interface Window {
4 | // extend the window
5 | }
6 |
--------------------------------------------------------------------------------
/src/styles/main.css:
--------------------------------------------------------------------------------
1 | @import './markdown.css';
2 |
3 | html,
4 | body,
5 | #app {
6 | height: 100vh;
7 | margin: 0;
8 | padding: 0;
9 | }
10 |
11 | html.dark {
12 | background: #222;
13 | }
14 |
15 | .btn {
16 | @apply px-4 py-1 rounded inline-block
17 | bg-teal-600 text-white cursor-pointer
18 | hover:bg-teal-700
19 | disabled:cursor-default disabled:bg-gray-600 disabled:opacity-50;
20 | }
21 |
22 | .icon-btn {
23 | @apply inline-block cursor-pointer select-none
24 | opacity-75 transition duration-200 ease-in-out
25 | hover:opacity-100 hover:text-teal-600;
26 | font-size: 0.9em;
27 | }
28 |
--------------------------------------------------------------------------------
/src/styles/markdown.css:
--------------------------------------------------------------------------------
1 | /* https://github.com/antfu/prism-theme-vars */
2 | @import 'prism-theme-vars/base.css';
3 |
4 | :root {
5 | --prism-font-family: 'Input Mono', monospace;
6 | }
7 |
8 | html:not(.dark) {
9 | --prism-foreground: #393a34;
10 | --prism-background: #fbfbfb;
11 | --prism-comment: #8e8f8e;
12 | --prism-string: #a1644c;
13 | --prism-literal: #3a9c9b;
14 | --prism-keyword: #248358;
15 | --prism-function: #7e8a42;
16 | --prism-deleted: #a14f55;
17 | --prism-class: #2b91af;
18 | --prism-builtin: #a52727;
19 | --prism-property: #ad502b;
20 | --prism-namespace: #c96880;
21 | --prism-punctuation: #8e8f8b;
22 | --prism-decorator: #bd8f8f;
23 | --prism-json-property: #698c96;
24 | }
25 |
26 | html.dark {
27 | --prism-scheme: dark;
28 | --prism-foreground: #d4cfbf;
29 | --prism-background: #1e1e1e;
30 | --prism-comment: #758575;
31 | --prism-string: #ce9178;
32 | --prism-literal: #4fb09d;
33 | --prism-keyword: #4d9375;
34 | --prism-function: #c2c275;
35 | --prism-deleted: #a14f55;
36 | --prism-class: #5ebaa8;
37 | --prism-builtin: #cb7676;
38 | --prism-property: #dd8e6e;
39 | --prism-namespace: #c96880;
40 | --prism-punctuation: #d4d4d4;
41 | --prism-decorator: #bd8f8f;
42 | --prism-regex: #ab5e3f;
43 | --prism-json-property: #6b8b9e;
44 | --prism-line-number: #888888;
45 | --prism-line-number-gutter: #eeeeee;
46 | --prism-line-highlight-background: #444444;
47 | --prism-selection-background: #444444;
48 | }
49 |
--------------------------------------------------------------------------------
/src/utils/dark-theme.ts:
--------------------------------------------------------------------------------
1 | import { useEffect } from 'react'
2 | import { useStorage } from './local-storage'
3 |
4 | export function useDarkTheme() {
5 | const [colorSchema, setColorSchema] = useStorage('color-schema', 'auto')
6 | const isDark = colorSchema === 'dark'
7 | const toggleDark = () => setColorSchema(isDark ? 'light' : 'dark')
8 |
9 | if (typeof document !== 'undefined') {
10 | useEffect(() => {
11 | document.documentElement.classList.toggle('dark', isDark)
12 | })
13 | }
14 |
15 | return [isDark, toggleDark] as [boolean, () => void]
16 | }
17 |
--------------------------------------------------------------------------------
/src/utils/local-storage.ts:
--------------------------------------------------------------------------------
1 | import { useState } from 'react'
2 |
3 | export function useStorage(key: string, defaultValue?: any) {
4 | if (import.meta.env.SSR) {
5 | return [defaultValue]
6 | }
7 |
8 | const [value, setValue] = useState(
9 | window.localStorage.getItem(key) || defaultValue
10 | )
11 |
12 | return [
13 | value,
14 | (newValue: any) => {
15 | window.localStorage.setItem(key, newValue)
16 | return setValue(newValue)
17 | },
18 | ]
19 | }
20 |
--------------------------------------------------------------------------------
/tailwind.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite-plugin-windicss'
2 | import colors from 'windicss/colors'
3 | import typography from 'windicss/plugin/typography'
4 |
5 | export default defineConfig({
6 | darkMode: 'class',
7 | plugins: [
8 | typography(),
9 | ],
10 | theme: {
11 | extend: {
12 | typography: {
13 | DEFAULT: {
14 | css: {
15 | maxWidth: '65ch',
16 | color: 'inherit',
17 | a: {
18 | color: 'inherit',
19 | opacity: 0.75,
20 | fontWeight: '500',
21 | textDecoration: 'underline',
22 | '&:hover': {
23 | opacity: 1,
24 | color: colors.teal[600],
25 | },
26 | },
27 | b: { color: 'inherit' },
28 | strong: { color: 'inherit' },
29 | em: { color: 'inherit' },
30 | h1: { color: 'inherit' },
31 | h2: { color: 'inherit' },
32 | h3: { color: 'inherit' },
33 | h4: { color: 'inherit' },
34 | code: { color: 'inherit' },
35 | },
36 | },
37 | },
38 | },
39 | },
40 | })
41 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "module": "ESNext",
5 | "target": "es2016",
6 | "lib": ["DOM", "ESNext"],
7 | "strict": true,
8 | "jsx": "react",
9 | "esModuleInterop": true,
10 | "incremental": true,
11 | "skipLibCheck": true,
12 | "moduleResolution": "node",
13 | "resolveJsonModule": true,
14 | "noUnusedLocals": true,
15 | "strictNullChecks": true,
16 | "forceConsistentCasingInFileNames": true,
17 | "allowSyntheticDefaultImports": true,
18 | "types": [
19 | "vite/client",
20 | "vite-plugin-pages/client",
21 | ],
22 | "paths": {
23 | "~/*": ["src/*"]
24 | }
25 | },
26 | "exclude": ["dist", "node_modules"]
27 | }
28 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import path from 'path'
2 | import { defineConfig } from 'vite'
3 | import Pages from 'vite-plugin-pages'
4 | import WindiCSS from 'vite-plugin-windicss'
5 | import viteSSR from 'vite-ssr/plugin'
6 | import mdx from 'vite-plugin-mdx'
7 | // @ts-ignore
8 | import remarkPrism from 'remark-prism'
9 | import reactRefresh from '@vitejs/plugin-react-refresh'
10 | // @ts-ignore
11 | import getPageProps from './serverless/api/get-page-props'
12 |
13 | export default defineConfig({
14 | resolve: {
15 | alias: {
16 | '~/': `${path.resolve(__dirname, 'src')}/`,
17 | },
18 | },
19 | plugins: [
20 | reactRefresh(),
21 | viteSSR(),
22 | mdx({
23 | remarkPlugins: [remarkPrism],
24 | }),
25 | {
26 | name: 'API-mock',
27 | configureServer({ middlewares }) {
28 | middlewares.use('/api/get-page-props', getPageProps)
29 | },
30 | },
31 |
32 | // https://github.com/hannoeru/vite-plugin-pages
33 | Pages({
34 | react: true,
35 | extensions: ['jsx', 'tsx', 'mdx'],
36 | }),
37 |
38 | // https://github.com/antfu/vite-plugin-windicss
39 | WindiCSS({
40 | safelist: 'prose prose-sm m-auto',
41 | }),
42 | ],
43 |
44 | optimizeDeps: {
45 | include: ['@mdx-js/react'],
46 | exclude: [],
47 | },
48 | })
49 |
--------------------------------------------------------------------------------