├── .babelrc
├── .github
└── workflows
│ └── docs.yml
├── .gitignore
├── docs
├── getting-started.md
├── index.md
├── styles.css
└── the-code.md
├── license
├── package.json
├── readme.md
├── scripts
└── generate-docs.sh
├── src
├── client
│ └── index.mount.js
├── components
│ └── Counter.js
├── layouts
│ └── BaseLayout.js
├── lib
│ └── html.js
├── pages
│ └── HomePage.js
├── public
│ └── .include
└── server
│ └── app.js
├── webpack.config.client.js
├── webpack.config.server.js
└── yarn.lock
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | [
4 | "@babel/plugin-transform-react-jsx",
5 | { "runtime": "automatic", "importSource": "preact" }
6 | ]
7 | ]
8 | }
9 |
--------------------------------------------------------------------------------
/.github/workflows/docs.yml:
--------------------------------------------------------------------------------
1 | name: Docs
2 | on: [push]
3 | jobs:
4 | build-docs:
5 | concurrency: ci-${{ github.ref }}
6 | runs-on: ubuntu-latest
7 | steps:
8 | - name: Checkout 🛎️
9 | uses: actions/checkout@v3
10 |
11 | - name: Install and Build
12 | run: ./scripts/generate-docs.sh
13 |
14 | - name: Deploy 🚀
15 | uses: JamesIves/github-pages-deploy-action@v4.3.3
16 | with:
17 | token: ${{ secrets.GH_TOKEN }}
18 | branch: gh-pages
19 | folder: dist
20 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | node_modules
3 |
--------------------------------------------------------------------------------
/docs/getting-started.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | [Home](/)
4 |
5 | [Getting Started](/getting-started)
6 |
7 | [Code](/the-code)
8 |
9 | [Github](https://github.com/barelyhuman/preact-islands-diy)
10 |
11 |
12 |
13 | # Getting Started
14 |
15 | ## Basic Implementation
16 |
17 | The basic implementation can be generalized for most SSR + Client Hydration
18 | apps.
19 |
20 | Here's an overview
21 |
22 | 1. Intially render the view on the server as a static page.
23 | 2. Hydrate the app on client
24 |
25 | To go into the details of each.
26 |
27 | ### Initial Server Render
28 |
29 | In this step, you still build the component tree with whatever UI library you're
30 | using, Vue, React, Preact, Solid, etc. And then flatten the component tree to
31 | only have the static and immediately computable data. In this case, no
32 | sideeffects and state management based code is run.
33 |
34 | The output is a static html document that you can send to the client.
35 |
36 | Since this guide is tied to [preact](https://preactjs.com/), we're going to use
37 | a library from the preact team that helps us achieve this.
38 |
39 | Here's what a very rudimentary implementation of rendering a component on the
40 | server would look like.
41 |
42 | We're using `express.js` here as an example due to it being the first choice of
43 | most beginners, the process is mostly same for any other web server engine you
44 | pick up. Hapi, Koa, Fastify, etc.
45 |
46 | ```js
47 | // server.js
48 | import { h } from 'preact'
49 | import preactRenderToString from 'preact-render-to-string'
50 |
51 | // ...remainig express.js setup
52 |
53 | const HomePage = () => {
54 | return h('h1', {}, 'hello')
55 | }
56 |
57 | app.get('/', async (req, res) => {
58 | res.send(preactRenderToString(h(HomePage, {})))
59 | })
60 | ```
61 |
62 | Here most work is done by `preactRenderToString` , and all we are doing is
63 | writing components. With a little bit of bundling magic, we should be able to
64 | write in JSX to make it a little more friendly to work with.
65 |
66 | ### Hydrate
67 |
68 | Okay, so a term you'll see smart people use around a lot online.
69 |
70 | - Partial Hydration
71 | - Progressive Hydration
72 | - add more as they find more such ways etc
73 |
74 | To be put simply, it's to bind the interactivity to a DOM element with
75 | _existing_ state/effects/events
76 |
77 | This _existing_ state/effects/events might be sent from the server, but if
78 | working with a component that can handle it's own and the logic is well
79 | contained in it, you just mount the component on the DOM with the necessary
80 | bindings.
81 |
82 | As an example, this might looks a little something like this
83 |
84 | ```js
85 | // client.js
86 | import { hydrate } from 'preact'
87 | import Counter from './Counter'
88 |
89 | const main = () => {
90 | // assuming the server rendered the component with the following ID as well.
91 | const container = document.getElementById('counter')
92 | hydrate(h(Counter, {}), document.getElementById('counter'))
93 | }
94 |
95 | main()
96 | ```
97 |
98 | Similar to the server render phase, we use a helper from the preact to help
99 | hydrate a component. You could use `render` but then the actual element is
100 | already something that was rendered by the server, rendering it again would make
101 | no sense and so we just ask preact to try to add in the needed event and state
102 | data instead
103 |
104 | What I've explained above is called Partial Hydration, since you don't hydrate
105 | the entire app and just hydrate certain parts of it.
106 |
107 | ## Into the Deep
108 |
109 | There's nothing more, that you need to know to understand how to make an island
110 | arch based app but let's now get into implementing this.
111 |
112 | [The Code →](the-code)
113 |
--------------------------------------------------------------------------------
/docs/index.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | [Home](/)
4 |
5 | [Getting Started](/getting-started)
6 |
7 | [Code](/the-code)
8 |
9 | [Github](https://github.com/barelyhuman/preact-islands-diy)
10 |
11 |
12 |
13 | # Islands
14 |
15 | ## Intro
16 |
17 | This guide is a simple walkthrough to understand how island architechture works
18 | and being able to setup your own using tools you already have around you.
19 |
20 | First off, what are islands ? You can read about it from the person who actually
21 | named this arch that.
22 |
23 | [Islands Architecture - Jason Miller →](https://jasonformat.com/islands-architecture/)
24 |
25 | ## Why ?
26 |
27 | For a lot of devs who've worked with server rendering for a while, we kinda
28 | expected frontend tech to take a turn towards server rendering at some point in
29 | time since data fetching and processing is almost always faster on the server
30 | where you are closer to the data.
31 |
32 | Which is one of many reasons but then there's others that the entire web is
33 | debating over, so we'll leave it to the smart people.
34 |
35 | Let's move on to implementing the concept
36 |
37 | [Getting Started →](getting-started)
38 |
--------------------------------------------------------------------------------
/docs/styles.css:
--------------------------------------------------------------------------------
1 | @import url('https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/panda-syntax-dark.min.css');
2 |
3 | :root {
4 | --zinc-50: #fafafa;
5 | --zinc-100: #f4f4f5;
6 | --zinc-200: #e4e4e7;
7 | --zinc-300: #d4d4d8;
8 | --zinc-400: #a1a1aa;
9 | --zinc-500: #71717a;
10 | --zinc-600: #52525b;
11 | --zinc-700: #3f3f46;
12 | --zinc-800: #27272a;
13 | --zinc-900: #18181b;
14 |
15 | --gray-9: var(--zinc-50);
16 | --gray-8: var(--zinc-100);
17 | --gray-7: var(--zinc-200);
18 | --gray-6: var(--zinc-300);
19 | --gray-5: var(--zinc-400);
20 | --gray-4: var(--zinc-500);
21 | --gray-3: var(--zinc-600);
22 | --gray-2: var(--zinc-700);
23 | --gray-1: var(--zinc-800);
24 | --gray-0: var(--zinc-900);
25 | --font-mono: 'Hermit', 'Courier New', Courier, monospace;
26 | }
27 |
28 | @media (prefers-color-scheme: dark) {
29 | :root {
30 | --gray-0: var(--zinc-50);
31 | --gray-1: var(--zinc-100);
32 | --gray-2: var(--zinc-200);
33 | --gray-3: var(--zinc-300);
34 | --gray-4: var(--zinc-400);
35 | --gray-5: var(--zinc-500);
36 | --gray-6: var(--zinc-600);
37 | --gray-7: var(--zinc-700);
38 | --gray-8: var(--zinc-800);
39 | --gray-9: var(--zinc-900);
40 | }
41 | }
42 |
43 | /* typography */
44 | html {
45 | font-size: 87.5%;
46 | } /*14px*/
47 |
48 | body {
49 | font-family: 'Consolas', 'Monaco', 'Menlo', monospace;
50 | font-weight: 400;
51 | line-height: 1.75;
52 | max-width: 85ch;
53 | margin: 0 auto;
54 | padding: 16px;
55 | background: var(--gray-9);
56 | color: var(--gray-2);
57 | display: flex;
58 | flex-direction: column;
59 | min-height: 100vh;
60 | }
61 |
62 | p {
63 | margin-bottom: 1rem;
64 | }
65 |
66 | h1,
67 | h2,
68 | h3,
69 | h4,
70 | h5 {
71 | margin: 3rem 0 1.38rem;
72 | font-family: 'Hermit', 'Consolas', 'Monaco', 'Menlo', monospace;
73 | font-weight: 400;
74 | line-height: 1.3;
75 | }
76 |
77 | h1 {
78 | margin-top: 0;
79 | font-size: 3.052rem;
80 | }
81 |
82 | h2 {
83 | font-size: 2.441rem;
84 | }
85 |
86 | h3 {
87 | font-size: 1.953rem;
88 | }
89 |
90 | h4 {
91 | font-size: 1.563rem;
92 | }
93 |
94 | h5 {
95 | font-size: 1.25rem;
96 | }
97 |
98 | small,
99 | .text_small {
100 | font-size: 0.8rem;
101 | }
102 |
103 | /* custom styles */
104 | a {
105 | color: var(--gray-2);
106 | }
107 |
108 | nav {
109 | display: flex;
110 | flex-wrap: wrap;
111 | justify-content: space-between;
112 | align-items: center;
113 | max-width: 45ch;
114 | margin-bottom: 16px;
115 | height: 100px;
116 | }
117 |
118 | nav a {
119 | font-size: 14px;
120 | color: var(--gray-3);
121 | text-decoration: none;
122 | padding: 2px 8px;
123 | border-radius: 6px;
124 | }
125 |
126 | nav a:hover {
127 | color: var(--gray-0);
128 | background: var(--gray-8);
129 | }
130 |
131 | .flex-2 {
132 | flex: 2;
133 | }
134 |
135 | footer {
136 | color: var(--gray-3);
137 | }
138 |
139 | code,
140 | kbd {
141 | font-family: var(--font-mono);
142 | }
143 |
144 | code {
145 | background: var(--gray-8);
146 | padding: 2px 8px;
147 | border-radius: 6px;
148 | }
149 |
150 | pre {
151 | background: transparent !important;
152 | font-family: var(--font-mono);
153 | }
154 |
155 | pre > code {
156 | overflow-y: auto;
157 | line-height: 1.75;
158 | background: var(--gray-8);
159 | width: 100%;
160 | padding: 12px;
161 | font-size: 14px;
162 | display: block;
163 | white-space: pre-wrap;
164 | }
165 |
166 | #search-container {
167 | display: flex;
168 | justify-content: flex-end;
169 | align-items: flex-end;
170 | flex-direction: column;
171 | }
172 |
173 | #search-container input[type='text'] {
174 | max-width: 250px;
175 | border: 2px solid var(--gray-0);
176 | padding: 0.5rem;
177 | color: var(--gray-0);
178 | background: var(--gray-9);
179 | border-radius: 6px;
180 | outline: black;
181 | }
182 |
183 | .nav {
184 | display: flex;
185 | justify-content: space-around;
186 | margin-top: 2rem;
187 | margin-bottom: 2rem;
188 | }
189 |
190 | .nav-item a {
191 | color: var(--gray-4);
192 | text-decoration: none;
193 | }
194 |
195 | .nav-item a:hover {
196 | color: var(--gray-0);
197 | }
198 |
--------------------------------------------------------------------------------
/docs/the-code.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | [Home](/)
4 |
5 | [Getting Started](/getting-started)
6 |
7 | [Code](/the-code)
8 |
9 | [Github](https://github.com/barelyhuman/preact-islands-diy)
10 |
11 |
12 |
13 | # The Code
14 |
15 | The code level architecture for this is very similar to most SSR models and Vite
16 | has a good explanation for how to write your own ssr with vite
17 |
18 | [→ Vite Guides - Server-Side Rendering](https://vitejs.dev/guide/ssr.html)
19 |
20 | We used webpack instead to be able to make it a little more verbose so it's
21 | easier to explain what's going on.
22 |
23 | ## `server/app.js`
24 |
25 | Starting with `server/app.js` file. If you have the codebase open locally it
26 | would be helpful while reading this.
27 |
28 | The codesnippet only highlights the needed areas
29 |
30 | ```js
31 | import preactRenderToString from 'preact-render-to-string'
32 | import HomePage from '../pages/HomePage.js'
33 | import { h } from 'preact'
34 | import { withManifestBundles } from '../lib/html.js'
35 |
36 | const app = express()
37 |
38 | app.get('/', async (req, res) => {
39 | res.send(
40 | withManifestBundles({
41 | body: preactRenderToString(h(HomePage, {})),
42 | })
43 | )
44 | })
45 | ```
46 |
47 | Looking at the imports, we have the same imports as mentioned in the
48 | [Getting Started](/getting-started) section and not much has changed.
49 |
50 | The only addition here is the `withManifestBundles` helper which is what we'll
51 | talk about next.
52 |
53 | ## `lib/html.js`
54 |
55 | The HTML helper is different in different variants of the template but we'll be
56 | only going through `webpack` version which is on the `main` branch.
57 |
58 | The base usecase of the helper is to be able to go through a manifest json that
59 | lists what files are being bundled by webpack and their hashed paths when being
60 | used in production.
61 |
62 | This is required since we will not know the hash and we need a programmatic way
63 | to find it out.
64 |
65 | This manifest is generated by webpack's client configuration which we'll take a
66 | look at in a minute.
67 |
68 | ```js
69 | // fetch the manifest from the client output
70 | import manifest from '../../dist/js/manifest.json'
71 |
72 | export const withManifestBundles = ({ styles, body }) => {
73 | // go through each key in the manifest and construct
74 | // a script tag for each.
75 | const bundledScripts = Object.keys(manifest).map(key => {
76 | const scriptPath = `/public/js/${manifest[key]}`
77 | return ``
78 | })
79 |
80 | return `
81 |
82 |
83 |
84 |
87 |
88 |
89 |
90 | ${body}
91 |
92 | ${bundledScripts.join('')}
93 | `
94 | }
95 | ```
96 |
97 | As explained in the comments, we just grab all the files we need from the
98 | manifest and inject them as script tags into the final HTML that is sent from
99 | the server.
100 |
101 | Moving onto the configuration that makes it possible to build this.
102 |
103 | ## `webpack.config.*.js`
104 |
105 | I tried to keep the webpack configuration as minimal as possible to avoid
106 | scaring people away from the whole idea so let's go through the configuration.
107 |
108 | ```js
109 | // webpack.config.server.js
110 | const path = require('path')
111 | const nodeExternals = require('webpack-node-externals')
112 |
113 | module.exports = {
114 | mode: process.env.NODE_ENV != 'production' ? 'development' : 'production',
115 | target: 'node',
116 | entry: path.resolve(__dirname, './src/server/app.js'),
117 | output: {
118 | filename: 'server.js',
119 | path: path.resolve(__dirname, './dist'),
120 | },
121 | stats: 'errors-warnings',
122 | resolve: {
123 | extensions: ['.js', '.jsx'],
124 | },
125 | module: {
126 | rules: [{ test: /\.jsx?$/, loader: 'babel-loader' }],
127 | },
128 | externals: [nodeExternals()],
129 | }
130 | ```
131 |
132 | Most of them need no explanation, and the only loader we have in place is the
133 | `babel-loader` since we are using a CSS-IN-JS solution for styling.
134 |
135 | There's nothing magical going on here, we just give it the entry point of
136 | `server/app.js` and let it build itself to the same folder as the client's
137 | output.
138 |
139 | moving on to the client side config, which does add a few more things than
140 | simply providing an entry and getting an output.
141 |
142 | This is shortened out to explain the relavant bits
143 |
144 | ```js
145 | // webpack.config.client.js
146 |
147 | const entryPoints = glob
148 | .sync(path.resolve(__dirname, './src/client') + '/**/*.js', {
149 | absolute: true,
150 | })
151 | .reduce((acc, path) => {
152 | const entry = path.match(/[^\/]+\.jsx?$/gm)[0].replace(/.jsx?$/, '')
153 | acc[entry] = path
154 | return acc
155 | }, {})
156 | ```
157 |
158 | So the first section is basically finding all files in `src/client` and creating
159 | an object of entries for webpack.
160 |
161 | Example: if `src/client/app.client.js` is a file then the output of the above
162 | would be
163 |
164 | ```json
165 | {
166 | "app.client": "./src/client/app.client.js"
167 | }
168 | ```
169 |
170 | this is nothing special, it's just how webpack expects entries to be defined.
171 |
172 | Everything else is generic configuration that's also present on the server side
173 |
174 | ```js
175 | {
176 | plugins: [
177 | new WebpackManifestPlugin({
178 | publicPath: '',
179 | basePath: '',
180 | filter: file => {
181 | return /\.mount\.js$/.test(file.name)
182 | },
183 | }),
184 | ]
185 | }
186 | ```
187 |
188 | Then we have the manifest plugin, which checks for files that have the string
189 | `mount` in their name, this is done to make sure that only the entry files are
190 | loaded and not random files and we do this by specifying a specific extension
191 | type for the file.
192 |
193 | Some frameworks use a `islands` folder to separate islands from entry files. We
194 | instead separate the entry files from islands and have the user decide what
195 | mounts as an island and what doesn't.
196 |
197 | The above `WebpackManifestPlugin` generates a `manifest.json` file in
198 | `dist/public/js` which has the bundled file names which we were using in the
199 | `lib/html.js` file.
200 |
201 | ## `.babelrc`
202 |
203 | This is the last part of the configuration, where you ask babel to make sure
204 | that the JSX runtime it uses is from preact and not react.
205 |
206 | Pretty self explanatory, but if you need details about the option, please go
207 | through the docs of [babel](https://babeljs.io/) and
208 | [@babel/plugin-transform-react-jsx](https://babeljs.io/docs/en/babel-plugin-transform-react-jsx)
209 |
210 | ```json
211 | {
212 | "plugins": [
213 | [
214 | "@babel/plugin-transform-react-jsx",
215 | { "runtime": "automatic", "importSource": "preact" }
216 | ]
217 | ]
218 | }
219 | ```
220 |
221 | ## Folders
222 |
223 | We can now move on to each folders' significance here.
224 |
225 | > **Note**: Please know that you can mix and match the folders if needed, just
226 | > make sure the configurations are edited to handle the changes you do. If not,
227 | > the current structure is good enough for most applications
228 |
229 | ## `client`
230 |
231 | The `src/client` in this `main` branch is used to write the `mount` point code
232 | that get's sent with the rendered html.
233 |
234 | You add selective mounting based on pages and selectors that you wish to use,
235 | even though it would fetch multiple JS files, these files are never to have
236 | anything more than the mounting code , your islands should be self serving and
237 | self reliant. You can however send an initial dataset from the server as a
238 | `data-*` attribute but this has to be serializable data or will be lost.
239 |
240 | You can also add a wrapper around to create a island manually, but
241 | web-components are not widely supported so if using for a legacy level support
242 | system, you are better off manually mounting like mentioned above.
243 |
244 | example:
245 |
246 | ```js
247 | // src/client/index.mount.js
248 |
249 | import { h, hydrate } from 'preact'
250 |
251 | // setup goober
252 | import { setup } from 'goober'
253 | setup(h)
254 |
255 | // can be moved to a util file and used from there,
256 | // in this file as an example for now.
257 | const mount = async (Component, elm) => {
258 | if (elm?.dataset?.props) {
259 | const props = JSON.parse(elm.dataset.props)
260 | delete elm.dataset.props
261 | hydrate( , elm)
262 | }
263 | }
264 |
265 | const main = async () => {
266 | // lazy load and re-mount counter as a client side component if needed
267 | // A better way would be to check if the `counter` element exists on
268 | // the DOM before even importing the component to avoid un-needed
269 | // JS downloads.
270 |
271 | const Counter = (await import('../components/Counter.js')).default
272 | mount(Counter, document.getElementById('counter'))
273 | }
274 |
275 | main()
276 | ```
277 |
278 | ## components
279 |
280 | The name is pretty self explanatory, since we aren't doing any segregation here
281 | as to what is and what isn't an island, you can shove all your components here
282 | like you normally would.
283 |
284 | ## layouts
285 |
286 | These are separated since I like to keep the layouts far away from components
287 | since sometimes they have more than just rendering conditions. It's not needed
288 | in this specific case because in most cases you'd be running your layouts on the
289 | server and not on the client.
290 |
291 | ## lib
292 |
293 | Contains common helper funcs for both client and server, since both are bundled
294 | separately and dependencies will be inlined as needed.
295 |
296 | ## pages
297 |
298 | This folder acts as the storage for templates. So anything that the server will
299 | be rendering as a page would be put in here. The ability to use layouts and
300 | other components like a normal preact app helps with building composable
301 | templates but still it's easier to just have them separate from the actual
302 | component code.
303 |
304 | ## public
305 |
306 | Stuff that needs to be delivered statically by express is just put here, webpack
307 | takes care of copying the whole thing to the final folder.
308 |
309 | ## server
310 |
311 | Self explanatory, server sided files, in most cases you'd like to move routes to
312 | a separate file and maybe add in middlewares to add a helper function to render
313 | preact components for you.
314 |
315 | Something like this is definitely a part of the server and not going to be
316 | client sided so just keep it in this folder.
317 |
318 | Example
319 |
320 | ```js
321 | app.use((req, res, next) => {
322 | res.render = (comp, data) => {
323 | return res.write(preactRenderToString(h(comp, { ...data })))
324 | }
325 | })
326 |
327 | // and somewhere else in the app
328 |
329 | const handler = (req, res) => {
330 | return res.status(200).render(Homepage, { username: 'reaper' })
331 | }
332 | ```
333 |
334 | That's actually all the code that contributes to setting up your own partial
335 | hydration / island styled hydration with nodejs.
336 |
337 | Most of this can be achieved with almost all bundlers and a little more
338 | modification to how the configurations are generated, can help you achieve a
339 | similar DX to astro though you are better off using astro if you aren't a fan of
340 | maintaining configs.
341 |
--------------------------------------------------------------------------------
/license:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 reaper
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of
6 | this software and associated documentation files (the "Software"), to deal in
7 | the Software without restriction, including without limitation the rights to
8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software is furnished to do so,
10 | 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, FITNESS
17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "preact-islands",
3 | "version": "1.0.0",
4 | "license": "MIT",
5 | "scripts": {
6 | "prebuild": "rimraf dist",
7 | "build": "npm run build:web; npm run build:server",
8 | "build:server": "cross-env NODE_ENV=production yarn webpack -c webpack.config.server.js",
9 | "build:web": "cross-env NODE_ENV=production yarn webpack -c webpack.config.client.js",
10 | "dev": "yarn dev:web; concurrently 'yarn:dev:* -- --watch'",
11 | "dev:nodemon": "nodemon --watch src --watch dist --ext js 'dist/server.js'",
12 | "dev:server": "webpack --config webpack.config.server.js",
13 | "dev:web": "webpack --config webpack.config.client.js",
14 | "fix": "prettier --write ."
15 | },
16 | "prettier": "@barelyhuman/prettier-config",
17 | "dependencies": {
18 | "express": "^4.18.2",
19 | "goober": "^2.1.12",
20 | "preact": "^10.12.1",
21 | "preact-render-to-string": "^5.2.6"
22 | },
23 | "devDependencies": {
24 | "@babel/core": "^7.20.12",
25 | "@babel/plugin-transform-react-jsx": "^7.20.13",
26 | "@barelyhuman/prettier-config": "^1.1.0",
27 | "babel-loader": "^9.1.2",
28 | "concurrently": "^7.6.0",
29 | "copy-webpack-plugin": "^11.0.0",
30 | "cross-env": "^7.0.3",
31 | "glob": "^8.1.0",
32 | "nodemon": "^2.0.20",
33 | "prettier": "^2.8.4",
34 | "rimraf": "^4.1.2",
35 | "webpack": "^5.75.0",
36 | "webpack-cli": "^5.0.1",
37 | "webpack-manifest-plugin": "^5.0.0",
38 | "webpack-node-externals": "^3.0.0"
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | # preact-islands-diy
2 |
3 | ## Variants
4 |
5 | - [webpack](#webpack)
6 | - [webpack-auto-inject](#webpack-auto-inject)
7 | - [esbuild](#esbuild)
8 | - [esbuild-auto-inject](#esbuild-auto-inject)
9 |
10 | ## Reasoning
11 |
12 | This was built as a more modifiable approach for people who like to work with
13 | codebases they can modify when things break down and it tries to keep down the
14 | dependencies to the bare minimum where possible.
15 |
16 | Also a lot more about why was something **I** built is something you can about
17 | on the following blog post
18 |
19 | [reaper - Updates and Decisions January - 2023](https://reaper.is/writing/20230207-decisions-and-updates-january-2023#preact-ssr)
20 |
21 | ## Guide
22 |
23 | You can read about what and how to build your own using the following
24 | [guide →](https://barelyhuman.github.io/preact-islands-diy/)
25 |
26 | ## Webpack
27 |
28 | [→ Branch: main](https://github.com/barelyhuman/preact-islands-diy/tree/main)
29 |
30 | > Type: Verbose
31 |
32 | Contains 2 simple webpack configurations that build the server and client and
33 | you can manually decide what component hydrates on what DOM element.
34 |
35 | Can work with older browsers since you select where and how the components
36 | hydrate
37 |
38 | ## Webpack Auto Inject
39 |
40 | [→ Branch: webpack-auto-inject](https://github.com/barelyhuman/preact-islands-diy/tree/webpack-auto-inject)
41 |
42 | > Type: Automatic
43 |
44 | This one adds a tiny bit of magic by generating the island manifest for you and
45 | also creating wrapper web-components that handle lazy loading and mounting the
46 | islands for you.
47 |
48 | This does provide better DX but if you are trying to understand how islands
49 | work, do go through the [webpack](#webpack) and [esbuild](#esbuild) variants
50 | instead.
51 |
52 | ## esbuild
53 |
54 | [→ Branch: esbuild-version](https://github.com/barelyhuman/preact-islands-diy/tree/esbuild-version)
55 |
56 | > Type: Verbose
57 |
58 | > **Warning**: esbuild doesn't support splitting with cjs right now which might
59 | > be problematic with a few browsers so choose this if you strictly wish to work
60 | > with modern browsers.
61 |
62 | > **Note**: To know more about the status of splitting,
63 | > [evanw/esbuild#16](https://github.com/evanw/esbuild/issues/16)
64 |
65 | The variant uses a `build.mjs` script to handle something similar to what the
66 | webpack setup does but is simpler in terms of setup and overall dependencies.
67 |
68 | Can be further trimmed down by maintaining a programmatic manifest instead of
69 | the one generated by the plugin
70 |
71 | ## esbuild-auto-inject
72 |
73 | [→ Branch: esbuild-auto-inject](https://github.com/barelyhuman/preact-islands-diy/tree/esbuild-auto-inject)
74 |
75 | > Type: Verbose
76 |
77 | The variant uses the same `build.mjs` as above but with a few changes where it
78 | uses a helper plugin for esbuild to generate the island wrappers for you both on
79 | client and by in-place modification for the server rendered island
80 |
81 | This trims down the overall amount of tooling required as compared to webpack
82 | but also there's a dependency on babel to generate escodegen compatible island
83 | code on the server.
84 |
85 | ## License
86 |
87 | [LICENSE](/license)
88 |
89 | ## More / Similar
90 |
91 | - A real app approach with this starter
92 | [real-app-islands-diy](https://github.com/barelyhuman/real-app-islands-diy)
93 |
94 | ## Where to from here?
95 |
96 | - You can help improve the speed of the plugins in each of the `*-auto-inject`
97 | branches
98 | - Create you own apps and let us know about your experience and other pain
99 | points / frictions that you've experienced using this
100 | - Build your own amazing starter template and tell us about it
101 |
102 | # TODO
103 |
104 | - [x] A full guide of each folder and it's significance
105 | - [ ] Variants
106 | - [x] Webpack
107 | - [x] ESBuild
108 | - [ ] Vite
109 |
--------------------------------------------------------------------------------
/scripts/generate-docs.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | curl -o mudkip.tgz -L https://github.com/barelyhuman/mudkip/releases/latest/download/linux-amd64.tgz
4 | tar -xvzf mudkip.tgz
5 | install linux-amd64/mudkip /usr/local/bin
6 |
7 | mudkip --baseurl='/preact-islands-diy/' --stylesheet="./docs/styles.css"
8 |
--------------------------------------------------------------------------------
/src/client/index.mount.js:
--------------------------------------------------------------------------------
1 | import { h, hydrate } from 'preact'
2 | import { setup } from 'goober'
3 |
4 | setup(h)
5 |
6 | const mount = async (Component, elm) => {
7 | if (elm?.dataset?.props) {
8 | const props = JSON.parse(elm.dataset.props)
9 | delete elm.dataset.props
10 | hydrate( , elm)
11 | }
12 | }
13 |
14 | const main = async () => {
15 | // re-mount Counter as a client side component
16 | const Counter = (await import('../components/Counter.js')).default
17 |
18 | mount(Counter, document.getElementById('counter'))
19 | }
20 |
21 | main()
22 |
--------------------------------------------------------------------------------
/src/components/Counter.js:
--------------------------------------------------------------------------------
1 | import { useState } from 'preact/hooks'
2 | import { styled } from 'goober'
3 |
4 | const Button = styled('button')`
5 | background: #efefef;
6 | color: #181819;
7 | padding: 6px 12px;
8 | font-size: 16px;
9 | min-width: 100px;
10 | border-radius: 6px;
11 | display: inline-flex;
12 | align-items: center;
13 | justify-content: center;
14 | outline: black;
15 | border: 0;
16 | `
17 |
18 | export default function Counter({ initValue = 0 }) {
19 | const [x, setX] = useState(initValue)
20 | return (
21 | <>
22 | setX(x + 1)}>{x}
23 | >
24 | )
25 | }
26 |
--------------------------------------------------------------------------------
/src/layouts/BaseLayout.js:
--------------------------------------------------------------------------------
1 | export default function BaseLayout({ children }) {
2 | return
3 | }
4 |
--------------------------------------------------------------------------------
/src/lib/html.js:
--------------------------------------------------------------------------------
1 | import manifest from '../../dist/js/manifest.json'
2 |
3 | export const withManifestBundles = ({ styles, body }) => {
4 | const bundledScripts = Object.keys(manifest).map(key => {
5 | const scriptPath = `/public/js/${manifest[key]}`
6 | return ``
7 | })
8 |
9 | return `
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 | ${body}
20 |
21 | ${bundledScripts.join('')}
22 | `
23 | }
24 |
--------------------------------------------------------------------------------
/src/pages/HomePage.js:
--------------------------------------------------------------------------------
1 | import Counter from '../components/Counter.js'
2 | import BaseLayout from '../layouts/BaseLayout.js'
3 |
4 | export default function () {
5 | const initData = { initValue: 10 }
6 | return (
7 | <>
8 |
9 |
10 | Hello from Preact Islands
11 |
12 |
13 |
14 |
15 |
16 | >
17 | )
18 | }
19 |
--------------------------------------------------------------------------------
/src/public/.include:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/barelyhuman/preact-islands-diy/4ace0c5494367934c884c2f28ae421d769a9777b/src/public/.include
--------------------------------------------------------------------------------
/src/server/app.js:
--------------------------------------------------------------------------------
1 | import preactRenderToString from 'preact-render-to-string'
2 | import HomePage from '../pages/HomePage.js'
3 | import { h } from 'preact'
4 | import { extractCss, setup } from 'goober'
5 | import { withManifestBundles } from '../lib/html.js'
6 |
7 | setup(h)
8 |
9 | const express = require('express')
10 | const app = express()
11 | const port = process.env.PORT || 3000
12 |
13 | app.get('/', async (req, res) => {
14 | res.send(
15 | withManifestBundles({
16 | styles: extractCss(),
17 | body: preactRenderToString(h(HomePage, {})),
18 | })
19 | )
20 | })
21 |
22 | app.use('/public', express.static('./dist', { maxAge: 60 * 60 * 1000 }))
23 |
24 | app.listen(port, () => console.log(`listening at http://localhost:${port}`))
25 |
--------------------------------------------------------------------------------
/webpack.config.client.js:
--------------------------------------------------------------------------------
1 | const path = require('path')
2 | const glob = require('glob')
3 | const CopyPlugin = require('copy-webpack-plugin')
4 | const { WebpackManifestPlugin } = require('webpack-manifest-plugin')
5 |
6 | const isDev = process.env.NODE_ENV !== 'production'
7 |
8 | const entryPoints = glob
9 | .sync(path.resolve(__dirname, './src/client') + '/**/*.js', {
10 | absolute: true,
11 | })
12 | .reduce((acc, path) => {
13 | const entry = path.match(/[^\/]+\.jsx?$/gm)[0].replace(/.jsx?$/, '')
14 | acc[entry] = path
15 | return acc
16 | }, {})
17 |
18 | const output = {
19 | filename: '[name].js',
20 | chunkFilename: '[id].js',
21 | path: path.resolve(__dirname, './dist/js'),
22 | }
23 |
24 | if (!isDev) {
25 | output.filename = '[name].[chunkhash].js'
26 | output.chunkFilename = '[id].[chunkhash].js'
27 | }
28 |
29 | module.exports = {
30 | mode: isDev ? 'development' : 'production',
31 | entry: entryPoints,
32 | output: output,
33 | stats: 'errors-warnings',
34 | resolve: {
35 | extensions: ['.js', '.jsx'],
36 | },
37 | module: {
38 | rules: [{ test: /\.jsx?$/, loader: 'babel-loader' }],
39 | },
40 | plugins: [
41 | new CopyPlugin({
42 | patterns: [{ from: 'src/public', to: '../' }],
43 | }),
44 | new WebpackManifestPlugin({
45 | publicPath: '',
46 | basePath: '',
47 | filter: file => {
48 | return /\.mount\.js$/.test(file.name)
49 | },
50 | }),
51 | ],
52 | }
53 |
--------------------------------------------------------------------------------
/webpack.config.server.js:
--------------------------------------------------------------------------------
1 | const path = require('path')
2 | const nodeExternals = require('webpack-node-externals')
3 |
4 | module.exports = {
5 | mode: process.env.NODE_ENV != 'production' ? 'development' : 'production',
6 | target: 'node',
7 | entry: path.resolve(__dirname, './src/server/app.js'),
8 | output: {
9 | filename: 'server.js',
10 | path: path.resolve(__dirname, './dist'),
11 | },
12 | stats: 'errors-warnings',
13 | resolve: {
14 | extensions: ['.js', '.jsx'],
15 | },
16 | module: {
17 | rules: [{ test: /\.jsx?$/, loader: 'babel-loader' }],
18 | },
19 | externals: [nodeExternals()],
20 | }
21 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@ampproject/remapping@^2.1.0":
6 | version "2.2.0"
7 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d"
8 | integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==
9 | dependencies:
10 | "@jridgewell/gen-mapping" "^0.1.0"
11 | "@jridgewell/trace-mapping" "^0.3.9"
12 |
13 | "@babel/code-frame@^7.18.6":
14 | version "7.18.6"
15 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a"
16 | integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==
17 | dependencies:
18 | "@babel/highlight" "^7.18.6"
19 |
20 | "@babel/compat-data@^7.20.5":
21 | version "7.20.14"
22 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.14.tgz#4106fc8b755f3e3ee0a0a7c27dde5de1d2b2baf8"
23 | integrity sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==
24 |
25 | "@babel/core@^7.20.12":
26 | version "7.20.12"
27 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.12.tgz#7930db57443c6714ad216953d1356dac0eb8496d"
28 | integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==
29 | dependencies:
30 | "@ampproject/remapping" "^2.1.0"
31 | "@babel/code-frame" "^7.18.6"
32 | "@babel/generator" "^7.20.7"
33 | "@babel/helper-compilation-targets" "^7.20.7"
34 | "@babel/helper-module-transforms" "^7.20.11"
35 | "@babel/helpers" "^7.20.7"
36 | "@babel/parser" "^7.20.7"
37 | "@babel/template" "^7.20.7"
38 | "@babel/traverse" "^7.20.12"
39 | "@babel/types" "^7.20.7"
40 | convert-source-map "^1.7.0"
41 | debug "^4.1.0"
42 | gensync "^1.0.0-beta.2"
43 | json5 "^2.2.2"
44 | semver "^6.3.0"
45 |
46 | "@babel/generator@^7.20.7":
47 | version "7.20.14"
48 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.14.tgz#9fa772c9f86a46c6ac9b321039400712b96f64ce"
49 | integrity sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==
50 | dependencies:
51 | "@babel/types" "^7.20.7"
52 | "@jridgewell/gen-mapping" "^0.3.2"
53 | jsesc "^2.5.1"
54 |
55 | "@babel/helper-annotate-as-pure@^7.18.6":
56 | version "7.18.6"
57 | resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb"
58 | integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==
59 | dependencies:
60 | "@babel/types" "^7.18.6"
61 |
62 | "@babel/helper-compilation-targets@^7.20.7":
63 | version "7.20.7"
64 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb"
65 | integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==
66 | dependencies:
67 | "@babel/compat-data" "^7.20.5"
68 | "@babel/helper-validator-option" "^7.18.6"
69 | browserslist "^4.21.3"
70 | lru-cache "^5.1.1"
71 | semver "^6.3.0"
72 |
73 | "@babel/helper-environment-visitor@^7.18.9":
74 | version "7.18.9"
75 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be"
76 | integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==
77 |
78 | "@babel/helper-function-name@^7.19.0":
79 | version "7.19.0"
80 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c"
81 | integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==
82 | dependencies:
83 | "@babel/template" "^7.18.10"
84 | "@babel/types" "^7.19.0"
85 |
86 | "@babel/helper-hoist-variables@^7.18.6":
87 | version "7.18.6"
88 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678"
89 | integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==
90 | dependencies:
91 | "@babel/types" "^7.18.6"
92 |
93 | "@babel/helper-module-imports@^7.18.6":
94 | version "7.18.6"
95 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e"
96 | integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==
97 | dependencies:
98 | "@babel/types" "^7.18.6"
99 |
100 | "@babel/helper-module-transforms@^7.20.11":
101 | version "7.20.11"
102 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0"
103 | integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==
104 | dependencies:
105 | "@babel/helper-environment-visitor" "^7.18.9"
106 | "@babel/helper-module-imports" "^7.18.6"
107 | "@babel/helper-simple-access" "^7.20.2"
108 | "@babel/helper-split-export-declaration" "^7.18.6"
109 | "@babel/helper-validator-identifier" "^7.19.1"
110 | "@babel/template" "^7.20.7"
111 | "@babel/traverse" "^7.20.10"
112 | "@babel/types" "^7.20.7"
113 |
114 | "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2":
115 | version "7.20.2"
116 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629"
117 | integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==
118 |
119 | "@babel/helper-simple-access@^7.20.2":
120 | version "7.20.2"
121 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9"
122 | integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==
123 | dependencies:
124 | "@babel/types" "^7.20.2"
125 |
126 | "@babel/helper-split-export-declaration@^7.18.6":
127 | version "7.18.6"
128 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075"
129 | integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==
130 | dependencies:
131 | "@babel/types" "^7.18.6"
132 |
133 | "@babel/helper-string-parser@^7.19.4":
134 | version "7.19.4"
135 | resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63"
136 | integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==
137 |
138 | "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1":
139 | version "7.19.1"
140 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2"
141 | integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==
142 |
143 | "@babel/helper-validator-option@^7.18.6":
144 | version "7.18.6"
145 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8"
146 | integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==
147 |
148 | "@babel/helpers@^7.20.7":
149 | version "7.20.13"
150 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.13.tgz#e3cb731fb70dc5337134cadc24cbbad31cc87ad2"
151 | integrity sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==
152 | dependencies:
153 | "@babel/template" "^7.20.7"
154 | "@babel/traverse" "^7.20.13"
155 | "@babel/types" "^7.20.7"
156 |
157 | "@babel/highlight@^7.18.6":
158 | version "7.18.6"
159 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf"
160 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==
161 | dependencies:
162 | "@babel/helper-validator-identifier" "^7.18.6"
163 | chalk "^2.0.0"
164 | js-tokens "^4.0.0"
165 |
166 | "@babel/parser@^7.20.13", "@babel/parser@^7.20.7":
167 | version "7.20.15"
168 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.15.tgz#eec9f36d8eaf0948bb88c87a46784b5ee9fd0c89"
169 | integrity sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==
170 |
171 | "@babel/plugin-syntax-jsx@^7.18.6":
172 | version "7.18.6"
173 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0"
174 | integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==
175 | dependencies:
176 | "@babel/helper-plugin-utils" "^7.18.6"
177 |
178 | "@babel/plugin-transform-react-jsx@^7.20.13":
179 | version "7.20.13"
180 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.20.13.tgz#f950f0b0c36377503d29a712f16287cedf886cbb"
181 | integrity sha512-MmTZx/bkUrfJhhYAYt3Urjm+h8DQGrPrnKQ94jLo7NLuOU+T89a7IByhKmrb8SKhrIYIQ0FN0CHMbnFRen4qNw==
182 | dependencies:
183 | "@babel/helper-annotate-as-pure" "^7.18.6"
184 | "@babel/helper-module-imports" "^7.18.6"
185 | "@babel/helper-plugin-utils" "^7.20.2"
186 | "@babel/plugin-syntax-jsx" "^7.18.6"
187 | "@babel/types" "^7.20.7"
188 |
189 | "@babel/template@^7.18.10", "@babel/template@^7.20.7":
190 | version "7.20.7"
191 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8"
192 | integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==
193 | dependencies:
194 | "@babel/code-frame" "^7.18.6"
195 | "@babel/parser" "^7.20.7"
196 | "@babel/types" "^7.20.7"
197 |
198 | "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.13":
199 | version "7.20.13"
200 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.13.tgz#817c1ba13d11accca89478bd5481b2d168d07473"
201 | integrity sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==
202 | dependencies:
203 | "@babel/code-frame" "^7.18.6"
204 | "@babel/generator" "^7.20.7"
205 | "@babel/helper-environment-visitor" "^7.18.9"
206 | "@babel/helper-function-name" "^7.19.0"
207 | "@babel/helper-hoist-variables" "^7.18.6"
208 | "@babel/helper-split-export-declaration" "^7.18.6"
209 | "@babel/parser" "^7.20.13"
210 | "@babel/types" "^7.20.7"
211 | debug "^4.1.0"
212 | globals "^11.1.0"
213 |
214 | "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7":
215 | version "7.20.7"
216 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f"
217 | integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==
218 | dependencies:
219 | "@babel/helper-string-parser" "^7.19.4"
220 | "@babel/helper-validator-identifier" "^7.19.1"
221 | to-fast-properties "^2.0.0"
222 |
223 | "@barelyhuman/prettier-config@^1.1.0":
224 | version "1.1.0"
225 | resolved "https://registry.yarnpkg.com/@barelyhuman/prettier-config/-/prettier-config-1.1.0.tgz#68d5a501866adf970a787bbfaddfd1361ae6ead0"
226 | integrity sha512-OlommcxHffkX+BtAsXP1ipK0WzKgNha5a+T+reNlNZZkHPZzZrLpQ23snAbubN4xZiV73Z6E+To02ZZka0eTTQ==
227 |
228 | "@discoveryjs/json-ext@^0.5.0":
229 | version "0.5.7"
230 | resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70"
231 | integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==
232 |
233 | "@jridgewell/gen-mapping@^0.1.0":
234 | version "0.1.1"
235 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996"
236 | integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==
237 | dependencies:
238 | "@jridgewell/set-array" "^1.0.0"
239 | "@jridgewell/sourcemap-codec" "^1.4.10"
240 |
241 | "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2":
242 | version "0.3.2"
243 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9"
244 | integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==
245 | dependencies:
246 | "@jridgewell/set-array" "^1.0.1"
247 | "@jridgewell/sourcemap-codec" "^1.4.10"
248 | "@jridgewell/trace-mapping" "^0.3.9"
249 |
250 | "@jridgewell/resolve-uri@3.1.0":
251 | version "3.1.0"
252 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
253 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
254 |
255 | "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1":
256 | version "1.1.2"
257 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
258 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
259 |
260 | "@jridgewell/source-map@^0.3.2":
261 | version "0.3.2"
262 | resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb"
263 | integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==
264 | dependencies:
265 | "@jridgewell/gen-mapping" "^0.3.0"
266 | "@jridgewell/trace-mapping" "^0.3.9"
267 |
268 | "@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10":
269 | version "1.4.14"
270 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
271 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
272 |
273 | "@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.9":
274 | version "0.3.17"
275 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985"
276 | integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==
277 | dependencies:
278 | "@jridgewell/resolve-uri" "3.1.0"
279 | "@jridgewell/sourcemap-codec" "1.4.14"
280 |
281 | "@nodelib/fs.scandir@2.1.5":
282 | version "2.1.5"
283 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
284 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
285 | dependencies:
286 | "@nodelib/fs.stat" "2.0.5"
287 | run-parallel "^1.1.9"
288 |
289 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
290 | version "2.0.5"
291 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
292 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
293 |
294 | "@nodelib/fs.walk@^1.2.3":
295 | version "1.2.8"
296 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
297 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
298 | dependencies:
299 | "@nodelib/fs.scandir" "2.1.5"
300 | fastq "^1.6.0"
301 |
302 | "@types/eslint-scope@^3.7.3":
303 | version "3.7.4"
304 | resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16"
305 | integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==
306 | dependencies:
307 | "@types/eslint" "*"
308 | "@types/estree" "*"
309 |
310 | "@types/eslint@*":
311 | version "8.21.1"
312 | resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.21.1.tgz#110b441a210d53ab47795124dbc3e9bb993d1e7c"
313 | integrity sha512-rc9K8ZpVjNcLs8Fp0dkozd5Pt2Apk1glO4Vgz8ix1u6yFByxfqo5Yavpy65o+93TAe24jr7v+eSBtFLvOQtCRQ==
314 | dependencies:
315 | "@types/estree" "*"
316 | "@types/json-schema" "*"
317 |
318 | "@types/estree@*":
319 | version "1.0.0"
320 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2"
321 | integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==
322 |
323 | "@types/estree@^0.0.51":
324 | version "0.0.51"
325 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40"
326 | integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==
327 |
328 | "@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
329 | version "7.0.11"
330 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
331 | integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
332 |
333 | "@types/node@*":
334 | version "18.13.0"
335 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.13.0.tgz#0400d1e6ce87e9d3032c19eb6c58205b0d3f7850"
336 | integrity sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==
337 |
338 | "@webassemblyjs/ast@1.11.1":
339 | version "1.11.1"
340 | resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7"
341 | integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==
342 | dependencies:
343 | "@webassemblyjs/helper-numbers" "1.11.1"
344 | "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
345 |
346 | "@webassemblyjs/floating-point-hex-parser@1.11.1":
347 | version "1.11.1"
348 | resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f"
349 | integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==
350 |
351 | "@webassemblyjs/helper-api-error@1.11.1":
352 | version "1.11.1"
353 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16"
354 | integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==
355 |
356 | "@webassemblyjs/helper-buffer@1.11.1":
357 | version "1.11.1"
358 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5"
359 | integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==
360 |
361 | "@webassemblyjs/helper-numbers@1.11.1":
362 | version "1.11.1"
363 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae"
364 | integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==
365 | dependencies:
366 | "@webassemblyjs/floating-point-hex-parser" "1.11.1"
367 | "@webassemblyjs/helper-api-error" "1.11.1"
368 | "@xtuc/long" "4.2.2"
369 |
370 | "@webassemblyjs/helper-wasm-bytecode@1.11.1":
371 | version "1.11.1"
372 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1"
373 | integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==
374 |
375 | "@webassemblyjs/helper-wasm-section@1.11.1":
376 | version "1.11.1"
377 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a"
378 | integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==
379 | dependencies:
380 | "@webassemblyjs/ast" "1.11.1"
381 | "@webassemblyjs/helper-buffer" "1.11.1"
382 | "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
383 | "@webassemblyjs/wasm-gen" "1.11.1"
384 |
385 | "@webassemblyjs/ieee754@1.11.1":
386 | version "1.11.1"
387 | resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614"
388 | integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==
389 | dependencies:
390 | "@xtuc/ieee754" "^1.2.0"
391 |
392 | "@webassemblyjs/leb128@1.11.1":
393 | version "1.11.1"
394 | resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5"
395 | integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==
396 | dependencies:
397 | "@xtuc/long" "4.2.2"
398 |
399 | "@webassemblyjs/utf8@1.11.1":
400 | version "1.11.1"
401 | resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff"
402 | integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==
403 |
404 | "@webassemblyjs/wasm-edit@1.11.1":
405 | version "1.11.1"
406 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6"
407 | integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==
408 | dependencies:
409 | "@webassemblyjs/ast" "1.11.1"
410 | "@webassemblyjs/helper-buffer" "1.11.1"
411 | "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
412 | "@webassemblyjs/helper-wasm-section" "1.11.1"
413 | "@webassemblyjs/wasm-gen" "1.11.1"
414 | "@webassemblyjs/wasm-opt" "1.11.1"
415 | "@webassemblyjs/wasm-parser" "1.11.1"
416 | "@webassemblyjs/wast-printer" "1.11.1"
417 |
418 | "@webassemblyjs/wasm-gen@1.11.1":
419 | version "1.11.1"
420 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76"
421 | integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==
422 | dependencies:
423 | "@webassemblyjs/ast" "1.11.1"
424 | "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
425 | "@webassemblyjs/ieee754" "1.11.1"
426 | "@webassemblyjs/leb128" "1.11.1"
427 | "@webassemblyjs/utf8" "1.11.1"
428 |
429 | "@webassemblyjs/wasm-opt@1.11.1":
430 | version "1.11.1"
431 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2"
432 | integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==
433 | dependencies:
434 | "@webassemblyjs/ast" "1.11.1"
435 | "@webassemblyjs/helper-buffer" "1.11.1"
436 | "@webassemblyjs/wasm-gen" "1.11.1"
437 | "@webassemblyjs/wasm-parser" "1.11.1"
438 |
439 | "@webassemblyjs/wasm-parser@1.11.1":
440 | version "1.11.1"
441 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199"
442 | integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==
443 | dependencies:
444 | "@webassemblyjs/ast" "1.11.1"
445 | "@webassemblyjs/helper-api-error" "1.11.1"
446 | "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
447 | "@webassemblyjs/ieee754" "1.11.1"
448 | "@webassemblyjs/leb128" "1.11.1"
449 | "@webassemblyjs/utf8" "1.11.1"
450 |
451 | "@webassemblyjs/wast-printer@1.11.1":
452 | version "1.11.1"
453 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0"
454 | integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==
455 | dependencies:
456 | "@webassemblyjs/ast" "1.11.1"
457 | "@xtuc/long" "4.2.2"
458 |
459 | "@webpack-cli/configtest@^2.0.1":
460 | version "2.0.1"
461 | resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.0.1.tgz#a69720f6c9bad6aef54a8fa6ba9c3533e7ef4c7f"
462 | integrity sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==
463 |
464 | "@webpack-cli/info@^2.0.1":
465 | version "2.0.1"
466 | resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.1.tgz#eed745799c910d20081e06e5177c2b2569f166c0"
467 | integrity sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==
468 |
469 | "@webpack-cli/serve@^2.0.1":
470 | version "2.0.1"
471 | resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.1.tgz#34bdc31727a1889198855913db2f270ace6d7bf8"
472 | integrity sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw==
473 |
474 | "@xtuc/ieee754@^1.2.0":
475 | version "1.2.0"
476 | resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
477 | integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
478 |
479 | "@xtuc/long@4.2.2":
480 | version "4.2.2"
481 | resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
482 | integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
483 |
484 | abbrev@1:
485 | version "1.1.1"
486 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
487 | integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
488 |
489 | accepts@~1.3.8:
490 | version "1.3.8"
491 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
492 | integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
493 | dependencies:
494 | mime-types "~2.1.34"
495 | negotiator "0.6.3"
496 |
497 | acorn-import-assertions@^1.7.6:
498 | version "1.8.0"
499 | resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9"
500 | integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==
501 |
502 | acorn@^8.5.0, acorn@^8.7.1:
503 | version "8.8.2"
504 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a"
505 | integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
506 |
507 | ajv-formats@^2.1.1:
508 | version "2.1.1"
509 | resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520"
510 | integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==
511 | dependencies:
512 | ajv "^8.0.0"
513 |
514 | ajv-keywords@^3.5.2:
515 | version "3.5.2"
516 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
517 | integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
518 |
519 | ajv-keywords@^5.0.0:
520 | version "5.1.0"
521 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16"
522 | integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==
523 | dependencies:
524 | fast-deep-equal "^3.1.3"
525 |
526 | ajv@^6.12.5:
527 | version "6.12.6"
528 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
529 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
530 | dependencies:
531 | fast-deep-equal "^3.1.1"
532 | fast-json-stable-stringify "^2.0.0"
533 | json-schema-traverse "^0.4.1"
534 | uri-js "^4.2.2"
535 |
536 | ajv@^8.0.0, ajv@^8.8.0:
537 | version "8.12.0"
538 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1"
539 | integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
540 | dependencies:
541 | fast-deep-equal "^3.1.1"
542 | json-schema-traverse "^1.0.0"
543 | require-from-string "^2.0.2"
544 | uri-js "^4.2.2"
545 |
546 | ansi-regex@^5.0.1:
547 | version "5.0.1"
548 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
549 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
550 |
551 | ansi-styles@^3.2.1:
552 | version "3.2.1"
553 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
554 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
555 | dependencies:
556 | color-convert "^1.9.0"
557 |
558 | ansi-styles@^4.0.0, ansi-styles@^4.1.0:
559 | version "4.3.0"
560 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
561 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
562 | dependencies:
563 | color-convert "^2.0.1"
564 |
565 | anymatch@~3.1.2:
566 | version "3.1.3"
567 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
568 | integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
569 | dependencies:
570 | normalize-path "^3.0.0"
571 | picomatch "^2.0.4"
572 |
573 | array-flatten@1.1.1:
574 | version "1.1.1"
575 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
576 | integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
577 |
578 | babel-loader@^9.1.2:
579 | version "9.1.2"
580 | resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.2.tgz#a16a080de52d08854ee14570469905a5fc00d39c"
581 | integrity sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==
582 | dependencies:
583 | find-cache-dir "^3.3.2"
584 | schema-utils "^4.0.0"
585 |
586 | balanced-match@^1.0.0:
587 | version "1.0.2"
588 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
589 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
590 |
591 | binary-extensions@^2.0.0:
592 | version "2.2.0"
593 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
594 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
595 |
596 | body-parser@1.20.1:
597 | version "1.20.1"
598 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668"
599 | integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==
600 | dependencies:
601 | bytes "3.1.2"
602 | content-type "~1.0.4"
603 | debug "2.6.9"
604 | depd "2.0.0"
605 | destroy "1.2.0"
606 | http-errors "2.0.0"
607 | iconv-lite "0.4.24"
608 | on-finished "2.4.1"
609 | qs "6.11.0"
610 | raw-body "2.5.1"
611 | type-is "~1.6.18"
612 | unpipe "1.0.0"
613 |
614 | brace-expansion@^1.1.7:
615 | version "1.1.11"
616 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
617 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
618 | dependencies:
619 | balanced-match "^1.0.0"
620 | concat-map "0.0.1"
621 |
622 | brace-expansion@^2.0.1:
623 | version "2.0.1"
624 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
625 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
626 | dependencies:
627 | balanced-match "^1.0.0"
628 |
629 | braces@^3.0.2, braces@~3.0.2:
630 | version "3.0.2"
631 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
632 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
633 | dependencies:
634 | fill-range "^7.0.1"
635 |
636 | browserslist@^4.14.5, browserslist@^4.21.3:
637 | version "4.21.5"
638 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7"
639 | integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==
640 | dependencies:
641 | caniuse-lite "^1.0.30001449"
642 | electron-to-chromium "^1.4.284"
643 | node-releases "^2.0.8"
644 | update-browserslist-db "^1.0.10"
645 |
646 | buffer-from@^1.0.0:
647 | version "1.1.2"
648 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
649 | integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
650 |
651 | bytes@3.1.2:
652 | version "3.1.2"
653 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
654 | integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
655 |
656 | call-bind@^1.0.0:
657 | version "1.0.2"
658 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
659 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
660 | dependencies:
661 | function-bind "^1.1.1"
662 | get-intrinsic "^1.0.2"
663 |
664 | caniuse-lite@^1.0.30001449:
665 | version "1.0.30001453"
666 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001453.tgz#6d3a1501622bf424a3cee5ad9550e640b0de3de8"
667 | integrity sha512-R9o/uySW38VViaTrOtwfbFEiBFUh7ST3uIG4OEymIG3/uKdHDO4xk/FaqfUw0d+irSUyFPy3dZszf9VvSTPnsA==
668 |
669 | chalk@^2.0.0:
670 | version "2.4.2"
671 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
672 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
673 | dependencies:
674 | ansi-styles "^3.2.1"
675 | escape-string-regexp "^1.0.5"
676 | supports-color "^5.3.0"
677 |
678 | chalk@^4.1.0:
679 | version "4.1.2"
680 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
681 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
682 | dependencies:
683 | ansi-styles "^4.1.0"
684 | supports-color "^7.1.0"
685 |
686 | chokidar@^3.5.2:
687 | version "3.5.3"
688 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
689 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
690 | dependencies:
691 | anymatch "~3.1.2"
692 | braces "~3.0.2"
693 | glob-parent "~5.1.2"
694 | is-binary-path "~2.1.0"
695 | is-glob "~4.0.1"
696 | normalize-path "~3.0.0"
697 | readdirp "~3.6.0"
698 | optionalDependencies:
699 | fsevents "~2.3.2"
700 |
701 | chrome-trace-event@^1.0.2:
702 | version "1.0.3"
703 | resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac"
704 | integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==
705 |
706 | cliui@^8.0.1:
707 | version "8.0.1"
708 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa"
709 | integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==
710 | dependencies:
711 | string-width "^4.2.0"
712 | strip-ansi "^6.0.1"
713 | wrap-ansi "^7.0.0"
714 |
715 | clone-deep@^4.0.1:
716 | version "4.0.1"
717 | resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387"
718 | integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==
719 | dependencies:
720 | is-plain-object "^2.0.4"
721 | kind-of "^6.0.2"
722 | shallow-clone "^3.0.0"
723 |
724 | color-convert@^1.9.0:
725 | version "1.9.3"
726 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
727 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
728 | dependencies:
729 | color-name "1.1.3"
730 |
731 | color-convert@^2.0.1:
732 | version "2.0.1"
733 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
734 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
735 | dependencies:
736 | color-name "~1.1.4"
737 |
738 | color-name@1.1.3:
739 | version "1.1.3"
740 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
741 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
742 |
743 | color-name@~1.1.4:
744 | version "1.1.4"
745 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
746 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
747 |
748 | colorette@^2.0.14:
749 | version "2.0.19"
750 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798"
751 | integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==
752 |
753 | commander@^2.20.0:
754 | version "2.20.3"
755 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
756 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
757 |
758 | commander@^9.4.1:
759 | version "9.5.0"
760 | resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30"
761 | integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==
762 |
763 | commondir@^1.0.1:
764 | version "1.0.1"
765 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
766 | integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==
767 |
768 | concat-map@0.0.1:
769 | version "0.0.1"
770 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
771 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
772 |
773 | concurrently@^7.6.0:
774 | version "7.6.0"
775 | resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-7.6.0.tgz#531a6f5f30cf616f355a4afb8f8fcb2bba65a49a"
776 | integrity sha512-BKtRgvcJGeZ4XttiDiNcFiRlxoAeZOseqUvyYRUp/Vtd+9p1ULmeoSqGsDA+2ivdeDFpqrJvGvmI+StKfKl5hw==
777 | dependencies:
778 | chalk "^4.1.0"
779 | date-fns "^2.29.1"
780 | lodash "^4.17.21"
781 | rxjs "^7.0.0"
782 | shell-quote "^1.7.3"
783 | spawn-command "^0.0.2-1"
784 | supports-color "^8.1.0"
785 | tree-kill "^1.2.2"
786 | yargs "^17.3.1"
787 |
788 | content-disposition@0.5.4:
789 | version "0.5.4"
790 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
791 | integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
792 | dependencies:
793 | safe-buffer "5.2.1"
794 |
795 | content-type@~1.0.4:
796 | version "1.0.5"
797 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918"
798 | integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
799 |
800 | convert-source-map@^1.7.0:
801 | version "1.9.0"
802 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f"
803 | integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
804 |
805 | cookie-signature@1.0.6:
806 | version "1.0.6"
807 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
808 | integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
809 |
810 | cookie@0.5.0:
811 | version "0.5.0"
812 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
813 | integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
814 |
815 | copy-webpack-plugin@^11.0.0:
816 | version "11.0.0"
817 | resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz#96d4dbdb5f73d02dd72d0528d1958721ab72e04a"
818 | integrity sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==
819 | dependencies:
820 | fast-glob "^3.2.11"
821 | glob-parent "^6.0.1"
822 | globby "^13.1.1"
823 | normalize-path "^3.0.0"
824 | schema-utils "^4.0.0"
825 | serialize-javascript "^6.0.0"
826 |
827 | cross-env@^7.0.3:
828 | version "7.0.3"
829 | resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf"
830 | integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==
831 | dependencies:
832 | cross-spawn "^7.0.1"
833 |
834 | cross-spawn@^7.0.1, cross-spawn@^7.0.3:
835 | version "7.0.3"
836 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
837 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
838 | dependencies:
839 | path-key "^3.1.0"
840 | shebang-command "^2.0.0"
841 | which "^2.0.1"
842 |
843 | date-fns@^2.29.1:
844 | version "2.29.3"
845 | resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.3.tgz#27402d2fc67eb442b511b70bbdf98e6411cd68a8"
846 | integrity sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==
847 |
848 | debug@2.6.9:
849 | version "2.6.9"
850 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
851 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
852 | dependencies:
853 | ms "2.0.0"
854 |
855 | debug@^3.2.7:
856 | version "3.2.7"
857 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
858 | integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
859 | dependencies:
860 | ms "^2.1.1"
861 |
862 | debug@^4.1.0:
863 | version "4.3.4"
864 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
865 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
866 | dependencies:
867 | ms "2.1.2"
868 |
869 | depd@2.0.0:
870 | version "2.0.0"
871 | resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
872 | integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
873 |
874 | destroy@1.2.0:
875 | version "1.2.0"
876 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
877 | integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
878 |
879 | dir-glob@^3.0.1:
880 | version "3.0.1"
881 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
882 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
883 | dependencies:
884 | path-type "^4.0.0"
885 |
886 | ee-first@1.1.1:
887 | version "1.1.1"
888 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
889 | integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
890 |
891 | electron-to-chromium@^1.4.284:
892 | version "1.4.299"
893 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.299.tgz#faa2069cd4879a73e540e533178db5c618768d41"
894 | integrity sha512-lQ7ijJghH6pCGbfWXr6EY+KYCMaRSjgsY925r1p/TlpSfVM1VjHTcn1gAc15VM4uwti283X6QtjPTXdpoSGiZQ==
895 |
896 | emoji-regex@^8.0.0:
897 | version "8.0.0"
898 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
899 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
900 |
901 | encodeurl@~1.0.2:
902 | version "1.0.2"
903 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
904 | integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
905 |
906 | enhanced-resolve@^5.10.0:
907 | version "5.12.0"
908 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634"
909 | integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==
910 | dependencies:
911 | graceful-fs "^4.2.4"
912 | tapable "^2.2.0"
913 |
914 | envinfo@^7.7.3:
915 | version "7.8.1"
916 | resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475"
917 | integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==
918 |
919 | es-module-lexer@^0.9.0:
920 | version "0.9.3"
921 | resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19"
922 | integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==
923 |
924 | escalade@^3.1.1:
925 | version "3.1.1"
926 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
927 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
928 |
929 | escape-html@~1.0.3:
930 | version "1.0.3"
931 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
932 | integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
933 |
934 | escape-string-regexp@^1.0.5:
935 | version "1.0.5"
936 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
937 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
938 |
939 | eslint-scope@5.1.1:
940 | version "5.1.1"
941 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
942 | integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
943 | dependencies:
944 | esrecurse "^4.3.0"
945 | estraverse "^4.1.1"
946 |
947 | esrecurse@^4.3.0:
948 | version "4.3.0"
949 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
950 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
951 | dependencies:
952 | estraverse "^5.2.0"
953 |
954 | estraverse@^4.1.1:
955 | version "4.3.0"
956 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
957 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
958 |
959 | estraverse@^5.2.0:
960 | version "5.3.0"
961 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
962 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
963 |
964 | etag@~1.8.1:
965 | version "1.8.1"
966 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
967 | integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
968 |
969 | events@^3.2.0:
970 | version "3.3.0"
971 | resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
972 | integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
973 |
974 | express@^4.18.2:
975 | version "4.18.2"
976 | resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59"
977 | integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==
978 | dependencies:
979 | accepts "~1.3.8"
980 | array-flatten "1.1.1"
981 | body-parser "1.20.1"
982 | content-disposition "0.5.4"
983 | content-type "~1.0.4"
984 | cookie "0.5.0"
985 | cookie-signature "1.0.6"
986 | debug "2.6.9"
987 | depd "2.0.0"
988 | encodeurl "~1.0.2"
989 | escape-html "~1.0.3"
990 | etag "~1.8.1"
991 | finalhandler "1.2.0"
992 | fresh "0.5.2"
993 | http-errors "2.0.0"
994 | merge-descriptors "1.0.1"
995 | methods "~1.1.2"
996 | on-finished "2.4.1"
997 | parseurl "~1.3.3"
998 | path-to-regexp "0.1.7"
999 | proxy-addr "~2.0.7"
1000 | qs "6.11.0"
1001 | range-parser "~1.2.1"
1002 | safe-buffer "5.2.1"
1003 | send "0.18.0"
1004 | serve-static "1.15.0"
1005 | setprototypeof "1.2.0"
1006 | statuses "2.0.1"
1007 | type-is "~1.6.18"
1008 | utils-merge "1.0.1"
1009 | vary "~1.1.2"
1010 |
1011 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
1012 | version "3.1.3"
1013 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
1014 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
1015 |
1016 | fast-glob@^3.2.11:
1017 | version "3.2.12"
1018 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80"
1019 | integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==
1020 | dependencies:
1021 | "@nodelib/fs.stat" "^2.0.2"
1022 | "@nodelib/fs.walk" "^1.2.3"
1023 | glob-parent "^5.1.2"
1024 | merge2 "^1.3.0"
1025 | micromatch "^4.0.4"
1026 |
1027 | fast-json-stable-stringify@^2.0.0:
1028 | version "2.1.0"
1029 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
1030 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
1031 |
1032 | fastest-levenshtein@^1.0.12:
1033 | version "1.0.16"
1034 | resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5"
1035 | integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==
1036 |
1037 | fastq@^1.6.0:
1038 | version "1.15.0"
1039 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a"
1040 | integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==
1041 | dependencies:
1042 | reusify "^1.0.4"
1043 |
1044 | fill-range@^7.0.1:
1045 | version "7.0.1"
1046 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
1047 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
1048 | dependencies:
1049 | to-regex-range "^5.0.1"
1050 |
1051 | finalhandler@1.2.0:
1052 | version "1.2.0"
1053 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32"
1054 | integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==
1055 | dependencies:
1056 | debug "2.6.9"
1057 | encodeurl "~1.0.2"
1058 | escape-html "~1.0.3"
1059 | on-finished "2.4.1"
1060 | parseurl "~1.3.3"
1061 | statuses "2.0.1"
1062 | unpipe "~1.0.0"
1063 |
1064 | find-cache-dir@^3.3.2:
1065 | version "3.3.2"
1066 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b"
1067 | integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==
1068 | dependencies:
1069 | commondir "^1.0.1"
1070 | make-dir "^3.0.2"
1071 | pkg-dir "^4.1.0"
1072 |
1073 | find-up@^4.0.0:
1074 | version "4.1.0"
1075 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
1076 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
1077 | dependencies:
1078 | locate-path "^5.0.0"
1079 | path-exists "^4.0.0"
1080 |
1081 | forwarded@0.2.0:
1082 | version "0.2.0"
1083 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
1084 | integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
1085 |
1086 | fresh@0.5.2:
1087 | version "0.5.2"
1088 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
1089 | integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
1090 |
1091 | fs.realpath@^1.0.0:
1092 | version "1.0.0"
1093 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
1094 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
1095 |
1096 | fsevents@~2.3.2:
1097 | version "2.3.2"
1098 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
1099 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
1100 |
1101 | function-bind@^1.1.1:
1102 | version "1.1.1"
1103 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
1104 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
1105 |
1106 | gensync@^1.0.0-beta.2:
1107 | version "1.0.0-beta.2"
1108 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
1109 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
1110 |
1111 | get-caller-file@^2.0.5:
1112 | version "2.0.5"
1113 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
1114 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
1115 |
1116 | get-intrinsic@^1.0.2:
1117 | version "1.2.0"
1118 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f"
1119 | integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==
1120 | dependencies:
1121 | function-bind "^1.1.1"
1122 | has "^1.0.3"
1123 | has-symbols "^1.0.3"
1124 |
1125 | glob-parent@^5.1.2, glob-parent@~5.1.2:
1126 | version "5.1.2"
1127 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
1128 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
1129 | dependencies:
1130 | is-glob "^4.0.1"
1131 |
1132 | glob-parent@^6.0.1:
1133 | version "6.0.2"
1134 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
1135 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
1136 | dependencies:
1137 | is-glob "^4.0.3"
1138 |
1139 | glob-to-regexp@^0.4.1:
1140 | version "0.4.1"
1141 | resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
1142 | integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
1143 |
1144 | glob@^8.1.0:
1145 | version "8.1.0"
1146 | resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e"
1147 | integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==
1148 | dependencies:
1149 | fs.realpath "^1.0.0"
1150 | inflight "^1.0.4"
1151 | inherits "2"
1152 | minimatch "^5.0.1"
1153 | once "^1.3.0"
1154 |
1155 | globals@^11.1.0:
1156 | version "11.12.0"
1157 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
1158 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
1159 |
1160 | globby@^13.1.1:
1161 | version "13.1.3"
1162 | resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.3.tgz#f62baf5720bcb2c1330c8d4ef222ee12318563ff"
1163 | integrity sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==
1164 | dependencies:
1165 | dir-glob "^3.0.1"
1166 | fast-glob "^3.2.11"
1167 | ignore "^5.2.0"
1168 | merge2 "^1.4.1"
1169 | slash "^4.0.0"
1170 |
1171 | goober@^2.1.12:
1172 | version "2.1.12"
1173 | resolved "https://registry.yarnpkg.com/goober/-/goober-2.1.12.tgz#6c1645314ac9a68fe76408e1f502c63df8a39042"
1174 | integrity sha512-yXHAvO08FU1JgTXX6Zn6sYCUFfB/OJSX8HHjDSgerZHZmFKAb08cykp5LBw5QnmyMcZyPRMqkdyHUSSzge788Q==
1175 |
1176 | graceful-fs@^4.1.2, graceful-fs@^4.2.4, graceful-fs@^4.2.9:
1177 | version "4.2.10"
1178 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
1179 | integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
1180 |
1181 | has-flag@^3.0.0:
1182 | version "3.0.0"
1183 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
1184 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
1185 |
1186 | has-flag@^4.0.0:
1187 | version "4.0.0"
1188 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
1189 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
1190 |
1191 | has-symbols@^1.0.3:
1192 | version "1.0.3"
1193 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
1194 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
1195 |
1196 | has@^1.0.3:
1197 | version "1.0.3"
1198 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
1199 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
1200 | dependencies:
1201 | function-bind "^1.1.1"
1202 |
1203 | http-errors@2.0.0:
1204 | version "2.0.0"
1205 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
1206 | integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
1207 | dependencies:
1208 | depd "2.0.0"
1209 | inherits "2.0.4"
1210 | setprototypeof "1.2.0"
1211 | statuses "2.0.1"
1212 | toidentifier "1.0.1"
1213 |
1214 | iconv-lite@0.4.24:
1215 | version "0.4.24"
1216 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
1217 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
1218 | dependencies:
1219 | safer-buffer ">= 2.1.2 < 3"
1220 |
1221 | ignore-by-default@^1.0.1:
1222 | version "1.0.1"
1223 | resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"
1224 | integrity sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==
1225 |
1226 | ignore@^5.2.0:
1227 | version "5.2.4"
1228 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
1229 | integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
1230 |
1231 | import-local@^3.0.2:
1232 | version "3.1.0"
1233 | resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4"
1234 | integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==
1235 | dependencies:
1236 | pkg-dir "^4.2.0"
1237 | resolve-cwd "^3.0.0"
1238 |
1239 | inflight@^1.0.4:
1240 | version "1.0.6"
1241 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
1242 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
1243 | dependencies:
1244 | once "^1.3.0"
1245 | wrappy "1"
1246 |
1247 | inherits@2, inherits@2.0.4:
1248 | version "2.0.4"
1249 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
1250 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
1251 |
1252 | interpret@^3.1.1:
1253 | version "3.1.1"
1254 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4"
1255 | integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==
1256 |
1257 | ipaddr.js@1.9.1:
1258 | version "1.9.1"
1259 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
1260 | integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
1261 |
1262 | is-binary-path@~2.1.0:
1263 | version "2.1.0"
1264 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
1265 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
1266 | dependencies:
1267 | binary-extensions "^2.0.0"
1268 |
1269 | is-core-module@^2.9.0:
1270 | version "2.11.0"
1271 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144"
1272 | integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==
1273 | dependencies:
1274 | has "^1.0.3"
1275 |
1276 | is-extglob@^2.1.1:
1277 | version "2.1.1"
1278 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
1279 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
1280 |
1281 | is-fullwidth-code-point@^3.0.0:
1282 | version "3.0.0"
1283 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
1284 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
1285 |
1286 | is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
1287 | version "4.0.3"
1288 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
1289 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
1290 | dependencies:
1291 | is-extglob "^2.1.1"
1292 |
1293 | is-number@^7.0.0:
1294 | version "7.0.0"
1295 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
1296 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
1297 |
1298 | is-plain-object@^2.0.4:
1299 | version "2.0.4"
1300 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
1301 | integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
1302 | dependencies:
1303 | isobject "^3.0.1"
1304 |
1305 | isexe@^2.0.0:
1306 | version "2.0.0"
1307 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
1308 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
1309 |
1310 | isobject@^3.0.1:
1311 | version "3.0.1"
1312 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
1313 | integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==
1314 |
1315 | jest-worker@^27.4.5:
1316 | version "27.5.1"
1317 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0"
1318 | integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==
1319 | dependencies:
1320 | "@types/node" "*"
1321 | merge-stream "^2.0.0"
1322 | supports-color "^8.0.0"
1323 |
1324 | js-tokens@^4.0.0:
1325 | version "4.0.0"
1326 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
1327 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
1328 |
1329 | jsesc@^2.5.1:
1330 | version "2.5.2"
1331 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
1332 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
1333 |
1334 | json-parse-even-better-errors@^2.3.1:
1335 | version "2.3.1"
1336 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
1337 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
1338 |
1339 | json-schema-traverse@^0.4.1:
1340 | version "0.4.1"
1341 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
1342 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
1343 |
1344 | json-schema-traverse@^1.0.0:
1345 | version "1.0.0"
1346 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
1347 | integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
1348 |
1349 | json5@^2.2.2:
1350 | version "2.2.3"
1351 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
1352 | integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
1353 |
1354 | kind-of@^6.0.2:
1355 | version "6.0.3"
1356 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
1357 | integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
1358 |
1359 | loader-runner@^4.2.0:
1360 | version "4.3.0"
1361 | resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1"
1362 | integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==
1363 |
1364 | locate-path@^5.0.0:
1365 | version "5.0.0"
1366 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
1367 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
1368 | dependencies:
1369 | p-locate "^4.1.0"
1370 |
1371 | lodash@^4.17.21:
1372 | version "4.17.21"
1373 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
1374 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
1375 |
1376 | lru-cache@^5.1.1:
1377 | version "5.1.1"
1378 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
1379 | integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
1380 | dependencies:
1381 | yallist "^3.0.2"
1382 |
1383 | make-dir@^3.0.2:
1384 | version "3.1.0"
1385 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
1386 | integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
1387 | dependencies:
1388 | semver "^6.0.0"
1389 |
1390 | media-typer@0.3.0:
1391 | version "0.3.0"
1392 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
1393 | integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
1394 |
1395 | merge-descriptors@1.0.1:
1396 | version "1.0.1"
1397 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
1398 | integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==
1399 |
1400 | merge-stream@^2.0.0:
1401 | version "2.0.0"
1402 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
1403 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
1404 |
1405 | merge2@^1.3.0, merge2@^1.4.1:
1406 | version "1.4.1"
1407 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
1408 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
1409 |
1410 | methods@~1.1.2:
1411 | version "1.1.2"
1412 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
1413 | integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
1414 |
1415 | micromatch@^4.0.4:
1416 | version "4.0.5"
1417 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
1418 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
1419 | dependencies:
1420 | braces "^3.0.2"
1421 | picomatch "^2.3.1"
1422 |
1423 | mime-db@1.52.0:
1424 | version "1.52.0"
1425 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
1426 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
1427 |
1428 | mime-types@^2.1.27, mime-types@~2.1.24, mime-types@~2.1.34:
1429 | version "2.1.35"
1430 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
1431 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
1432 | dependencies:
1433 | mime-db "1.52.0"
1434 |
1435 | mime@1.6.0:
1436 | version "1.6.0"
1437 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
1438 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
1439 |
1440 | minimatch@^3.1.2:
1441 | version "3.1.2"
1442 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
1443 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
1444 | dependencies:
1445 | brace-expansion "^1.1.7"
1446 |
1447 | minimatch@^5.0.1:
1448 | version "5.1.6"
1449 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96"
1450 | integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==
1451 | dependencies:
1452 | brace-expansion "^2.0.1"
1453 |
1454 | ms@2.0.0:
1455 | version "2.0.0"
1456 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
1457 | integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
1458 |
1459 | ms@2.1.2:
1460 | version "2.1.2"
1461 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
1462 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
1463 |
1464 | ms@2.1.3, ms@^2.1.1:
1465 | version "2.1.3"
1466 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
1467 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
1468 |
1469 | negotiator@0.6.3:
1470 | version "0.6.3"
1471 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
1472 | integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
1473 |
1474 | neo-async@^2.6.2:
1475 | version "2.6.2"
1476 | resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
1477 | integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
1478 |
1479 | node-releases@^2.0.8:
1480 | version "2.0.10"
1481 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f"
1482 | integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==
1483 |
1484 | nodemon@^2.0.20:
1485 | version "2.0.20"
1486 | resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.20.tgz#e3537de768a492e8d74da5c5813cb0c7486fc701"
1487 | integrity sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==
1488 | dependencies:
1489 | chokidar "^3.5.2"
1490 | debug "^3.2.7"
1491 | ignore-by-default "^1.0.1"
1492 | minimatch "^3.1.2"
1493 | pstree.remy "^1.1.8"
1494 | semver "^5.7.1"
1495 | simple-update-notifier "^1.0.7"
1496 | supports-color "^5.5.0"
1497 | touch "^3.1.0"
1498 | undefsafe "^2.0.5"
1499 |
1500 | nopt@~1.0.10:
1501 | version "1.0.10"
1502 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
1503 | integrity sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==
1504 | dependencies:
1505 | abbrev "1"
1506 |
1507 | normalize-path@^3.0.0, normalize-path@~3.0.0:
1508 | version "3.0.0"
1509 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
1510 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
1511 |
1512 | object-inspect@^1.9.0:
1513 | version "1.12.3"
1514 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9"
1515 | integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==
1516 |
1517 | on-finished@2.4.1:
1518 | version "2.4.1"
1519 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
1520 | integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
1521 | dependencies:
1522 | ee-first "1.1.1"
1523 |
1524 | once@^1.3.0:
1525 | version "1.4.0"
1526 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
1527 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
1528 | dependencies:
1529 | wrappy "1"
1530 |
1531 | p-limit@^2.2.0:
1532 | version "2.3.0"
1533 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
1534 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
1535 | dependencies:
1536 | p-try "^2.0.0"
1537 |
1538 | p-locate@^4.1.0:
1539 | version "4.1.0"
1540 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
1541 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
1542 | dependencies:
1543 | p-limit "^2.2.0"
1544 |
1545 | p-try@^2.0.0:
1546 | version "2.2.0"
1547 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
1548 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
1549 |
1550 | parseurl@~1.3.3:
1551 | version "1.3.3"
1552 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
1553 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
1554 |
1555 | path-exists@^4.0.0:
1556 | version "4.0.0"
1557 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
1558 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
1559 |
1560 | path-key@^3.1.0:
1561 | version "3.1.1"
1562 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
1563 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
1564 |
1565 | path-parse@^1.0.7:
1566 | version "1.0.7"
1567 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
1568 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
1569 |
1570 | path-to-regexp@0.1.7:
1571 | version "0.1.7"
1572 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
1573 | integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==
1574 |
1575 | path-type@^4.0.0:
1576 | version "4.0.0"
1577 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
1578 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
1579 |
1580 | picocolors@^1.0.0:
1581 | version "1.0.0"
1582 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
1583 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
1584 |
1585 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
1586 | version "2.3.1"
1587 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
1588 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
1589 |
1590 | pkg-dir@^4.1.0, pkg-dir@^4.2.0:
1591 | version "4.2.0"
1592 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
1593 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
1594 | dependencies:
1595 | find-up "^4.0.0"
1596 |
1597 | preact-render-to-string@^5.2.6:
1598 | version "5.2.6"
1599 | resolved "https://registry.yarnpkg.com/preact-render-to-string/-/preact-render-to-string-5.2.6.tgz#0ff0c86cd118d30affb825193f18e92bd59d0604"
1600 | integrity sha512-JyhErpYOvBV1hEPwIxc/fHWXPfnEGdRKxc8gFdAZ7XV4tlzyzG847XAyEZqoDnynP88akM4eaHcSOzNcLWFguw==
1601 | dependencies:
1602 | pretty-format "^3.8.0"
1603 |
1604 | preact@^10.12.1:
1605 | version "10.12.1"
1606 | resolved "https://registry.yarnpkg.com/preact/-/preact-10.12.1.tgz#8f9cb5442f560e532729b7d23d42fd1161354a21"
1607 | integrity sha512-l8386ixSsBdbreOAkqtrwqHwdvR35ID8c3rKPa8lCWuO86dBi32QWHV4vfsZK1utLLFMvw+Z5Ad4XLkZzchscg==
1608 |
1609 | prettier@^2.8.4:
1610 | version "2.8.4"
1611 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3"
1612 | integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==
1613 |
1614 | pretty-format@^3.8.0:
1615 | version "3.8.0"
1616 | resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-3.8.0.tgz#bfbed56d5e9a776645f4b1ff7aa1a3ac4fa3c385"
1617 | integrity sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==
1618 |
1619 | proxy-addr@~2.0.7:
1620 | version "2.0.7"
1621 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
1622 | integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
1623 | dependencies:
1624 | forwarded "0.2.0"
1625 | ipaddr.js "1.9.1"
1626 |
1627 | pstree.remy@^1.1.8:
1628 | version "1.1.8"
1629 | resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a"
1630 | integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==
1631 |
1632 | punycode@^2.1.0:
1633 | version "2.3.0"
1634 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f"
1635 | integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==
1636 |
1637 | qs@6.11.0:
1638 | version "6.11.0"
1639 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
1640 | integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
1641 | dependencies:
1642 | side-channel "^1.0.4"
1643 |
1644 | queue-microtask@^1.2.2:
1645 | version "1.2.3"
1646 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
1647 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
1648 |
1649 | randombytes@^2.1.0:
1650 | version "2.1.0"
1651 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
1652 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
1653 | dependencies:
1654 | safe-buffer "^5.1.0"
1655 |
1656 | range-parser@~1.2.1:
1657 | version "1.2.1"
1658 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
1659 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
1660 |
1661 | raw-body@2.5.1:
1662 | version "2.5.1"
1663 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857"
1664 | integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==
1665 | dependencies:
1666 | bytes "3.1.2"
1667 | http-errors "2.0.0"
1668 | iconv-lite "0.4.24"
1669 | unpipe "1.0.0"
1670 |
1671 | readdirp@~3.6.0:
1672 | version "3.6.0"
1673 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
1674 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
1675 | dependencies:
1676 | picomatch "^2.2.1"
1677 |
1678 | rechoir@^0.8.0:
1679 | version "0.8.0"
1680 | resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.8.0.tgz#49f866e0d32146142da3ad8f0eff352b3215ff22"
1681 | integrity sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==
1682 | dependencies:
1683 | resolve "^1.20.0"
1684 |
1685 | require-directory@^2.1.1:
1686 | version "2.1.1"
1687 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
1688 | integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
1689 |
1690 | require-from-string@^2.0.2:
1691 | version "2.0.2"
1692 | resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
1693 | integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
1694 |
1695 | resolve-cwd@^3.0.0:
1696 | version "3.0.0"
1697 | resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d"
1698 | integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==
1699 | dependencies:
1700 | resolve-from "^5.0.0"
1701 |
1702 | resolve-from@^5.0.0:
1703 | version "5.0.0"
1704 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69"
1705 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
1706 |
1707 | resolve@^1.20.0:
1708 | version "1.22.1"
1709 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
1710 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
1711 | dependencies:
1712 | is-core-module "^2.9.0"
1713 | path-parse "^1.0.7"
1714 | supports-preserve-symlinks-flag "^1.0.0"
1715 |
1716 | reusify@^1.0.4:
1717 | version "1.0.4"
1718 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
1719 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
1720 |
1721 | rimraf@^4.1.2:
1722 | version "4.1.2"
1723 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-4.1.2.tgz#20dfbc98083bdfaa28b01183162885ef213dbf7c"
1724 | integrity sha512-BlIbgFryTbw3Dz6hyoWFhKk+unCcHMSkZGrTFVAx2WmttdBSonsdtRlwiuTbDqTKr+UlXIUqJVS4QT5tUzGENQ==
1725 |
1726 | run-parallel@^1.1.9:
1727 | version "1.2.0"
1728 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
1729 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
1730 | dependencies:
1731 | queue-microtask "^1.2.2"
1732 |
1733 | rxjs@^7.0.0:
1734 | version "7.8.0"
1735 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4"
1736 | integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==
1737 | dependencies:
1738 | tslib "^2.1.0"
1739 |
1740 | safe-buffer@5.2.1, safe-buffer@^5.1.0:
1741 | version "5.2.1"
1742 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
1743 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
1744 |
1745 | "safer-buffer@>= 2.1.2 < 3":
1746 | version "2.1.2"
1747 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
1748 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
1749 |
1750 | schema-utils@^3.1.0, schema-utils@^3.1.1:
1751 | version "3.1.1"
1752 | resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281"
1753 | integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==
1754 | dependencies:
1755 | "@types/json-schema" "^7.0.8"
1756 | ajv "^6.12.5"
1757 | ajv-keywords "^3.5.2"
1758 |
1759 | schema-utils@^4.0.0:
1760 | version "4.0.0"
1761 | resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.0.tgz#60331e9e3ae78ec5d16353c467c34b3a0a1d3df7"
1762 | integrity sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==
1763 | dependencies:
1764 | "@types/json-schema" "^7.0.9"
1765 | ajv "^8.8.0"
1766 | ajv-formats "^2.1.1"
1767 | ajv-keywords "^5.0.0"
1768 |
1769 | semver@^5.7.1:
1770 | version "5.7.1"
1771 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
1772 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
1773 |
1774 | semver@^6.0.0, semver@^6.3.0:
1775 | version "6.3.0"
1776 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
1777 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
1778 |
1779 | semver@~7.0.0:
1780 | version "7.0.0"
1781 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
1782 | integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
1783 |
1784 | send@0.18.0:
1785 | version "0.18.0"
1786 | resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"
1787 | integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==
1788 | dependencies:
1789 | debug "2.6.9"
1790 | depd "2.0.0"
1791 | destroy "1.2.0"
1792 | encodeurl "~1.0.2"
1793 | escape-html "~1.0.3"
1794 | etag "~1.8.1"
1795 | fresh "0.5.2"
1796 | http-errors "2.0.0"
1797 | mime "1.6.0"
1798 | ms "2.1.3"
1799 | on-finished "2.4.1"
1800 | range-parser "~1.2.1"
1801 | statuses "2.0.1"
1802 |
1803 | serialize-javascript@^6.0.0:
1804 | version "6.0.1"
1805 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c"
1806 | integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==
1807 | dependencies:
1808 | randombytes "^2.1.0"
1809 |
1810 | serve-static@1.15.0:
1811 | version "1.15.0"
1812 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540"
1813 | integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==
1814 | dependencies:
1815 | encodeurl "~1.0.2"
1816 | escape-html "~1.0.3"
1817 | parseurl "~1.3.3"
1818 | send "0.18.0"
1819 |
1820 | setprototypeof@1.2.0:
1821 | version "1.2.0"
1822 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
1823 | integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
1824 |
1825 | shallow-clone@^3.0.0:
1826 | version "3.0.1"
1827 | resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3"
1828 | integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==
1829 | dependencies:
1830 | kind-of "^6.0.2"
1831 |
1832 | shebang-command@^2.0.0:
1833 | version "2.0.0"
1834 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
1835 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
1836 | dependencies:
1837 | shebang-regex "^3.0.0"
1838 |
1839 | shebang-regex@^3.0.0:
1840 | version "3.0.0"
1841 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
1842 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
1843 |
1844 | shell-quote@^1.7.3:
1845 | version "1.8.0"
1846 | resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.0.tgz#20d078d0eaf71d54f43bd2ba14a1b5b9bfa5c8ba"
1847 | integrity sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ==
1848 |
1849 | side-channel@^1.0.4:
1850 | version "1.0.4"
1851 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
1852 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
1853 | dependencies:
1854 | call-bind "^1.0.0"
1855 | get-intrinsic "^1.0.2"
1856 | object-inspect "^1.9.0"
1857 |
1858 | simple-update-notifier@^1.0.7:
1859 | version "1.1.0"
1860 | resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz#67694c121de354af592b347cdba798463ed49c82"
1861 | integrity sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==
1862 | dependencies:
1863 | semver "~7.0.0"
1864 |
1865 | slash@^4.0.0:
1866 | version "4.0.0"
1867 | resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7"
1868 | integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==
1869 |
1870 | source-list-map@^2.0.1:
1871 | version "2.0.1"
1872 | resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
1873 | integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
1874 |
1875 | source-map-support@~0.5.20:
1876 | version "0.5.21"
1877 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
1878 | integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
1879 | dependencies:
1880 | buffer-from "^1.0.0"
1881 | source-map "^0.6.0"
1882 |
1883 | source-map@^0.6.0, source-map@^0.6.1:
1884 | version "0.6.1"
1885 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
1886 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
1887 |
1888 | spawn-command@^0.0.2-1:
1889 | version "0.0.2-1"
1890 | resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0"
1891 | integrity sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==
1892 |
1893 | statuses@2.0.1:
1894 | version "2.0.1"
1895 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
1896 | integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
1897 |
1898 | string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
1899 | version "4.2.3"
1900 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
1901 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
1902 | dependencies:
1903 | emoji-regex "^8.0.0"
1904 | is-fullwidth-code-point "^3.0.0"
1905 | strip-ansi "^6.0.1"
1906 |
1907 | strip-ansi@^6.0.0, strip-ansi@^6.0.1:
1908 | version "6.0.1"
1909 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
1910 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
1911 | dependencies:
1912 | ansi-regex "^5.0.1"
1913 |
1914 | supports-color@^5.3.0, supports-color@^5.5.0:
1915 | version "5.5.0"
1916 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
1917 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
1918 | dependencies:
1919 | has-flag "^3.0.0"
1920 |
1921 | supports-color@^7.1.0:
1922 | version "7.2.0"
1923 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
1924 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
1925 | dependencies:
1926 | has-flag "^4.0.0"
1927 |
1928 | supports-color@^8.0.0, supports-color@^8.1.0:
1929 | version "8.1.1"
1930 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
1931 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
1932 | dependencies:
1933 | has-flag "^4.0.0"
1934 |
1935 | supports-preserve-symlinks-flag@^1.0.0:
1936 | version "1.0.0"
1937 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
1938 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
1939 |
1940 | tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0:
1941 | version "2.2.1"
1942 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0"
1943 | integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
1944 |
1945 | terser-webpack-plugin@^5.1.3:
1946 | version "5.3.6"
1947 | resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz#5590aec31aa3c6f771ce1b1acca60639eab3195c"
1948 | integrity sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==
1949 | dependencies:
1950 | "@jridgewell/trace-mapping" "^0.3.14"
1951 | jest-worker "^27.4.5"
1952 | schema-utils "^3.1.1"
1953 | serialize-javascript "^6.0.0"
1954 | terser "^5.14.1"
1955 |
1956 | terser@^5.14.1:
1957 | version "5.16.3"
1958 | resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.3.tgz#3266017a9b682edfe019b8ecddd2abaae7b39c6b"
1959 | integrity sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==
1960 | dependencies:
1961 | "@jridgewell/source-map" "^0.3.2"
1962 | acorn "^8.5.0"
1963 | commander "^2.20.0"
1964 | source-map-support "~0.5.20"
1965 |
1966 | to-fast-properties@^2.0.0:
1967 | version "2.0.0"
1968 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
1969 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
1970 |
1971 | to-regex-range@^5.0.1:
1972 | version "5.0.1"
1973 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
1974 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
1975 | dependencies:
1976 | is-number "^7.0.0"
1977 |
1978 | toidentifier@1.0.1:
1979 | version "1.0.1"
1980 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
1981 | integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
1982 |
1983 | touch@^3.1.0:
1984 | version "3.1.0"
1985 | resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b"
1986 | integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==
1987 | dependencies:
1988 | nopt "~1.0.10"
1989 |
1990 | tree-kill@^1.2.2:
1991 | version "1.2.2"
1992 | resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc"
1993 | integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==
1994 |
1995 | tslib@^2.1.0:
1996 | version "2.5.0"
1997 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf"
1998 | integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==
1999 |
2000 | type-is@~1.6.18:
2001 | version "1.6.18"
2002 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
2003 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
2004 | dependencies:
2005 | media-typer "0.3.0"
2006 | mime-types "~2.1.24"
2007 |
2008 | undefsafe@^2.0.5:
2009 | version "2.0.5"
2010 | resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c"
2011 | integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==
2012 |
2013 | unpipe@1.0.0, unpipe@~1.0.0:
2014 | version "1.0.0"
2015 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
2016 | integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
2017 |
2018 | update-browserslist-db@^1.0.10:
2019 | version "1.0.10"
2020 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3"
2021 | integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==
2022 | dependencies:
2023 | escalade "^3.1.1"
2024 | picocolors "^1.0.0"
2025 |
2026 | uri-js@^4.2.2:
2027 | version "4.4.1"
2028 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
2029 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
2030 | dependencies:
2031 | punycode "^2.1.0"
2032 |
2033 | utils-merge@1.0.1:
2034 | version "1.0.1"
2035 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
2036 | integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
2037 |
2038 | vary@~1.1.2:
2039 | version "1.1.2"
2040 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
2041 | integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
2042 |
2043 | watchpack@^2.4.0:
2044 | version "2.4.0"
2045 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d"
2046 | integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==
2047 | dependencies:
2048 | glob-to-regexp "^0.4.1"
2049 | graceful-fs "^4.1.2"
2050 |
2051 | webpack-cli@^5.0.1:
2052 | version "5.0.1"
2053 | resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.0.1.tgz#95fc0495ac4065e9423a722dec9175560b6f2d9a"
2054 | integrity sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A==
2055 | dependencies:
2056 | "@discoveryjs/json-ext" "^0.5.0"
2057 | "@webpack-cli/configtest" "^2.0.1"
2058 | "@webpack-cli/info" "^2.0.1"
2059 | "@webpack-cli/serve" "^2.0.1"
2060 | colorette "^2.0.14"
2061 | commander "^9.4.1"
2062 | cross-spawn "^7.0.3"
2063 | envinfo "^7.7.3"
2064 | fastest-levenshtein "^1.0.12"
2065 | import-local "^3.0.2"
2066 | interpret "^3.1.1"
2067 | rechoir "^0.8.0"
2068 | webpack-merge "^5.7.3"
2069 |
2070 | webpack-manifest-plugin@^5.0.0:
2071 | version "5.0.0"
2072 | resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-5.0.0.tgz#084246c1f295d1b3222d36e955546433ca8df803"
2073 | integrity sha512-8RQfMAdc5Uw3QbCQ/CBV/AXqOR8mt03B6GJmRbhWopE8GzRfEpn+k0ZuWywxW+5QZsffhmFDY1J6ohqJo+eMuw==
2074 | dependencies:
2075 | tapable "^2.0.0"
2076 | webpack-sources "^2.2.0"
2077 |
2078 | webpack-merge@^5.7.3:
2079 | version "5.8.0"
2080 | resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61"
2081 | integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==
2082 | dependencies:
2083 | clone-deep "^4.0.1"
2084 | wildcard "^2.0.0"
2085 |
2086 | webpack-node-externals@^3.0.0:
2087 | version "3.0.0"
2088 | resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz#1a3407c158d547a9feb4229a9e3385b7b60c9917"
2089 | integrity sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==
2090 |
2091 | webpack-sources@^2.2.0:
2092 | version "2.3.1"
2093 | resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.3.1.tgz#570de0af163949fe272233c2cefe1b56f74511fd"
2094 | integrity sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==
2095 | dependencies:
2096 | source-list-map "^2.0.1"
2097 | source-map "^0.6.1"
2098 |
2099 | webpack-sources@^3.2.3:
2100 | version "3.2.3"
2101 | resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
2102 | integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
2103 |
2104 | webpack@^5.75.0:
2105 | version "5.75.0"
2106 | resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.75.0.tgz#1e440468647b2505860e94c9ff3e44d5b582c152"
2107 | integrity sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==
2108 | dependencies:
2109 | "@types/eslint-scope" "^3.7.3"
2110 | "@types/estree" "^0.0.51"
2111 | "@webassemblyjs/ast" "1.11.1"
2112 | "@webassemblyjs/wasm-edit" "1.11.1"
2113 | "@webassemblyjs/wasm-parser" "1.11.1"
2114 | acorn "^8.7.1"
2115 | acorn-import-assertions "^1.7.6"
2116 | browserslist "^4.14.5"
2117 | chrome-trace-event "^1.0.2"
2118 | enhanced-resolve "^5.10.0"
2119 | es-module-lexer "^0.9.0"
2120 | eslint-scope "5.1.1"
2121 | events "^3.2.0"
2122 | glob-to-regexp "^0.4.1"
2123 | graceful-fs "^4.2.9"
2124 | json-parse-even-better-errors "^2.3.1"
2125 | loader-runner "^4.2.0"
2126 | mime-types "^2.1.27"
2127 | neo-async "^2.6.2"
2128 | schema-utils "^3.1.0"
2129 | tapable "^2.1.1"
2130 | terser-webpack-plugin "^5.1.3"
2131 | watchpack "^2.4.0"
2132 | webpack-sources "^3.2.3"
2133 |
2134 | which@^2.0.1:
2135 | version "2.0.2"
2136 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
2137 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
2138 | dependencies:
2139 | isexe "^2.0.0"
2140 |
2141 | wildcard@^2.0.0:
2142 | version "2.0.0"
2143 | resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec"
2144 | integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==
2145 |
2146 | wrap-ansi@^7.0.0:
2147 | version "7.0.0"
2148 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
2149 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
2150 | dependencies:
2151 | ansi-styles "^4.0.0"
2152 | string-width "^4.1.0"
2153 | strip-ansi "^6.0.0"
2154 |
2155 | wrappy@1:
2156 | version "1.0.2"
2157 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
2158 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
2159 |
2160 | y18n@^5.0.5:
2161 | version "5.0.8"
2162 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
2163 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
2164 |
2165 | yallist@^3.0.2:
2166 | version "3.1.1"
2167 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
2168 | integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
2169 |
2170 | yargs-parser@^21.1.1:
2171 | version "21.1.1"
2172 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
2173 | integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
2174 |
2175 | yargs@^17.3.1:
2176 | version "17.6.2"
2177 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541"
2178 | integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==
2179 | dependencies:
2180 | cliui "^8.0.1"
2181 | escalade "^3.1.1"
2182 | get-caller-file "^2.0.5"
2183 | require-directory "^2.1.1"
2184 | string-width "^4.2.3"
2185 | y18n "^5.0.5"
2186 | yargs-parser "^21.1.1"
2187 |
--------------------------------------------------------------------------------