├── backend ├── src │ ├── api │ │ ├── .gitkeep │ │ └── article │ │ │ ├── routes │ │ │ └── article.js │ │ │ ├── services │ │ │ └── article.js │ │ │ ├── controllers │ │ │ └── article.js │ │ │ └── content-types │ │ │ └── article │ │ │ └── schema.json │ ├── extensions │ │ └── .gitkeep │ ├── admin │ │ ├── webpack.config.example.js │ │ └── app.example.js │ └── index.js ├── public │ ├── uploads │ │ └── .gitkeep │ └── robots.txt ├── database │ └── migrations │ │ └── .gitkeep ├── .eslintignore ├── favicon.ico ├── config │ ├── api.js │ ├── admin.js │ ├── server.js │ ├── middlewares.js │ └── database.js ├── .editorconfig ├── .eslintrc ├── package.json ├── .gitignore └── README.md ├── frontend ├── .eslintrc.json ├── public │ ├── favicon.ico │ └── vercel.svg ├── next.config.js ├── next-env.d.ts ├── pages │ ├── _app.tsx │ ├── api │ │ └── hello.ts │ └── index.tsx ├── .gitignore ├── styles │ ├── globals.css │ └── Home.module.css ├── package.json ├── tsconfig.json ├── README.md └── yarn.lock ├── .dockerignore ├── docker ├── frontend │ ├── development │ │ └── Dockerfile │ └── production │ │ └── Dockerfile └── backend │ ├── development │ └── Dockerfile │ └── production │ └── Dockerfile ├── .env.example ├── conf └── nginx │ ├── fastcgi.conf │ ├── nginx.conf │ ├── default.conf │ └── mime.types ├── LICENCE.md ├── docker-compose.yml ├── .gitignore └── README.md /backend/src/api/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/public/uploads/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/src/extensions/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/database/migrations/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/.eslintignore: -------------------------------------------------------------------------------- 1 | .cache 2 | build 3 | **/node_modules/** 4 | -------------------------------------------------------------------------------- /frontend/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /backend/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/buraste/strapi-nextjs-docker-boilerplate/HEAD/backend/favicon.ico -------------------------------------------------------------------------------- /frontend/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/buraste/strapi-nextjs-docker-boilerplate/HEAD/frontend/public/favicon.ico -------------------------------------------------------------------------------- /backend/config/api.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | rest: { 3 | defaultLimit: 25, 4 | maxLimit: 100, 5 | withCount: true, 6 | }, 7 | }; 8 | -------------------------------------------------------------------------------- /backend/public/robots.txt: -------------------------------------------------------------------------------- 1 | # To prevent search engines from seeing the site altogether, uncomment the next two lines: 2 | # User-Agent: * 3 | # Disallow: / 4 | -------------------------------------------------------------------------------- /frontend/next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | reactStrictMode: true, 4 | swcMinify: true, 5 | } 6 | 7 | module.exports = nextConfig 8 | -------------------------------------------------------------------------------- /backend/config/admin.js: -------------------------------------------------------------------------------- 1 | module.exports = ({ env }) => ({ 2 | auth: { 3 | secret: env('ADMIN_JWT_SECRET'), 4 | }, 5 | apiToken: { 6 | salt: env('API_TOKEN_SALT'), 7 | }, 8 | url: "/admin", 9 | }); 10 | -------------------------------------------------------------------------------- /backend/config/server.js: -------------------------------------------------------------------------------- 1 | module.exports = ({ env }) => ({ 2 | host: env('HOST', '0.0.0.0'), 3 | port: env.int('PORT', 1337), 4 | app: { 5 | keys: env.array('APP_KEYS'), 6 | }, 7 | url: 'http://localhost/strapi', 8 | }); 9 | -------------------------------------------------------------------------------- /frontend/next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /frontend/pages/_app.tsx: -------------------------------------------------------------------------------- 1 | import '../styles/globals.css' 2 | import type { AppProps } from 'next/app' 3 | 4 | function MyApp({ Component, pageProps }: AppProps) { 5 | return 6 | } 7 | 8 | export default MyApp 9 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | .tmp/ 2 | .cache/ 3 | .git/ 4 | build/ 5 | node_modules/ 6 | node_modules 7 | *backend/node_modules* 8 | .gitignore 9 | .next/ 10 | .dockerignore 11 | Dockerfile 12 | docker-compose.yml 13 | nginx/ 14 | node-modules 15 | node-modules/ -------------------------------------------------------------------------------- /backend/src/api/article/routes/article.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * article router. 5 | */ 6 | 7 | const { createCoreRouter } = require('@strapi/strapi').factories; 8 | 9 | module.exports = createCoreRouter('api::article.article'); 10 | -------------------------------------------------------------------------------- /backend/src/api/article/services/article.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * article service. 5 | */ 6 | 7 | const { createCoreService } = require('@strapi/strapi').factories; 8 | 9 | module.exports = createCoreService('api::article.article'); 10 | -------------------------------------------------------------------------------- /backend/src/api/article/controllers/article.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /** 4 | * article controller 5 | */ 6 | 7 | const { createCoreController } = require('@strapi/strapi').factories; 8 | 9 | module.exports = createCoreController('api::article.article'); 10 | -------------------------------------------------------------------------------- /backend/config/middlewares.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | 'strapi::errors', 3 | 'strapi::security', 4 | 'strapi::cors', 5 | 'strapi::poweredBy', 6 | 'strapi::logger', 7 | 'strapi::query', 8 | 'strapi::body', 9 | 'strapi::session', 10 | 'strapi::favicon', 11 | 'strapi::public', 12 | ]; 13 | -------------------------------------------------------------------------------- /backend/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [{package.json,*.yml}] 12 | indent_style = space 13 | indent_size = 2 14 | 15 | [*.md] 16 | trim_trailing_whitespace = false 17 | -------------------------------------------------------------------------------- /backend/src/admin/webpack.config.example.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | /* eslint-disable no-unused-vars */ 4 | module.exports = (config, webpack) => { 5 | // Note: we provide webpack above so you should not `require` it 6 | // Perform customizations to webpack config 7 | // Important: return the modified config 8 | return config; 9 | }; 10 | -------------------------------------------------------------------------------- /frontend/pages/api/hello.ts: -------------------------------------------------------------------------------- 1 | // Next.js API route support: https://nextjs.org/docs/api-routes/introduction 2 | import type { NextApiRequest, NextApiResponse } from 'next' 3 | 4 | type Data = { 5 | name: string 6 | } 7 | 8 | export default function handler( 9 | req: NextApiRequest, 10 | res: NextApiResponse 11 | ) { 12 | res.status(200).json({ name: 'John Doe' }) 13 | } 14 | -------------------------------------------------------------------------------- /backend/config/database.js: -------------------------------------------------------------------------------- 1 | module.exports = ({ env }) => ({ 2 | connection: { 3 | client: env("DATABASE_CLIENT", "postgres"), 4 | 5 | connection: { 6 | host: env("DATABASE_HOST", "127.0.0.1"), 7 | port: env.int("DATABASE_PORT", 5432), 8 | database: env("DATABASE_NAME", "strapi"), 9 | user: env("DATABASE_USERNAME", "strapi"), 10 | password: env("DATABASE_PASSWORD", "strapi"), 11 | }, 12 | debug: false, 13 | }, 14 | }); 15 | -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | .pnpm-debug.log* 27 | 28 | # local env files 29 | .env*.local 30 | 31 | # vercel 32 | .vercel 33 | 34 | # typescript 35 | *.tsbuildinfo 36 | -------------------------------------------------------------------------------- /frontend/styles/globals.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | padding: 0; 4 | margin: 0; 5 | font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, 6 | Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; 7 | } 8 | 9 | a { 10 | color: inherit; 11 | text-decoration: none; 12 | } 13 | 14 | * { 15 | box-sizing: border-box; 16 | } 17 | 18 | @media (prefers-color-scheme: dark) { 19 | html { 20 | color-scheme: dark; 21 | } 22 | body { 23 | color: white; 24 | background: black; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /backend/src/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = { 4 | /** 5 | * An asynchronous register function that runs before 6 | * your application is initialized. 7 | * 8 | * This gives you an opportunity to extend code. 9 | */ 10 | register(/*{ strapi }*/) {}, 11 | 12 | /** 13 | * An asynchronous bootstrap function that runs before 14 | * your application gets started. 15 | * 16 | * This gives you an opportunity to set up your data model, 17 | * run jobs, or perform some special logic. 18 | */ 19 | bootstrap(/*{ strapi }*/) {}, 20 | }; 21 | -------------------------------------------------------------------------------- /frontend/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "frontend", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint" 10 | }, 11 | "dependencies": { 12 | "next": "12.2.3", 13 | "react": "18.2.0", 14 | "react-dom": "18.2.0" 15 | }, 16 | "devDependencies": { 17 | "@types/node": "18.0.6", 18 | "@types/react": "18.0.15", 19 | "@types/react-dom": "18.0.6", 20 | "eslint": "8.20.0", 21 | "eslint-config-next": "12.2.3", 22 | "typescript": "4.7.4" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /frontend/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": ["dom", "dom.iterable", "esnext"], 5 | "allowJs": true, 6 | "skipLibCheck": true, 7 | "strict": true, 8 | "forceConsistentCasingInFileNames": true, 9 | "noEmit": true, 10 | "esModuleInterop": true, 11 | "module": "esnext", 12 | "moduleResolution": "node", 13 | "resolveJsonModule": true, 14 | "isolatedModules": true, 15 | "jsx": "preserve", 16 | "incremental": true 17 | }, 18 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], 19 | "exclude": ["node_modules"] 20 | } 21 | -------------------------------------------------------------------------------- /backend/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "parser": "babel-eslint", 3 | "extends": "eslint:recommended", 4 | "env": { 5 | "commonjs": true, 6 | "es6": true, 7 | "node": true, 8 | "browser": false 9 | }, 10 | "parserOptions": { 11 | "ecmaFeatures": { 12 | "experimentalObjectRestSpread": true, 13 | "jsx": false 14 | }, 15 | "sourceType": "module" 16 | }, 17 | "globals": { 18 | "strapi": true 19 | }, 20 | "rules": { 21 | "indent": ["error", 2, { "SwitchCase": 1 }], 22 | "linebreak-style": ["error", "unix"], 23 | "no-console": 0, 24 | "quotes": ["error", "single"], 25 | "semi": ["error", "always"] 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /backend/src/admin/app.example.js: -------------------------------------------------------------------------------- 1 | export default { 2 | config: { 3 | locales: [ 4 | // 'ar', 5 | // 'fr', 6 | // 'cs', 7 | // 'de', 8 | // 'dk', 9 | // 'es', 10 | // 'he', 11 | // 'id', 12 | // 'it', 13 | // 'ja', 14 | // 'ko', 15 | // 'ms', 16 | // 'nl', 17 | // 'no', 18 | // 'pl', 19 | // 'pt-BR', 20 | // 'pt', 21 | // 'ru', 22 | // 'sk', 23 | // 'sv', 24 | // 'th', 25 | // 'tr', 26 | // 'uk', 27 | // 'vi', 28 | // 'zh-Hans', 29 | // 'zh', 30 | ], 31 | }, 32 | bootstrap(app) { 33 | console.log(app); 34 | }, 35 | }; 36 | -------------------------------------------------------------------------------- /docker/frontend/development/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:alpine 2 | 3 | ENV PORT 3005 4 | 5 | # where our Next.js app will live 6 | RUN mkdir -p /app 7 | 8 | # Set /app as the working directory 9 | WORKDIR /app 10 | 11 | # Copy package.json and package-lock.json 12 | # to the /app working directory 13 | COPY ./frontend/package*.json /app/ 14 | COPY ./.env /app/ 15 | 16 | # Install dependencies in /app 17 | RUN yarn config set network-timeout 600000 -g && yarn install 18 | 19 | # Copy the rest of our Next.js folder into /app 20 | COPY ./frontend /app 21 | 22 | # Ensure port 3005 is accessible to our system 23 | EXPOSE 3005 24 | 25 | # Run yarn dev, as we would via the command line 26 | CMD [ "yarn", "dev" ] -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | # Project Constants 2 | PROJECT_SLUG=strapi_boilerplate 3 | 4 | # Node Settings 5 | ENVIRONMENT=development 6 | 7 | # Timezone Settings 8 | TIMEZONE='Europe/Istanbul' 9 | 10 | # Strapi Credentials 11 | APP_KEYS=hH0ezhndaLKxnHF3tQJDyQ==,It8v7Eb6J9Ye4eOzKTw8IQ==,hSKODqYv7G+JIpQrv8Szdw==,NXvHtNpe7fdeIvDe7I/V5Q== 12 | API_TOKEN_SALT=IGG4b1ZmURiReLHMzm6VOg== 13 | ADMIN_JWT_SECRET=/COh4WHuRtv79sx88ZTGpw== 14 | JWT_SECRET=fkpu6rcWuNdyVaYmeA8PLg== 15 | 16 | # Frontend Settings: 17 | NEXT_PUBLIC_GOOGLE_ANALYTICS=G-xxxxxxxxx 18 | NEXT_PUBLIC_FRONTEND_URL= 19 | 20 | # Postgres Credentials 21 | DATABASE_HOST=localhost 22 | DATABASE_PORT=5432 23 | DATABASE_NAME=strapi 24 | DATABASE_USERNAME=strapi 25 | DATABASE_PASSWORD=strapi 26 | DATABASE_CLIENT=postgres 27 | -------------------------------------------------------------------------------- /backend/src/api/article/content-types/article/schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "kind": "collectionType", 3 | "collectionName": "articles", 4 | "info": { 5 | "singularName": "article", 6 | "pluralName": "articles", 7 | "displayName": "Article", 8 | "description": "" 9 | }, 10 | "options": { 11 | "draftAndPublish": true 12 | }, 13 | "pluginOptions": {}, 14 | "attributes": { 15 | "title": { 16 | "type": "string" 17 | }, 18 | "body": { 19 | "type": "richtext" 20 | }, 21 | "cover": { 22 | "type": "media", 23 | "multiple": false, 24 | "required": false, 25 | "allowedTypes": [ 26 | "images", 27 | "files", 28 | "videos", 29 | "audios" 30 | ] 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /backend/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "backend", 3 | "private": true, 4 | "version": "0.1.0", 5 | "description": "A Strapi application", 6 | "scripts": { 7 | "develop": "strapi develop", 8 | "start": "strapi start", 9 | "build": "strapi build", 10 | "strapi": "strapi" 11 | }, 12 | "devDependencies": {}, 13 | "dependencies": { 14 | "@strapi/strapi": "4.2.3", 15 | "@strapi/plugin-users-permissions": "4.2.3", 16 | "@strapi/plugin-i18n": "4.2.3", 17 | "pg": "8.5.1" 18 | }, 19 | "author": { 20 | "name": "A Strapi developer" 21 | }, 22 | "strapi": { 23 | "uuid": "34dd854b-3dbe-48de-a86f-8caee21b8019" 24 | }, 25 | "engines": { 26 | "node": ">=12.x.x <=16.x.x", 27 | "npm": ">=6.0.0" 28 | }, 29 | "license": "MIT" 30 | } 31 | -------------------------------------------------------------------------------- /docker/backend/development/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:16 2 | # Installing libvips-dev for sharp Compatability 3 | RUN apt-get update && apt-get install libvips-dev vim -y 4 | 5 | # where our Strapi app will live 6 | RUN mkdir -p /app 7 | 8 | # Set /app as the working directory 9 | WORKDIR /app 10 | 11 | # Copy package.json and package-lock.json 12 | # to the /app working directory 13 | COPY ./backend/package*.json ./backend/yarn.lock /app/ 14 | COPY ./.env /app/ 15 | 16 | ENV PATH /app/node_modules/.bin:$PATH 17 | 18 | # Install dependencies in /app 19 | RUN yarn config set network-timeout 600000 -g && yarn install 20 | 21 | # Copy the rest of our Strapi folder into /app 22 | COPY ./backend /app 23 | 24 | EXPOSE 1337 25 | 26 | # Build Strapi admin 27 | RUN yarn build 28 | 29 | # Run yarn dev, as we would via the command line 30 | CMD ["yarn", "develop"] -------------------------------------------------------------------------------- /docker/backend/production/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:16 2 | # Installing libvips-dev for sharp Compatability 3 | RUN apt-get update && apt-get install libvips-dev -y 4 | 5 | # where our Strapi app will live 6 | RUN mkdir -p /app 7 | 8 | # Set /app as the working directory 9 | WORKDIR /app 10 | 11 | # Copy package.json and package-lock.json 12 | # to the /app working directory 13 | COPY ./backend/package*.json ./backend/yarn.lock /app/ 14 | COPY ./.env /app/ 15 | 16 | ENV PATH /app/node_modules/.bin:$PATH 17 | 18 | # Install dependencies in /app 19 | RUN yarn config set network-timeout 600000 -g && yarn install 20 | 21 | # Copy the rest of our Strapi folder into /app 22 | COPY ./backend /app 23 | 24 | EXPOSE 1337 25 | 26 | # For production build 27 | ENV NODE_ENV=${NODE_ENV} 28 | 29 | # Build Strapi admin 30 | RUN yarn build 31 | 32 | # Run yarn dev, as we would via the command line 33 | CMD ["yarn", "start"] -------------------------------------------------------------------------------- /conf/nginx/fastcgi.conf: -------------------------------------------------------------------------------- 1 | fastcgi_param CONTENT_LENGTH $content_length; 2 | fastcgi_param CONTENT_TYPE $content_type; 3 | fastcgi_param DOCUMENT_ROOT $document_root; 4 | fastcgi_param DOCUMENT_URI $document_uri; 5 | fastcgi_param GATEWAY_INTERFACE CGI/1.1; 6 | fastcgi_param QUERY_STRING $query_string; 7 | fastcgi_param REDIRECT_STATUS 200; 8 | fastcgi_param REMOTE_ADDR $remote_addr; 9 | fastcgi_param REMOTE_PORT $remote_port; 10 | fastcgi_param REQUEST_METHOD $request_method; 11 | fastcgi_param REQUEST_URI $request_uri; 12 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 13 | fastcgi_param SCRIPT_NAME $fastcgi_script_name; 14 | fastcgi_param SERVER_ADDR $server_addr; 15 | fastcgi_param SERVER_NAME $server_name; 16 | fastcgi_param SERVER_PORT $server_port; 17 | fastcgi_param SERVER_PROTOCOL $server_protocol; 18 | fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; 19 | 20 | fastcgi_index index.php; -------------------------------------------------------------------------------- /docker/frontend/production/Dockerfile: -------------------------------------------------------------------------------- 1 | # Dockerfile 2 | # Use node alpine as it's a small node image 3 | FROM node:alpine 4 | ARG NODE_ENV 5 | 6 | ENV PORT 3005 7 | 8 | # Create the directory on the node image 9 | # where our Next.js app will live 10 | RUN mkdir -p /app 11 | 12 | # Set /app as the working directory 13 | WORKDIR /app 14 | 15 | # Copy package.json and package-lock.json 16 | # to the /app working directory 17 | COPY ./frontend/package*.json /app/ 18 | COPY ./.env /app/ 19 | 20 | # Install dependencies in /app 21 | RUN yarn config set network-timeout 600000 -g && yarn install 22 | 23 | # Copy the rest of our Next.js folder into /app 24 | COPY ./frontend /app 25 | 26 | # For production build 27 | ENV NODE_ENV=${NODE_ENV} 28 | 29 | # Build app 30 | RUN yarn build 31 | 32 | # Ensure port 3005 is accessible to our system 33 | EXPOSE 3005 34 | 35 | # Run yarn dev, as we would via the command line 36 | CMD [ "yarn", "start" ] -------------------------------------------------------------------------------- /conf/nginx/nginx.conf: -------------------------------------------------------------------------------- 1 | worker_processes 1; 2 | user root; 3 | 4 | error_log /dev/stdout info; 5 | 6 | events { 7 | worker_connections 1024; 8 | } 9 | 10 | http { 11 | ############# NGINX conf 12 | include /etc/nginx/mime.types; 13 | include /etc/nginx/fastcgi.conf; 14 | proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=STATIC:10m inactive=7d use_temp_path=off; 15 | 16 | error_log /dev/stdout info; 17 | 18 | sendfile on; 19 | tcp_nopush on; 20 | server_names_hash_bucket_size 128; 21 | 22 | ############## Let NGINX see client real IPs 23 | real_ip_header X-Forwarded-For; 24 | 25 | ############## NGINX security 26 | client_body_buffer_size 10K; 27 | client_body_timeout 12; 28 | client_header_buffer_size 1k; 29 | client_header_timeout 12; 30 | client_max_body_size 8M; 31 | keepalive_timeout 15; 32 | large_client_header_buffers 4 8k; 33 | proxy_hide_header X-Powered-By; 34 | send_timeout 10; 35 | server_tokens off; 36 | 37 | ############# Custom conf 38 | include /etc/nginx/default.conf; 39 | } -------------------------------------------------------------------------------- /frontend/public/vercel.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /LICENCE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) [year] [fullname] 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /conf/nginx/default.conf: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80; 3 | server_name localhost; 4 | server_tokens off; 5 | client_max_body_size 20M; 6 | 7 | location / { 8 | proxy_set_header X-Forwarded-Proto https; 9 | proxy_set_header X-Url-Scheme $scheme; 10 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 11 | proxy_set_header Host $http_host; 12 | proxy_redirect off; 13 | proxy_pass http://frontend:3005; 14 | } 15 | 16 | location /_next/webpack-hmr { 17 | proxy_pass http://frontend:3005/_next/webpack-hmr; 18 | proxy_http_version 1.1; 19 | proxy_set_header Upgrade $http_upgrade; 20 | proxy_set_header Connection "upgrade"; 21 | } 22 | 23 | location /strapi/ { 24 | rewrite ^/strapi/?(.*)$ /$1 break; 25 | proxy_pass http://backend:1337; 26 | proxy_http_version 1.1; 27 | proxy_set_header X-Forwarded-Host $host; 28 | proxy_set_header X-Forwarded-Server $host; 29 | proxy_set_header X-Real-IP $remote_addr; 30 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 31 | proxy_set_header X-Forwarded-Proto $scheme; 32 | proxy_set_header Host $http_host; 33 | proxy_set_header Upgrade $http_upgrade; 34 | proxy_set_header Connection "Upgrade"; 35 | proxy_pass_request_headers on; 36 | } 37 | 38 | location /strapi/_health { 39 | rewrite ^/strapi/_health/?(.*)$ /$1 break; 40 | proxy_pass http://backend:1337; 41 | proxy_http_version 1.1; 42 | proxy_set_header Upgrade $http_upgrade; 43 | proxy_set_header Connection "upgrade"; 44 | } 45 | } -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- 1 | This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). 2 | 3 | ## Getting Started 4 | 5 | First, run the development server: 6 | 7 | ```bash 8 | npm run dev 9 | # or 10 | yarn dev 11 | ``` 12 | 13 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. 14 | 15 | You can start editing the page by modifying `pages/index.tsx`. The page auto-updates as you edit the file. 16 | 17 | [API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`. 18 | 19 | The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. 20 | 21 | ## Learn More 22 | 23 | To learn more about Next.js, take a look at the following resources: 24 | 25 | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. 26 | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. 27 | 28 | You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! 29 | 30 | ## Deploy on Vercel 31 | 32 | The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. 33 | 34 | Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. 35 | -------------------------------------------------------------------------------- /backend/.gitignore: -------------------------------------------------------------------------------- 1 | ############################ 2 | # OS X 3 | ############################ 4 | 5 | .DS_Store 6 | .AppleDouble 7 | .LSOverride 8 | Icon 9 | .Spotlight-V100 10 | .Trashes 11 | ._* 12 | 13 | 14 | ############################ 15 | # Linux 16 | ############################ 17 | 18 | *~ 19 | 20 | 21 | ############################ 22 | # Windows 23 | ############################ 24 | 25 | Thumbs.db 26 | ehthumbs.db 27 | Desktop.ini 28 | $RECYCLE.BIN/ 29 | *.cab 30 | *.msi 31 | *.msm 32 | *.msp 33 | 34 | 35 | ############################ 36 | # Packages 37 | ############################ 38 | 39 | *.7z 40 | *.csv 41 | *.dat 42 | *.dmg 43 | *.gz 44 | *.iso 45 | *.jar 46 | *.rar 47 | *.tar 48 | *.zip 49 | *.com 50 | *.class 51 | *.dll 52 | *.exe 53 | *.o 54 | *.seed 55 | *.so 56 | *.swo 57 | *.swp 58 | *.swn 59 | *.swm 60 | *.out 61 | *.pid 62 | 63 | 64 | ############################ 65 | # Logs and databases 66 | ############################ 67 | 68 | .tmp 69 | *.log 70 | *.sql 71 | *.sqlite 72 | *.sqlite3 73 | 74 | 75 | ############################ 76 | # Misc. 77 | ############################ 78 | 79 | *# 80 | ssl 81 | .idea 82 | nbproject 83 | public/uploads/* 84 | !public/uploads/.gitkeep 85 | 86 | ############################ 87 | # Node.js 88 | ############################ 89 | 90 | lib-cov 91 | lcov.info 92 | pids 93 | logs 94 | results 95 | node_modules 96 | .node_history 97 | 98 | ############################ 99 | # Tests 100 | ############################ 101 | 102 | testApp 103 | coverage 104 | 105 | ############################ 106 | # Strapi 107 | ############################ 108 | 109 | .env 110 | license.txt 111 | exports 112 | *.cache 113 | build 114 | .strapi-updater.json 115 | -------------------------------------------------------------------------------- /backend/README.md: -------------------------------------------------------------------------------- 1 | # 🚀 Getting started with Strapi 2 | 3 | Strapi comes with a full featured [Command Line Interface](https://docs.strapi.io/developer-docs/latest/developer-resources/cli/CLI.html) (CLI) which lets you scaffold and manage your project in seconds. 4 | 5 | ### `develop` 6 | 7 | Start your Strapi application with autoReload enabled. [Learn more](https://docs.strapi.io/developer-docs/latest/developer-resources/cli/CLI.html#strapi-develop) 8 | 9 | ``` 10 | npm run develop 11 | # or 12 | yarn develop 13 | ``` 14 | 15 | ### `start` 16 | 17 | Start your Strapi application with autoReload disabled. [Learn more](https://docs.strapi.io/developer-docs/latest/developer-resources/cli/CLI.html#strapi-start) 18 | 19 | ``` 20 | npm run start 21 | # or 22 | yarn start 23 | ``` 24 | 25 | ### `build` 26 | 27 | Build your admin panel. [Learn more](https://docs.strapi.io/developer-docs/latest/developer-resources/cli/CLI.html#strapi-build) 28 | 29 | ``` 30 | npm run build 31 | # or 32 | yarn build 33 | ``` 34 | 35 | ## ⚙️ Deployment 36 | 37 | Strapi gives you many possible deployment options for your project. Find the one that suits you on the [deployment section of the documentation](https://docs.strapi.io/developer-docs/latest/setup-deployment-guides/deployment.html). 38 | 39 | ## 📚 Learn more 40 | 41 | - [Resource center](https://strapi.io/resource-center) - Strapi resource center. 42 | - [Strapi documentation](https://docs.strapi.io) - Official Strapi documentation. 43 | - [Strapi tutorials](https://strapi.io/tutorials) - List of tutorials made by the core team and the community. 44 | - [Strapi blog](https://docs.strapi.io) - Official Strapi blog containing articles made by the Strapi team and the community. 45 | - [Changelog](https://strapi.io/changelog) - Find out about the Strapi product updates, new features and general improvements. 46 | 47 | Feel free to check out the [Strapi GitHub repository](https://github.com/strapi/strapi). Your feedback and contributions are welcome! 48 | 49 | ## ✨ Community 50 | 51 | - [Discord](https://discord.strapi.io) - Come chat with the Strapi community including the core team. 52 | - [Forum](https://forum.strapi.io/) - Place to discuss, ask questions and find answers, show your Strapi project and get feedback or just talk with other Community members. 53 | - [Awesome Strapi](https://github.com/strapi/awesome-strapi) - A curated list of awesome things related to Strapi. 54 | 55 | --- 56 | 57 | 🤫 Psst! [Strapi is hiring](https://strapi.io/careers). 58 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | nginx: 4 | image: nginx:latest 5 | restart: unless-stopped 6 | container_name: ${PROJECT_SLUG}_nginx 7 | ports: 8 | - 80:80 9 | - 443:443 10 | networks: 11 | - internal 12 | volumes: 13 | - ./backend/public:/app/backend/public 14 | - ./frontend/public:/app/frontend/public 15 | - ./conf/nginx/:/etc/nginx:ro 16 | - ./logs/nginx/:/var/log/nginx 17 | - /etc/localtime:/etc/localtime:ro 18 | depends_on: 19 | - frontend 20 | - backend 21 | 22 | frontend: 23 | container_name: ${PROJECT_SLUG}_frontend 24 | build: 25 | context: . 26 | dockerfile: ./docker/frontend/${ENVIRONMENT}/Dockerfile 27 | args: 28 | - NODE_ENV=${ENVIRONMENT} 29 | restart: unless-stopped 30 | networks: 31 | - internal 32 | volumes: 33 | - ./frontend:/app 34 | - /app/node_modules 35 | - /app/.next 36 | - ./logs/frontend:/root/.npm/_logs 37 | env_file: 38 | - ./.env 39 | 40 | backend: 41 | container_name: ${PROJECT_SLUG}_backend 42 | build: 43 | context: . 44 | dockerfile: ./docker/backend/${ENVIRONMENT}/Dockerfile 45 | args: 46 | - NODE_ENV=${ENVIRONMENT} 47 | restart: unless-stopped 48 | env_file: .env 49 | environment: 50 | DATABASE_CLIENT: ${DATABASE_CLIENT} 51 | DATABASE_HOST: postgres 52 | DATABASE_NAME: ${DATABASE_NAME} 53 | DATABASE_USERNAME: ${DATABASE_USERNAME} 54 | DATABASE_PORT: ${DATABASE_PORT} 55 | JWT_SECRET: ${JWT_SECRET} 56 | ADMIN_JWT_SECRET: ${ADMIN_JWT_SECRET} 57 | DATABASE_PASSWORD: ${DATABASE_PASSWORD} 58 | NODE_ENV: ${ENVIRONMENT} 59 | volumes: 60 | - ./backend:/app 61 | - /app/node_modules 62 | - ./.env:/app/.env 63 | networks: 64 | - internal 65 | depends_on: 66 | - postgres 67 | 68 | postgres: 69 | image: postgres:12.0-alpine 70 | container_name: ${PROJECT_SLUG}_postgres 71 | platform: linux/amd64 72 | restart: unless-stopped 73 | env_file: .env 74 | environment: 75 | POSTGRES_USER: ${DATABASE_USERNAME} 76 | POSTGRES_PASSWORD: ${DATABASE_PASSWORD} 77 | POSTGRES_DB: ${DATABASE_NAME} 78 | volumes: 79 | - postgres-data:/var/lib/postgresql/data/ 80 | networks: 81 | - internal 82 | 83 | volumes: 84 | postgres-data: 85 | 86 | networks: 87 | internal: 88 | name: ${PROJECT_SLUG}_internal 89 | driver: bridge 90 | -------------------------------------------------------------------------------- /frontend/pages/index.tsx: -------------------------------------------------------------------------------- 1 | import type { NextPage } from 'next' 2 | import Head from 'next/head' 3 | import Image from 'next/image' 4 | import styles from '../styles/Home.module.css' 5 | 6 | const Home: NextPage = () => { 7 | return ( 8 |
9 | 10 | Create Next App 11 | 12 | 13 | 14 | 15 |
16 |

17 | Welcome to Next.js! 18 |

19 | 20 |

21 | Get started by editing{' '} 22 | pages/index.tsx 23 |

24 | 25 | 54 |
55 | 56 | 68 |
69 | ) 70 | } 71 | 72 | export default Home 73 | -------------------------------------------------------------------------------- /frontend/styles/Home.module.css: -------------------------------------------------------------------------------- 1 | .container { 2 | padding: 0 2rem; 3 | } 4 | 5 | .main { 6 | min-height: 100vh; 7 | padding: 4rem 0; 8 | flex: 1; 9 | display: flex; 10 | flex-direction: column; 11 | justify-content: center; 12 | align-items: center; 13 | } 14 | 15 | .footer { 16 | display: flex; 17 | flex: 1; 18 | padding: 2rem 0; 19 | border-top: 1px solid #eaeaea; 20 | justify-content: center; 21 | align-items: center; 22 | } 23 | 24 | .footer a { 25 | display: flex; 26 | justify-content: center; 27 | align-items: center; 28 | flex-grow: 1; 29 | } 30 | 31 | .title a { 32 | color: #0070f3; 33 | text-decoration: none; 34 | } 35 | 36 | .title a:hover, 37 | .title a:focus, 38 | .title a:active { 39 | text-decoration: underline; 40 | } 41 | 42 | .title { 43 | margin: 0; 44 | line-height: 1.15; 45 | font-size: 4rem; 46 | } 47 | 48 | .title, 49 | .description { 50 | text-align: center; 51 | } 52 | 53 | .description { 54 | margin: 4rem 0; 55 | line-height: 1.5; 56 | font-size: 1.5rem; 57 | } 58 | 59 | .code { 60 | background: #fafafa; 61 | border-radius: 5px; 62 | padding: 0.75rem; 63 | font-size: 1.1rem; 64 | font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, 65 | Bitstream Vera Sans Mono, Courier New, monospace; 66 | } 67 | 68 | .grid { 69 | display: flex; 70 | align-items: center; 71 | justify-content: center; 72 | flex-wrap: wrap; 73 | max-width: 800px; 74 | } 75 | 76 | .card { 77 | margin: 1rem; 78 | padding: 1.5rem; 79 | text-align: left; 80 | color: inherit; 81 | text-decoration: none; 82 | border: 1px solid #eaeaea; 83 | border-radius: 10px; 84 | transition: color 0.15s ease, border-color 0.15s ease; 85 | max-width: 300px; 86 | } 87 | 88 | .card:hover, 89 | .card:focus, 90 | .card:active { 91 | color: #0070f3; 92 | border-color: #0070f3; 93 | } 94 | 95 | .card h2 { 96 | margin: 0 0 1rem 0; 97 | font-size: 1.5rem; 98 | } 99 | 100 | .card p { 101 | margin: 0; 102 | font-size: 1.25rem; 103 | line-height: 1.5; 104 | } 105 | 106 | .logo { 107 | height: 1em; 108 | margin-left: 0.5rem; 109 | } 110 | 111 | @media (max-width: 600px) { 112 | .grid { 113 | width: 100%; 114 | flex-direction: column; 115 | } 116 | } 117 | 118 | @media (prefers-color-scheme: dark) { 119 | .card, 120 | .footer { 121 | border-color: #222; 122 | } 123 | .code { 124 | background: #111; 125 | } 126 | .logo img { 127 | filter: invert(1); 128 | } 129 | } 130 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by https://www.toptal.com/developers/gitignore/api/django,nextjs,react 2 | # Edit at https://www.toptal.com/developers/gitignore?templates=django,nextjs,react 3 | 4 | ### Django ### 5 | *.log 6 | *.log.* 7 | *.pot 8 | *.pyc 9 | __pycache__/ 10 | local_settings.py 11 | db.sqlite3 12 | db.sqlite3-journal 13 | media 14 | 15 | # If your build process includes running collectstatic, then you probably don't need or want to include staticfiles/ 16 | # in your Git repository. Update and uncomment the following line accordingly. 17 | # /staticfiles/ 18 | 19 | ### Django.Python Stack ### 20 | # Byte-compiled / optimized / DLL files 21 | *.py[cod] 22 | *$py.class 23 | 24 | # C extensions 25 | *.so 26 | 27 | # Distribution / packaging 28 | .Python 29 | build/ 30 | develop-eggs/ 31 | dist/ 32 | downloads/ 33 | eggs/ 34 | .eggs/ 35 | lib64/ 36 | parts/ 37 | sdist/ 38 | var/ 39 | wheels/ 40 | share/python-wheels/ 41 | *.egg-info/ 42 | .installed.cfg 43 | *.egg 44 | MANIFEST 45 | 46 | # PyInstaller 47 | # Usually these files are written by a python script from a template 48 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 49 | *.manifest 50 | *.spec 51 | 52 | # Installer logs 53 | pip-log.txt 54 | pip-delete-this-directory.txt 55 | 56 | # Unit test / coverage reports 57 | htmlcov/ 58 | .tox/ 59 | .nox/ 60 | .coverage 61 | .coverage.* 62 | .cache 63 | nosetests.xml 64 | coverage.xml 65 | *.cover 66 | *.py,cover 67 | .hypothesis/ 68 | .pytest_cache/ 69 | cover/ 70 | 71 | # Translations 72 | *.mo 73 | 74 | # Django stuff: 75 | 76 | # Flask stuff: 77 | instance/ 78 | .webassets-cache 79 | 80 | # Scrapy stuff: 81 | .scrapy 82 | 83 | # Sphinx documentation 84 | docs/_build/ 85 | 86 | # PyBuilder 87 | .pybuilder/ 88 | target/ 89 | 90 | # Jupyter Notebook 91 | .ipynb_checkpoints 92 | 93 | # IPython 94 | profile_default/ 95 | ipython_config.py 96 | 97 | # pyenv 98 | # For a library or package, you might want to ignore these files since the code is 99 | # intended to run in multiple environments; otherwise, check them in: 100 | # .python-version 101 | 102 | # pipenv 103 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 104 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 105 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 106 | # install all needed dependencies. 107 | #Pipfile.lock 108 | 109 | # poetry 110 | # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. 111 | # This is especially recommended for binary packages to ensure reproducibility, and is more 112 | # commonly ignored for libraries. 113 | # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control 114 | #poetry.lock 115 | 116 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 117 | __pypackages__/ 118 | 119 | # Celery stuff 120 | celerybeat-schedule 121 | celerybeat.pid 122 | 123 | # SageMath parsed files 124 | *.sage.py 125 | 126 | # Environments 127 | .env 128 | .env.prod 129 | .env.staging 130 | .venv 131 | env/ 132 | venv/ 133 | ENV/ 134 | env.bak/ 135 | venv.bak/ 136 | 137 | # Spyder project settings 138 | .spyderproject 139 | .spyproject 140 | 141 | # Rope project settings 142 | .ropeproject 143 | 144 | # mkdocs documentation 145 | /site 146 | 147 | # mypy 148 | .mypy_cache/ 149 | .dmypy.json 150 | dmypy.json 151 | 152 | # Pyre type checker 153 | .pyre/ 154 | 155 | # pytype static type analyzer 156 | .pytype/ 157 | 158 | # Cython debug symbols 159 | cython_debug/ 160 | 161 | # PyCharm 162 | # JetBrains specific template is maintained in a separate JetBrains.gitignore that can 163 | # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore 164 | # and can be added to the global gitignore or merged into this file. For a more nuclear 165 | # option (not recommended) you can uncomment the following to ignore the entire idea folder. 166 | #.idea/ 167 | 168 | ### react ### 169 | .DS_* 170 | logs 171 | **/*.backup.* 172 | **/*.back.* 173 | 174 | node_modules 175 | bower_components 176 | 177 | node_modules 178 | npm-debug.log 179 | .next 180 | .git 181 | 182 | *.sublime* 183 | 184 | psd 185 | thumb 186 | sketch -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 |
3 |

4 | Logo 5 |

6 | 7 |

8 | 9 | Twitter: Hello Buraste 10 | 11 |

12 |

Dockerize your Strapi v4 backend with Next.js and Nginx Support 🚀

13 |
14 | 15 | ## Table of Contents 16 | 17 | - [Current Status](#current-status) 18 | - [What for?](#what-for) 19 | - [Features & Stacks](#features--stacks) 20 | - [Backend](#backend) 21 | - [Frontend](#frontend) 22 | - [Database](#database) 23 | - [Reverse Proxy](#reverse-proxy) 24 | - [Containerization](#containerization) 25 | - [Environment Variables Management](#environment-variables-management) 26 | - [Installation and Usage](#installation-and-usage) 27 | - [Installation](#installation) 28 | - [Usage](#usage) 29 | - [Security for Endpoints](#security-for-endpoints) 30 | - [Contributing](#contributing) 31 | - [Authors](#authors) 32 | - [License](#license) 33 | 34 | ## Current Status 35 | 36 | This package is currently under development and should be consider **BETA** in terms of state. We are currently accepting contributions to help develop and maintain this package. 37 | 38 | For more information on contributing please see [the contrib message below](#contributing). 39 | 40 | ## What for? 41 | 42 | - Easy development & production environment 43 | - Easy frontend adoption (just delete frontend folder and create your best) 44 | - Creating full-stack applications for small or medium size projects 45 | 46 | ## Features & Stacks 47 | 48 | #### Backend 49 | - Strapi v4 50 | - Node.js v16 for Docker Image 51 | - Yarn package manager 52 | #### Frontend 53 | - Next.js v12.2 54 | - React.js v18.2 55 | - Typescript v4.7 56 | - Node.js-alpine for Docker Image 57 | - Yarn package manager 58 | #### Database 59 | - Postgres v12-alpine 60 | - Linux/amd64 platform for platform error on Apple M1 chips 61 | - Named volumes 62 | #### Reverse Proxy 63 | - Nginx Latest 64 | - Fastcgi support 65 | - Mime-types 66 | - Security configs 67 | #### Containerization 68 | - Docker-compose v3 for container orchestration 🐳 69 | - Seperated Dockerfiles for development and production 70 | #### Environment Variables Management 71 | - One file for backend + frontend + database + nginx 72 | 73 | 74 | ## Installation and Usage 75 | You have to currently exist Docker and Docker Compose on your system: 76 | - [Docker & Docker Compose](https://docs.docker.com/get-docker/) 77 | 78 | #### Installation 79 | - Clone the repo 80 | - Copy `.env.example` file to `.env` 81 | - Change credentials with secure and strong ones 82 | - If you are on development, be sure `ENVIRONMENT=development` on .env file 83 | - If you are on production or want to production build, change with `ENVIRONMENT=production` 84 | - Be sure `localhost:80` is accesible and not using from another process (Nginx runs on 80) 85 | - Pull necessary images: 86 | ```bash 87 | docker-compose pull 88 | ``` 89 | #### Usage 90 | - Build and up your docker-compose file if everything is ok: 91 | ```bash 92 | docker-compose build && docker-compose up -d 93 | ``` 94 | - Now you can access to Next.js frontend on `http://localhost` and Strapi backend (admin) on `http://localhost/strapi/admin` 95 | - Register with your e-mail and password. 96 | - Go to `Content-Type Builder`, It has sample content type as `Article` and this content type has three field as `title` `body` and `cover`. 97 | - For creating new `Article`, go to `Content Manager`and click `Article`on left pane, click `Create new entry`and fill the blanks > click Publish! 98 | - For testing API endpoint you need to give public access to the `Article` so 99 | - Go to `Settings`>`User & Permissions Plugin`>`Roles`>`Public`>`Article`and select `find` `findOne`, If you need more, select what you want and save! 100 | - Go to the `http://localhost/strapi/api/articles` 101 | 102 | ## Security for Endpoints 103 | Secure all your Strapi related endpoints in Nginx, make sure to use API tokens to connect to the backend and keep this information private. The Nginx config that on the repo is for development, not production ⛔️ 104 | 105 | ## Contributing 106 | 107 | We are always welcome for contributions to help shape this package. 108 | 109 | If interested please feel free to email the maintainer Burak at: hello@buraste.com 110 | 111 | ## Authors 112 | 113 | - Burak Ibis: 114 | - Github: [@buraste](https://github.com/buraste) 115 | - Twitter: [@helloburaste](https://twitter.com/helloburaste) 116 | 117 | ## License 118 | 119 | See the [LICENSE](./LICENSE.md) file for licensing information. 120 | -------------------------------------------------------------------------------- /conf/nginx/mime.types: -------------------------------------------------------------------------------- 1 | types { 2 | 3 | # Data interchange 4 | 5 | application/atom+xml atom; 6 | application/json json map topojson; 7 | application/ld+json jsonld; 8 | application/rss+xml rss; 9 | # Normalize to standard type. 10 | # https://tools.ietf.org/html/rfc7946#section-12 11 | application/geo+json geojson; 12 | application/xml xml; 13 | # Normalize to standard type. 14 | # https://tools.ietf.org/html/rfc3870#section-2 15 | application/rdf+xml rdf; 16 | 17 | 18 | # JavaScript 19 | 20 | # Servers should use text/javascript for JavaScript resources. 21 | # https://html.spec.whatwg.org/multipage/scripting.html#scriptingLanguages 22 | text/javascript js mjs; 23 | application/wasm wasm; 24 | 25 | 26 | # Manifest files 27 | 28 | application/manifest+json webmanifest; 29 | application/x-web-app-manifest+json webapp; 30 | text/cache-manifest appcache; 31 | 32 | 33 | # Media files 34 | 35 | audio/midi mid midi kar; 36 | audio/mp4 aac f4a f4b m4a; 37 | audio/mpeg mp3; 38 | audio/ogg oga ogg opus; 39 | audio/x-realaudio ra; 40 | audio/x-wav wav; 41 | image/apng apng; 42 | image/avif avif avifs; 43 | image/bmp bmp; 44 | image/gif gif; 45 | image/jpeg jpeg jpg; 46 | image/jxl jxl; 47 | image/jxr jxr hdp wdp; 48 | image/png png; 49 | image/svg+xml svg svgz; 50 | image/tiff tif tiff; 51 | image/vnd.wap.wbmp wbmp; 52 | image/webp webp; 53 | image/x-jng jng; 54 | video/3gpp 3gp 3gpp; 55 | video/mp4 f4p f4v m4v mp4; 56 | video/mpeg mpeg mpg; 57 | video/ogg ogv; 58 | video/quicktime mov; 59 | video/webm webm; 60 | video/x-flv flv; 61 | video/x-mng mng; 62 | video/x-ms-asf asf asx; 63 | video/x-msvideo avi; 64 | 65 | # Serving `.ico` image files with a different media type 66 | # prevents Internet Explorer from displaying then as images: 67 | # https://github.com/h5bp/html5-boilerplate/commit/37b5fec090d00f38de64b591bcddcb205aadf8ee 68 | 69 | image/x-icon cur ico; 70 | 71 | 72 | # Microsoft Office 73 | 74 | application/msword doc; 75 | application/vnd.ms-excel xls; 76 | application/vnd.ms-powerpoint ppt; 77 | application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; 78 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; 79 | application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; 80 | 81 | 82 | # Web fonts 83 | 84 | font/woff woff; 85 | font/woff2 woff2; 86 | application/vnd.ms-fontobject eot; 87 | font/ttf ttf; 88 | font/collection ttc; 89 | font/otf otf; 90 | 91 | 92 | # Other 93 | 94 | application/java-archive ear jar war; 95 | application/mac-binhex40 hqx; 96 | application/octet-stream bin deb dll dmg exe img iso msi msm msp safariextz; 97 | application/pdf pdf; 98 | application/postscript ai eps ps; 99 | application/rtf rtf; 100 | application/vnd.google-earth.kml+xml kml; 101 | application/vnd.google-earth.kmz kmz; 102 | application/vnd.wap.wmlc wmlc; 103 | application/x-7z-compressed 7z; 104 | application/x-bb-appworld bbaw; 105 | application/x-bittorrent torrent; 106 | application/x-chrome-extension crx; 107 | application/x-cocoa cco; 108 | application/x-java-archive-diff jardiff; 109 | application/x-java-jnlp-file jnlp; 110 | application/x-makeself run; 111 | application/x-opera-extension oex; 112 | application/x-perl pl pm; 113 | application/x-pilot pdb prc; 114 | application/x-rar-compressed rar; 115 | application/x-redhat-package-manager rpm; 116 | application/x-sea sea; 117 | application/x-shockwave-flash swf; 118 | application/x-stuffit sit; 119 | application/x-tcl tcl tk; 120 | application/x-x509-ca-cert crt der pem; 121 | application/x-xpinstall xpi; 122 | application/xhtml+xml xhtml; 123 | application/xslt+xml xsl; 124 | application/zip zip; 125 | text/calendar ics; 126 | text/css css; 127 | text/csv csv; 128 | text/html htm html shtml; 129 | text/markdown md markdown; 130 | text/mathml mml; 131 | text/plain txt; 132 | text/vcard vcard vcf; 133 | text/vnd.rim.location.xloc xloc; 134 | text/vnd.sun.j2me.app-descriptor jad; 135 | text/vnd.wap.wml wml; 136 | text/vtt vtt; 137 | text/x-component htc; 138 | 139 | } -------------------------------------------------------------------------------- /frontend/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/runtime-corejs3@^7.10.2": 6 | version "7.18.9" 7 | resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.18.9.tgz#7bacecd1cb2dd694eacd32a91fcf7021c20770ae" 8 | integrity sha512-qZEWeccZCrHA2Au4/X05QW5CMdm4VjUDCrGq5gf1ZDcM4hRqreKrtwAn7yci9zfgAS9apvnsFXiGBHBAxZdK9A== 9 | dependencies: 10 | core-js-pure "^3.20.2" 11 | regenerator-runtime "^0.13.4" 12 | 13 | "@babel/runtime@^7.10.2", "@babel/runtime@^7.18.9": 14 | version "7.18.9" 15 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a" 16 | integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw== 17 | dependencies: 18 | regenerator-runtime "^0.13.4" 19 | 20 | "@eslint/eslintrc@^1.3.0": 21 | version "1.3.0" 22 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.0.tgz#29f92c30bb3e771e4a2048c95fa6855392dfac4f" 23 | integrity sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw== 24 | dependencies: 25 | ajv "^6.12.4" 26 | debug "^4.3.2" 27 | espree "^9.3.2" 28 | globals "^13.15.0" 29 | ignore "^5.2.0" 30 | import-fresh "^3.2.1" 31 | js-yaml "^4.1.0" 32 | minimatch "^3.1.2" 33 | strip-json-comments "^3.1.1" 34 | 35 | "@humanwhocodes/config-array@^0.9.2": 36 | version "0.9.5" 37 | resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7" 38 | integrity sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw== 39 | dependencies: 40 | "@humanwhocodes/object-schema" "^1.2.1" 41 | debug "^4.1.1" 42 | minimatch "^3.0.4" 43 | 44 | "@humanwhocodes/object-schema@^1.2.1": 45 | version "1.2.1" 46 | resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" 47 | integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== 48 | 49 | "@next/env@12.2.3": 50 | version "12.2.3" 51 | resolved "https://registry.yarnpkg.com/@next/env/-/env-12.2.3.tgz#64f210e74c137d3d9feea738795b055a7f8aebe2" 52 | integrity sha512-2lWKP5Xcvnor70NaaROZXBvU8z9mFReePCG8NhZw6NyNGnPvC+8s+Cre/63LAB1LKzWw/e9bZJnQUg0gYFRb2Q== 53 | 54 | "@next/eslint-plugin-next@12.2.3": 55 | version "12.2.3" 56 | resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.2.3.tgz#63726691aac6a7f01b64190a0323d590a0e8154d" 57 | integrity sha512-B2e8Yg1MpuLsGxhCx4rU8/Tcnr5wFmCx1O2eyLXBPnaCcsFXfGCo067ujagtDLtWASL3GNgzg78U1SB0dbc38A== 58 | dependencies: 59 | glob "7.1.7" 60 | 61 | "@next/swc-android-arm-eabi@12.2.3": 62 | version "12.2.3" 63 | resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.2.3.tgz#91388c8ec117d59ee80d2c1d4dc65fdfd267d2d4" 64 | integrity sha512-JxmCW9XB5PYnkGE67BdnBTdqW0SW6oMCiPMHLdjeRi4T3U4JJKJGnjQld99+6TPOfPWigtw3W7Cijp5gc+vJ/w== 65 | 66 | "@next/swc-android-arm64@12.2.3": 67 | version "12.2.3" 68 | resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.2.3.tgz#9be33553861f6494616b910a23abd5a1b0d7fb4b" 69 | integrity sha512-3l4zXpWnzy0fqoedsFRxzMy/eGlMMqn6IwPEuBmtEQ4h7srmQFHyT+Bk+eVHb0o1RQ7/TloAa+mu8JX5tz/5tA== 70 | 71 | "@next/swc-darwin-arm64@12.2.3": 72 | version "12.2.3" 73 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.2.3.tgz#ce1a5a7320936b2644b765ace3283e5d1676b6a0" 74 | integrity sha512-eutDO/RH6pf7+8zHo3i2GKLhF0qaMtxWpY8k3Oa1k+CyrcJ0IxwkfH/x3f75jTMeCrThn6Uu8j3WeZOxvhto1Q== 75 | 76 | "@next/swc-darwin-x64@12.2.3": 77 | version "12.2.3" 78 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.2.3.tgz#f70ce07016501c6f823035bc67296b8f80201145" 79 | integrity sha512-lve+lnTiddXbcT3Lh2ujOFywQSEycTYQhuf6j6JrPu9oLQGS01kjIqqSj3/KMmSoppEnXo3BxkgYu+g2+ecHkA== 80 | 81 | "@next/swc-freebsd-x64@12.2.3": 82 | version "12.2.3" 83 | resolved "https://registry.yarnpkg.com/@next/swc-freebsd-x64/-/swc-freebsd-x64-12.2.3.tgz#ccc6fa4588dadec85458091aa19c17bc3e99a10d" 84 | integrity sha512-V4bZU1qBFkULTPW53phY8ypioh3EERzHu9YKAasm9RxU4dj+8c/4s60y+kbFkFEEpIUgEU6yNuYZRR4lHHbUGA== 85 | 86 | "@next/swc-linux-arm-gnueabihf@12.2.3": 87 | version "12.2.3" 88 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.2.3.tgz#d7a481d3ede14dee85707d0807b4a05cd2300950" 89 | integrity sha512-MWxS/i+XSEKdQE0ZmdYkPPrWKBi4JwMVaXdOW9J/T/sZJsHsLlSC9ErBcNolKAJEVka+tnw9oPRyRCKOj+q0sw== 90 | 91 | "@next/swc-linux-arm64-gnu@12.2.3": 92 | version "12.2.3" 93 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.2.3.tgz#6d105c971cc0957c25563aa98af475291b4cd8aa" 94 | integrity sha512-ikXkqAmvEcWTzIQFDdmrUHLWzdDAF5s2pVsSpQn9rk/gK1i9webH1GRQd2bSM7JLuPBZSaYrNGvDTyHZdSEYlg== 95 | 96 | "@next/swc-linux-arm64-musl@12.2.3": 97 | version "12.2.3" 98 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.2.3.tgz#bebfe490130e3cb8746a03d35a5a9e23ac0e6f9b" 99 | integrity sha512-wE45gGFkeLLLnCoveKaBrdpYkkypl3qwNF2YhnfvfVK7etuu1O679LwClhCWinDVBr+KOkmyHok00Z+0uI1ycg== 100 | 101 | "@next/swc-linux-x64-gnu@12.2.3": 102 | version "12.2.3" 103 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.2.3.tgz#84a3d99f9d656fbc139f3a19f9b1baf73877d18f" 104 | integrity sha512-MbFI6413VSXiREzHwYD8YAJLTknBaC+bmjXgdHEEdloeOuBFQGE3NWn3izOCTy8kV+s98VDQO8au7EKKs+bW0g== 105 | 106 | "@next/swc-linux-x64-musl@12.2.3": 107 | version "12.2.3" 108 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.2.3.tgz#a283431f8c6c830b4bd61147094f150ea7deeb6e" 109 | integrity sha512-jMBD0Va6fInbPih/dNySlNY2RpjkK6MXS+UGVEvuTswl1MZr+iahvurmshwGKpjaRwVU4DSFMD8+gfWxsTFs1Q== 110 | 111 | "@next/swc-win32-arm64-msvc@12.2.3": 112 | version "12.2.3" 113 | resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.2.3.tgz#bab9ba8736d81db128badb70024268469eaa9b34" 114 | integrity sha512-Cq8ToPdc0jQP2C7pjChYctAsEe7+lO/B826ZCK5xFzobuHPiCyJ2Mzx/nEQwCY4SpYkeJQtCbwlCz5iyGW5zGg== 115 | 116 | "@next/swc-win32-ia32-msvc@12.2.3": 117 | version "12.2.3" 118 | resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.2.3.tgz#feea6ada1ba3e897f39ded9f2de5006f4e1c928b" 119 | integrity sha512-BtFq4c8IpeB0sDhJMHJFgm86rPkOvmYI8k3De8Y2kgNVWSeLQ0Q929PWf7e+GqcX1015ei/gEB41ZH8Iw49NzA== 120 | 121 | "@next/swc-win32-x64-msvc@12.2.3": 122 | version "12.2.3" 123 | resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.2.3.tgz#403e1575a84c31cbd7f3c0ecd51b61bc25b7f808" 124 | integrity sha512-huSNb98KSG77Kl96CoPgCwom28aamuUsPpRmn/4s9L0RNbbHVSkp9E6HA4yOAykZCEuWcdNsRLbVVuAbt8rtIw== 125 | 126 | "@nodelib/fs.scandir@2.1.5": 127 | version "2.1.5" 128 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 129 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 130 | dependencies: 131 | "@nodelib/fs.stat" "2.0.5" 132 | run-parallel "^1.1.9" 133 | 134 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 135 | version "2.0.5" 136 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 137 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 138 | 139 | "@nodelib/fs.walk@^1.2.3": 140 | version "1.2.8" 141 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 142 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 143 | dependencies: 144 | "@nodelib/fs.scandir" "2.1.5" 145 | fastq "^1.6.0" 146 | 147 | "@rushstack/eslint-patch@^1.1.3": 148 | version "1.1.4" 149 | resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.1.4.tgz#0c8b74c50f29ee44f423f7416829c0bf8bb5eb27" 150 | integrity sha512-LwzQKA4vzIct1zNZzBmRKI9QuNpLgTQMEjsQLf3BXuGYb3QPTP4Yjf6mkdX+X1mYttZ808QpOwAzZjv28kq7DA== 151 | 152 | "@swc/helpers@0.4.3": 153 | version "0.4.3" 154 | resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.3.tgz#16593dfc248c53b699d4b5026040f88ddb497012" 155 | integrity sha512-6JrF+fdUK2zbGpJIlN7G3v966PQjyx/dPt1T9km2wj+EUBqgrxCk3uX4Kct16MIm9gGxfKRcfax2hVf5jvlTzA== 156 | dependencies: 157 | tslib "^2.4.0" 158 | 159 | "@types/json5@^0.0.29": 160 | version "0.0.29" 161 | resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" 162 | integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== 163 | 164 | "@types/node@18.0.6": 165 | version "18.0.6" 166 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.6.tgz#0ba49ac517ad69abe7a1508bc9b3a5483df9d5d7" 167 | integrity sha512-/xUq6H2aQm261exT6iZTMifUySEt4GR5KX8eYyY+C4MSNPqSh9oNIP7tz2GLKTlFaiBbgZNxffoR3CVRG+cljw== 168 | 169 | "@types/prop-types@*": 170 | version "15.7.5" 171 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" 172 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== 173 | 174 | "@types/react-dom@18.0.6": 175 | version "18.0.6" 176 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.6.tgz#36652900024842b74607a17786b6662dd1e103a1" 177 | integrity sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA== 178 | dependencies: 179 | "@types/react" "*" 180 | 181 | "@types/react@*", "@types/react@18.0.15": 182 | version "18.0.15" 183 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.15.tgz#d355644c26832dc27f3e6cbf0c4f4603fc4ab7fe" 184 | integrity sha512-iz3BtLuIYH1uWdsv6wXYdhozhqj20oD4/Hk2DNXIn1kFsmp9x8d9QB6FnPhfkbhd2PgEONt9Q1x/ebkwjfFLow== 185 | dependencies: 186 | "@types/prop-types" "*" 187 | "@types/scheduler" "*" 188 | csstype "^3.0.2" 189 | 190 | "@types/scheduler@*": 191 | version "0.16.2" 192 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" 193 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== 194 | 195 | "@typescript-eslint/parser@^5.21.0": 196 | version "5.30.7" 197 | resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.30.7.tgz#99d09729392aec9e64b1de45cd63cb81a4ddd980" 198 | integrity sha512-Rg5xwznHWWSy7v2o0cdho6n+xLhK2gntImp0rJroVVFkcYFYQ8C8UJTSuTw/3CnExBmPjycjmUJkxVmjXsld6A== 199 | dependencies: 200 | "@typescript-eslint/scope-manager" "5.30.7" 201 | "@typescript-eslint/types" "5.30.7" 202 | "@typescript-eslint/typescript-estree" "5.30.7" 203 | debug "^4.3.4" 204 | 205 | "@typescript-eslint/scope-manager@5.30.7": 206 | version "5.30.7" 207 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.30.7.tgz#8269a931ef1e5ae68b5eb80743cc515c4ffe3dd7" 208 | integrity sha512-7BM1bwvdF1UUvt+b9smhqdc/eniOnCKxQT/kj3oXtj3LqnTWCAM0qHRHfyzCzhEfWX0zrW7KqXXeE4DlchZBKw== 209 | dependencies: 210 | "@typescript-eslint/types" "5.30.7" 211 | "@typescript-eslint/visitor-keys" "5.30.7" 212 | 213 | "@typescript-eslint/types@5.30.7": 214 | version "5.30.7" 215 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.30.7.tgz#18331487cc92d0f1fb1a6f580c8ec832528079d0" 216 | integrity sha512-ocVkETUs82+U+HowkovV6uxf1AnVRKCmDRNUBUUo46/5SQv1owC/EBFkiu4MOHeZqhKz2ktZ3kvJJ1uFqQ8QPg== 217 | 218 | "@typescript-eslint/typescript-estree@5.30.7": 219 | version "5.30.7" 220 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.30.7.tgz#05da9f1b281985bfedcf62349847f8d168eecc07" 221 | integrity sha512-tNslqXI1ZdmXXrHER83TJ8OTYl4epUzJC0aj2i4DMDT4iU+UqLT3EJeGQvJ17BMbm31x5scSwo3hPM0nqQ1AEA== 222 | dependencies: 223 | "@typescript-eslint/types" "5.30.7" 224 | "@typescript-eslint/visitor-keys" "5.30.7" 225 | debug "^4.3.4" 226 | globby "^11.1.0" 227 | is-glob "^4.0.3" 228 | semver "^7.3.7" 229 | tsutils "^3.21.0" 230 | 231 | "@typescript-eslint/visitor-keys@5.30.7": 232 | version "5.30.7" 233 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.30.7.tgz#c093abae75b4fd822bfbad9fc337f38a7a14909a" 234 | integrity sha512-KrRXf8nnjvcpxDFOKej4xkD7657+PClJs5cJVSG7NNoCNnjEdc46juNAQt7AyuWctuCgs6mVRc1xGctEqrjxWw== 235 | dependencies: 236 | "@typescript-eslint/types" "5.30.7" 237 | eslint-visitor-keys "^3.3.0" 238 | 239 | acorn-jsx@^5.3.2: 240 | version "5.3.2" 241 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" 242 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== 243 | 244 | acorn@^8.7.1: 245 | version "8.8.0" 246 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" 247 | integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== 248 | 249 | ajv@^6.10.0, ajv@^6.12.4: 250 | version "6.12.6" 251 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 252 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 253 | dependencies: 254 | fast-deep-equal "^3.1.1" 255 | fast-json-stable-stringify "^2.0.0" 256 | json-schema-traverse "^0.4.1" 257 | uri-js "^4.2.2" 258 | 259 | ansi-regex@^5.0.1: 260 | version "5.0.1" 261 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 262 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 263 | 264 | ansi-styles@^4.1.0: 265 | version "4.3.0" 266 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 267 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 268 | dependencies: 269 | color-convert "^2.0.1" 270 | 271 | argparse@^2.0.1: 272 | version "2.0.1" 273 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 274 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 275 | 276 | aria-query@^4.2.2: 277 | version "4.2.2" 278 | resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" 279 | integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== 280 | dependencies: 281 | "@babel/runtime" "^7.10.2" 282 | "@babel/runtime-corejs3" "^7.10.2" 283 | 284 | array-includes@^3.1.4, array-includes@^3.1.5: 285 | version "3.1.5" 286 | resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" 287 | integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== 288 | dependencies: 289 | call-bind "^1.0.2" 290 | define-properties "^1.1.4" 291 | es-abstract "^1.19.5" 292 | get-intrinsic "^1.1.1" 293 | is-string "^1.0.7" 294 | 295 | array-union@^2.1.0: 296 | version "2.1.0" 297 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 298 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 299 | 300 | array.prototype.flat@^1.2.5: 301 | version "1.3.0" 302 | resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b" 303 | integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw== 304 | dependencies: 305 | call-bind "^1.0.2" 306 | define-properties "^1.1.3" 307 | es-abstract "^1.19.2" 308 | es-shim-unscopables "^1.0.0" 309 | 310 | array.prototype.flatmap@^1.3.0: 311 | version "1.3.0" 312 | resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz#a7e8ed4225f4788a70cd910abcf0791e76a5534f" 313 | integrity sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg== 314 | dependencies: 315 | call-bind "^1.0.2" 316 | define-properties "^1.1.3" 317 | es-abstract "^1.19.2" 318 | es-shim-unscopables "^1.0.0" 319 | 320 | ast-types-flow@^0.0.7: 321 | version "0.0.7" 322 | resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" 323 | integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== 324 | 325 | axe-core@^4.4.3: 326 | version "4.4.3" 327 | resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.4.3.tgz#11c74d23d5013c0fa5d183796729bc3482bd2f6f" 328 | integrity sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w== 329 | 330 | axobject-query@^2.2.0: 331 | version "2.2.0" 332 | resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" 333 | integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== 334 | 335 | balanced-match@^1.0.0: 336 | version "1.0.2" 337 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 338 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 339 | 340 | brace-expansion@^1.1.7: 341 | version "1.1.11" 342 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 343 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 344 | dependencies: 345 | balanced-match "^1.0.0" 346 | concat-map "0.0.1" 347 | 348 | braces@^3.0.2: 349 | version "3.0.2" 350 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 351 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 352 | dependencies: 353 | fill-range "^7.0.1" 354 | 355 | call-bind@^1.0.0, call-bind@^1.0.2: 356 | version "1.0.2" 357 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 358 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 359 | dependencies: 360 | function-bind "^1.1.1" 361 | get-intrinsic "^1.0.2" 362 | 363 | callsites@^3.0.0: 364 | version "3.1.0" 365 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 366 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 367 | 368 | caniuse-lite@^1.0.30001332: 369 | version "1.0.30001368" 370 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001368.tgz#c5c06381c6051cd863c45021475434e81936f713" 371 | integrity sha512-wgfRYa9DenEomLG/SdWgQxpIyvdtH3NW8Vq+tB6AwR9e56iOIcu1im5F/wNdDf04XlKHXqIx4N8Jo0PemeBenQ== 372 | 373 | chalk@^4.0.0: 374 | version "4.1.2" 375 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 376 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 377 | dependencies: 378 | ansi-styles "^4.1.0" 379 | supports-color "^7.1.0" 380 | 381 | color-convert@^2.0.1: 382 | version "2.0.1" 383 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 384 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 385 | dependencies: 386 | color-name "~1.1.4" 387 | 388 | color-name@~1.1.4: 389 | version "1.1.4" 390 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 391 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 392 | 393 | concat-map@0.0.1: 394 | version "0.0.1" 395 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 396 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 397 | 398 | core-js-pure@^3.20.2: 399 | version "3.23.5" 400 | resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.23.5.tgz#23daaa9af9230e50f10b0fa4b8e6b87402be4c33" 401 | integrity sha512-8t78LdpKSuCq4pJYCYk8hl7XEkAX+BP16yRIwL3AanTksxuEf7CM83vRyctmiEL8NDZ3jpUcv56fk9/zG3aIuw== 402 | 403 | cross-spawn@^7.0.2: 404 | version "7.0.3" 405 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 406 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 407 | dependencies: 408 | path-key "^3.1.0" 409 | shebang-command "^2.0.0" 410 | which "^2.0.1" 411 | 412 | csstype@^3.0.2: 413 | version "3.1.0" 414 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.0.tgz#4ddcac3718d787cf9df0d1b7d15033925c8f29f2" 415 | integrity sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA== 416 | 417 | damerau-levenshtein@^1.0.8: 418 | version "1.0.8" 419 | resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" 420 | integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== 421 | 422 | debug@^2.6.9: 423 | version "2.6.9" 424 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 425 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 426 | dependencies: 427 | ms "2.0.0" 428 | 429 | debug@^3.2.7: 430 | version "3.2.7" 431 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" 432 | integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== 433 | dependencies: 434 | ms "^2.1.1" 435 | 436 | debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: 437 | version "4.3.4" 438 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 439 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 440 | dependencies: 441 | ms "2.1.2" 442 | 443 | deep-is@^0.1.3: 444 | version "0.1.4" 445 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" 446 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 447 | 448 | define-properties@^1.1.3, define-properties@^1.1.4: 449 | version "1.1.4" 450 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" 451 | integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== 452 | dependencies: 453 | has-property-descriptors "^1.0.0" 454 | object-keys "^1.1.1" 455 | 456 | dir-glob@^3.0.1: 457 | version "3.0.1" 458 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 459 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 460 | dependencies: 461 | path-type "^4.0.0" 462 | 463 | doctrine@^2.1.0: 464 | version "2.1.0" 465 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" 466 | integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== 467 | dependencies: 468 | esutils "^2.0.2" 469 | 470 | doctrine@^3.0.0: 471 | version "3.0.0" 472 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 473 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 474 | dependencies: 475 | esutils "^2.0.2" 476 | 477 | emoji-regex@^9.2.2: 478 | version "9.2.2" 479 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" 480 | integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== 481 | 482 | es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5: 483 | version "1.20.1" 484 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" 485 | integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA== 486 | dependencies: 487 | call-bind "^1.0.2" 488 | es-to-primitive "^1.2.1" 489 | function-bind "^1.1.1" 490 | function.prototype.name "^1.1.5" 491 | get-intrinsic "^1.1.1" 492 | get-symbol-description "^1.0.0" 493 | has "^1.0.3" 494 | has-property-descriptors "^1.0.0" 495 | has-symbols "^1.0.3" 496 | internal-slot "^1.0.3" 497 | is-callable "^1.2.4" 498 | is-negative-zero "^2.0.2" 499 | is-regex "^1.1.4" 500 | is-shared-array-buffer "^1.0.2" 501 | is-string "^1.0.7" 502 | is-weakref "^1.0.2" 503 | object-inspect "^1.12.0" 504 | object-keys "^1.1.1" 505 | object.assign "^4.1.2" 506 | regexp.prototype.flags "^1.4.3" 507 | string.prototype.trimend "^1.0.5" 508 | string.prototype.trimstart "^1.0.5" 509 | unbox-primitive "^1.0.2" 510 | 511 | es-shim-unscopables@^1.0.0: 512 | version "1.0.0" 513 | resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" 514 | integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== 515 | dependencies: 516 | has "^1.0.3" 517 | 518 | es-to-primitive@^1.2.1: 519 | version "1.2.1" 520 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 521 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 522 | dependencies: 523 | is-callable "^1.1.4" 524 | is-date-object "^1.0.1" 525 | is-symbol "^1.0.2" 526 | 527 | escape-string-regexp@^4.0.0: 528 | version "4.0.0" 529 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 530 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 531 | 532 | eslint-config-next@12.2.3: 533 | version "12.2.3" 534 | resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.2.3.tgz#468fe9756ccbf7e4452139062db5b4e6557dc885" 535 | integrity sha512-xAQqAqwa2bu9ZMRypz58ym4tNCo22Wc6LuoLpbpf3yW5c4ZkVib9934AgGDDvh2zKrP56Z6X0Pp6gNnuuZzcRw== 536 | dependencies: 537 | "@next/eslint-plugin-next" "12.2.3" 538 | "@rushstack/eslint-patch" "^1.1.3" 539 | "@typescript-eslint/parser" "^5.21.0" 540 | eslint-import-resolver-node "^0.3.6" 541 | eslint-import-resolver-typescript "^2.7.1" 542 | eslint-plugin-import "^2.26.0" 543 | eslint-plugin-jsx-a11y "^6.5.1" 544 | eslint-plugin-react "^7.29.4" 545 | eslint-plugin-react-hooks "^4.5.0" 546 | 547 | eslint-import-resolver-node@^0.3.6: 548 | version "0.3.6" 549 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" 550 | integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== 551 | dependencies: 552 | debug "^3.2.7" 553 | resolve "^1.20.0" 554 | 555 | eslint-import-resolver-typescript@^2.7.1: 556 | version "2.7.1" 557 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz#a90a4a1c80da8d632df25994c4c5fdcdd02b8751" 558 | integrity sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ== 559 | dependencies: 560 | debug "^4.3.4" 561 | glob "^7.2.0" 562 | is-glob "^4.0.3" 563 | resolve "^1.22.0" 564 | tsconfig-paths "^3.14.1" 565 | 566 | eslint-module-utils@^2.7.3: 567 | version "2.7.3" 568 | resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" 569 | integrity sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ== 570 | dependencies: 571 | debug "^3.2.7" 572 | find-up "^2.1.0" 573 | 574 | eslint-plugin-import@^2.26.0: 575 | version "2.26.0" 576 | resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" 577 | integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== 578 | dependencies: 579 | array-includes "^3.1.4" 580 | array.prototype.flat "^1.2.5" 581 | debug "^2.6.9" 582 | doctrine "^2.1.0" 583 | eslint-import-resolver-node "^0.3.6" 584 | eslint-module-utils "^2.7.3" 585 | has "^1.0.3" 586 | is-core-module "^2.8.1" 587 | is-glob "^4.0.3" 588 | minimatch "^3.1.2" 589 | object.values "^1.1.5" 590 | resolve "^1.22.0" 591 | tsconfig-paths "^3.14.1" 592 | 593 | eslint-plugin-jsx-a11y@^6.5.1: 594 | version "6.6.1" 595 | resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz#93736fc91b83fdc38cc8d115deedfc3091aef1ff" 596 | integrity sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q== 597 | dependencies: 598 | "@babel/runtime" "^7.18.9" 599 | aria-query "^4.2.2" 600 | array-includes "^3.1.5" 601 | ast-types-flow "^0.0.7" 602 | axe-core "^4.4.3" 603 | axobject-query "^2.2.0" 604 | damerau-levenshtein "^1.0.8" 605 | emoji-regex "^9.2.2" 606 | has "^1.0.3" 607 | jsx-ast-utils "^3.3.2" 608 | language-tags "^1.0.5" 609 | minimatch "^3.1.2" 610 | semver "^6.3.0" 611 | 612 | eslint-plugin-react-hooks@^4.5.0: 613 | version "4.6.0" 614 | resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" 615 | integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== 616 | 617 | eslint-plugin-react@^7.29.4: 618 | version "7.30.1" 619 | resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.30.1.tgz#2be4ab23ce09b5949c6631413ba64b2810fd3e22" 620 | integrity sha512-NbEvI9jtqO46yJA3wcRF9Mo0lF9T/jhdHqhCHXiXtD+Zcb98812wvokjWpU7Q4QH5edo6dmqrukxVvWWXHlsUg== 621 | dependencies: 622 | array-includes "^3.1.5" 623 | array.prototype.flatmap "^1.3.0" 624 | doctrine "^2.1.0" 625 | estraverse "^5.3.0" 626 | jsx-ast-utils "^2.4.1 || ^3.0.0" 627 | minimatch "^3.1.2" 628 | object.entries "^1.1.5" 629 | object.fromentries "^2.0.5" 630 | object.hasown "^1.1.1" 631 | object.values "^1.1.5" 632 | prop-types "^15.8.1" 633 | resolve "^2.0.0-next.3" 634 | semver "^6.3.0" 635 | string.prototype.matchall "^4.0.7" 636 | 637 | eslint-scope@^7.1.1: 638 | version "7.1.1" 639 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" 640 | integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== 641 | dependencies: 642 | esrecurse "^4.3.0" 643 | estraverse "^5.2.0" 644 | 645 | eslint-utils@^3.0.0: 646 | version "3.0.0" 647 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" 648 | integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== 649 | dependencies: 650 | eslint-visitor-keys "^2.0.0" 651 | 652 | eslint-visitor-keys@^2.0.0: 653 | version "2.1.0" 654 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" 655 | integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== 656 | 657 | eslint-visitor-keys@^3.3.0: 658 | version "3.3.0" 659 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" 660 | integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== 661 | 662 | eslint@8.20.0: 663 | version "8.20.0" 664 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.20.0.tgz#048ac56aa18529967da8354a478be4ec0a2bc81b" 665 | integrity sha512-d4ixhz5SKCa1D6SCPrivP7yYVi7nyD6A4vs6HIAul9ujBzcEmZVM3/0NN/yu5nKhmO1wjp5xQ46iRfmDGlOviA== 666 | dependencies: 667 | "@eslint/eslintrc" "^1.3.0" 668 | "@humanwhocodes/config-array" "^0.9.2" 669 | ajv "^6.10.0" 670 | chalk "^4.0.0" 671 | cross-spawn "^7.0.2" 672 | debug "^4.3.2" 673 | doctrine "^3.0.0" 674 | escape-string-regexp "^4.0.0" 675 | eslint-scope "^7.1.1" 676 | eslint-utils "^3.0.0" 677 | eslint-visitor-keys "^3.3.0" 678 | espree "^9.3.2" 679 | esquery "^1.4.0" 680 | esutils "^2.0.2" 681 | fast-deep-equal "^3.1.3" 682 | file-entry-cache "^6.0.1" 683 | functional-red-black-tree "^1.0.1" 684 | glob-parent "^6.0.1" 685 | globals "^13.15.0" 686 | ignore "^5.2.0" 687 | import-fresh "^3.0.0" 688 | imurmurhash "^0.1.4" 689 | is-glob "^4.0.0" 690 | js-yaml "^4.1.0" 691 | json-stable-stringify-without-jsonify "^1.0.1" 692 | levn "^0.4.1" 693 | lodash.merge "^4.6.2" 694 | minimatch "^3.1.2" 695 | natural-compare "^1.4.0" 696 | optionator "^0.9.1" 697 | regexpp "^3.2.0" 698 | strip-ansi "^6.0.1" 699 | strip-json-comments "^3.1.0" 700 | text-table "^0.2.0" 701 | v8-compile-cache "^2.0.3" 702 | 703 | espree@^9.3.2: 704 | version "9.3.2" 705 | resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.2.tgz#f58f77bd334731182801ced3380a8cc859091596" 706 | integrity sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA== 707 | dependencies: 708 | acorn "^8.7.1" 709 | acorn-jsx "^5.3.2" 710 | eslint-visitor-keys "^3.3.0" 711 | 712 | esquery@^1.4.0: 713 | version "1.4.0" 714 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" 715 | integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== 716 | dependencies: 717 | estraverse "^5.1.0" 718 | 719 | esrecurse@^4.3.0: 720 | version "4.3.0" 721 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" 722 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 723 | dependencies: 724 | estraverse "^5.2.0" 725 | 726 | estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: 727 | version "5.3.0" 728 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" 729 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== 730 | 731 | esutils@^2.0.2: 732 | version "2.0.3" 733 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 734 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 735 | 736 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 737 | version "3.1.3" 738 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 739 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 740 | 741 | fast-glob@^3.2.9: 742 | version "3.2.11" 743 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" 744 | integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== 745 | dependencies: 746 | "@nodelib/fs.stat" "^2.0.2" 747 | "@nodelib/fs.walk" "^1.2.3" 748 | glob-parent "^5.1.2" 749 | merge2 "^1.3.0" 750 | micromatch "^4.0.4" 751 | 752 | fast-json-stable-stringify@^2.0.0: 753 | version "2.1.0" 754 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 755 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 756 | 757 | fast-levenshtein@^2.0.6: 758 | version "2.0.6" 759 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 760 | integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== 761 | 762 | fastq@^1.6.0: 763 | version "1.13.0" 764 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" 765 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 766 | dependencies: 767 | reusify "^1.0.4" 768 | 769 | file-entry-cache@^6.0.1: 770 | version "6.0.1" 771 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" 772 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 773 | dependencies: 774 | flat-cache "^3.0.4" 775 | 776 | fill-range@^7.0.1: 777 | version "7.0.1" 778 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 779 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 780 | dependencies: 781 | to-regex-range "^5.0.1" 782 | 783 | find-up@^2.1.0: 784 | version "2.1.0" 785 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 786 | integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== 787 | dependencies: 788 | locate-path "^2.0.0" 789 | 790 | flat-cache@^3.0.4: 791 | version "3.0.4" 792 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" 793 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== 794 | dependencies: 795 | flatted "^3.1.0" 796 | rimraf "^3.0.2" 797 | 798 | flatted@^3.1.0: 799 | version "3.2.6" 800 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.6.tgz#022e9218c637f9f3fc9c35ab9c9193f05add60b2" 801 | integrity sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ== 802 | 803 | fs.realpath@^1.0.0: 804 | version "1.0.0" 805 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 806 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 807 | 808 | function-bind@^1.1.1: 809 | version "1.1.1" 810 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 811 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 812 | 813 | function.prototype.name@^1.1.5: 814 | version "1.1.5" 815 | resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" 816 | integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== 817 | dependencies: 818 | call-bind "^1.0.2" 819 | define-properties "^1.1.3" 820 | es-abstract "^1.19.0" 821 | functions-have-names "^1.2.2" 822 | 823 | functional-red-black-tree@^1.0.1: 824 | version "1.0.1" 825 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 826 | integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== 827 | 828 | functions-have-names@^1.2.2: 829 | version "1.2.3" 830 | resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" 831 | integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== 832 | 833 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: 834 | version "1.1.2" 835 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" 836 | integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== 837 | dependencies: 838 | function-bind "^1.1.1" 839 | has "^1.0.3" 840 | has-symbols "^1.0.3" 841 | 842 | get-symbol-description@^1.0.0: 843 | version "1.0.0" 844 | resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" 845 | integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== 846 | dependencies: 847 | call-bind "^1.0.2" 848 | get-intrinsic "^1.1.1" 849 | 850 | glob-parent@^5.1.2: 851 | version "5.1.2" 852 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 853 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 854 | dependencies: 855 | is-glob "^4.0.1" 856 | 857 | glob-parent@^6.0.1: 858 | version "6.0.2" 859 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" 860 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 861 | dependencies: 862 | is-glob "^4.0.3" 863 | 864 | glob@7.1.7: 865 | version "7.1.7" 866 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" 867 | integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== 868 | dependencies: 869 | fs.realpath "^1.0.0" 870 | inflight "^1.0.4" 871 | inherits "2" 872 | minimatch "^3.0.4" 873 | once "^1.3.0" 874 | path-is-absolute "^1.0.0" 875 | 876 | glob@^7.1.3, glob@^7.2.0: 877 | version "7.2.3" 878 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" 879 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 880 | dependencies: 881 | fs.realpath "^1.0.0" 882 | inflight "^1.0.4" 883 | inherits "2" 884 | minimatch "^3.1.1" 885 | once "^1.3.0" 886 | path-is-absolute "^1.0.0" 887 | 888 | globals@^13.15.0: 889 | version "13.17.0" 890 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4" 891 | integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== 892 | dependencies: 893 | type-fest "^0.20.2" 894 | 895 | globby@^11.1.0: 896 | version "11.1.0" 897 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" 898 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== 899 | dependencies: 900 | array-union "^2.1.0" 901 | dir-glob "^3.0.1" 902 | fast-glob "^3.2.9" 903 | ignore "^5.2.0" 904 | merge2 "^1.4.1" 905 | slash "^3.0.0" 906 | 907 | has-bigints@^1.0.1, has-bigints@^1.0.2: 908 | version "1.0.2" 909 | resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" 910 | integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== 911 | 912 | has-flag@^4.0.0: 913 | version "4.0.0" 914 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 915 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 916 | 917 | has-property-descriptors@^1.0.0: 918 | version "1.0.0" 919 | resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" 920 | integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== 921 | dependencies: 922 | get-intrinsic "^1.1.1" 923 | 924 | has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: 925 | version "1.0.3" 926 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" 927 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 928 | 929 | has-tostringtag@^1.0.0: 930 | version "1.0.0" 931 | resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" 932 | integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== 933 | dependencies: 934 | has-symbols "^1.0.2" 935 | 936 | has@^1.0.3: 937 | version "1.0.3" 938 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 939 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 940 | dependencies: 941 | function-bind "^1.1.1" 942 | 943 | ignore@^5.2.0: 944 | version "5.2.0" 945 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" 946 | integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== 947 | 948 | import-fresh@^3.0.0, import-fresh@^3.2.1: 949 | version "3.3.0" 950 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 951 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 952 | dependencies: 953 | parent-module "^1.0.0" 954 | resolve-from "^4.0.0" 955 | 956 | imurmurhash@^0.1.4: 957 | version "0.1.4" 958 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 959 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== 960 | 961 | inflight@^1.0.4: 962 | version "1.0.6" 963 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 964 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 965 | dependencies: 966 | once "^1.3.0" 967 | wrappy "1" 968 | 969 | inherits@2: 970 | version "2.0.4" 971 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 972 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 973 | 974 | internal-slot@^1.0.3: 975 | version "1.0.3" 976 | resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" 977 | integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== 978 | dependencies: 979 | get-intrinsic "^1.1.0" 980 | has "^1.0.3" 981 | side-channel "^1.0.4" 982 | 983 | is-bigint@^1.0.1: 984 | version "1.0.4" 985 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" 986 | integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== 987 | dependencies: 988 | has-bigints "^1.0.1" 989 | 990 | is-boolean-object@^1.1.0: 991 | version "1.1.2" 992 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" 993 | integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== 994 | dependencies: 995 | call-bind "^1.0.2" 996 | has-tostringtag "^1.0.0" 997 | 998 | is-callable@^1.1.4, is-callable@^1.2.4: 999 | version "1.2.4" 1000 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" 1001 | integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== 1002 | 1003 | is-core-module@^2.8.1, is-core-module@^2.9.0: 1004 | version "2.9.0" 1005 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" 1006 | integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== 1007 | dependencies: 1008 | has "^1.0.3" 1009 | 1010 | is-date-object@^1.0.1: 1011 | version "1.0.5" 1012 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" 1013 | integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== 1014 | dependencies: 1015 | has-tostringtag "^1.0.0" 1016 | 1017 | is-extglob@^2.1.1: 1018 | version "2.1.1" 1019 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1020 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 1021 | 1022 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: 1023 | version "4.0.3" 1024 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 1025 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 1026 | dependencies: 1027 | is-extglob "^2.1.1" 1028 | 1029 | is-negative-zero@^2.0.2: 1030 | version "2.0.2" 1031 | resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" 1032 | integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== 1033 | 1034 | is-number-object@^1.0.4: 1035 | version "1.0.7" 1036 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" 1037 | integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== 1038 | dependencies: 1039 | has-tostringtag "^1.0.0" 1040 | 1041 | is-number@^7.0.0: 1042 | version "7.0.0" 1043 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1044 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1045 | 1046 | is-regex@^1.1.4: 1047 | version "1.1.4" 1048 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" 1049 | integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== 1050 | dependencies: 1051 | call-bind "^1.0.2" 1052 | has-tostringtag "^1.0.0" 1053 | 1054 | is-shared-array-buffer@^1.0.2: 1055 | version "1.0.2" 1056 | resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" 1057 | integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== 1058 | dependencies: 1059 | call-bind "^1.0.2" 1060 | 1061 | is-string@^1.0.5, is-string@^1.0.7: 1062 | version "1.0.7" 1063 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" 1064 | integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== 1065 | dependencies: 1066 | has-tostringtag "^1.0.0" 1067 | 1068 | is-symbol@^1.0.2, is-symbol@^1.0.3: 1069 | version "1.0.4" 1070 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" 1071 | integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== 1072 | dependencies: 1073 | has-symbols "^1.0.2" 1074 | 1075 | is-weakref@^1.0.2: 1076 | version "1.0.2" 1077 | resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" 1078 | integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== 1079 | dependencies: 1080 | call-bind "^1.0.2" 1081 | 1082 | isexe@^2.0.0: 1083 | version "2.0.0" 1084 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1085 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 1086 | 1087 | "js-tokens@^3.0.0 || ^4.0.0": 1088 | version "4.0.0" 1089 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1090 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1091 | 1092 | js-yaml@^4.1.0: 1093 | version "4.1.0" 1094 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 1095 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 1096 | dependencies: 1097 | argparse "^2.0.1" 1098 | 1099 | json-schema-traverse@^0.4.1: 1100 | version "0.4.1" 1101 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1102 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1103 | 1104 | json-stable-stringify-without-jsonify@^1.0.1: 1105 | version "1.0.1" 1106 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 1107 | integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== 1108 | 1109 | json5@^1.0.1: 1110 | version "1.0.1" 1111 | resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" 1112 | integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== 1113 | dependencies: 1114 | minimist "^1.2.0" 1115 | 1116 | "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.2: 1117 | version "3.3.2" 1118 | resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.2.tgz#afe5efe4332cd3515c065072bd4d6b0aa22152bd" 1119 | integrity sha512-4ZCADZHRkno244xlNnn4AOG6sRQ7iBZ5BbgZ4vW4y5IZw7cVUD1PPeblm1xx/nfmMxPdt/LHsXZW8z/j58+l9Q== 1120 | dependencies: 1121 | array-includes "^3.1.5" 1122 | object.assign "^4.1.2" 1123 | 1124 | language-subtag-registry@~0.3.2: 1125 | version "0.3.22" 1126 | resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" 1127 | integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== 1128 | 1129 | language-tags@^1.0.5: 1130 | version "1.0.5" 1131 | resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" 1132 | integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ== 1133 | dependencies: 1134 | language-subtag-registry "~0.3.2" 1135 | 1136 | levn@^0.4.1: 1137 | version "0.4.1" 1138 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" 1139 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 1140 | dependencies: 1141 | prelude-ls "^1.2.1" 1142 | type-check "~0.4.0" 1143 | 1144 | locate-path@^2.0.0: 1145 | version "2.0.0" 1146 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 1147 | integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== 1148 | dependencies: 1149 | p-locate "^2.0.0" 1150 | path-exists "^3.0.0" 1151 | 1152 | lodash.merge@^4.6.2: 1153 | version "4.6.2" 1154 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" 1155 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== 1156 | 1157 | loose-envify@^1.1.0, loose-envify@^1.4.0: 1158 | version "1.4.0" 1159 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 1160 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 1161 | dependencies: 1162 | js-tokens "^3.0.0 || ^4.0.0" 1163 | 1164 | lru-cache@^6.0.0: 1165 | version "6.0.0" 1166 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 1167 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1168 | dependencies: 1169 | yallist "^4.0.0" 1170 | 1171 | merge2@^1.3.0, merge2@^1.4.1: 1172 | version "1.4.1" 1173 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 1174 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 1175 | 1176 | micromatch@^4.0.4: 1177 | version "4.0.5" 1178 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 1179 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 1180 | dependencies: 1181 | braces "^3.0.2" 1182 | picomatch "^2.3.1" 1183 | 1184 | minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: 1185 | version "3.1.2" 1186 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 1187 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 1188 | dependencies: 1189 | brace-expansion "^1.1.7" 1190 | 1191 | minimist@^1.2.0, minimist@^1.2.6: 1192 | version "1.2.6" 1193 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" 1194 | integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== 1195 | 1196 | ms@2.0.0: 1197 | version "2.0.0" 1198 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1199 | integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== 1200 | 1201 | ms@2.1.2: 1202 | version "2.1.2" 1203 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1204 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1205 | 1206 | ms@^2.1.1: 1207 | version "2.1.3" 1208 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 1209 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 1210 | 1211 | nanoid@^3.3.4: 1212 | version "3.3.4" 1213 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" 1214 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== 1215 | 1216 | natural-compare@^1.4.0: 1217 | version "1.4.0" 1218 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 1219 | integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== 1220 | 1221 | next@12.2.3: 1222 | version "12.2.3" 1223 | resolved "https://registry.yarnpkg.com/next/-/next-12.2.3.tgz#c29d235ce480e589894dfab3120dade25d015a22" 1224 | integrity sha512-TA0tmSA6Dk6S6kfvCNbF7CWYW8468gZUxr/3/30z4KvAQbXnl2ASYZElVe7q/hBW/1F1ee0tSBlHa4/sn+ZIBw== 1225 | dependencies: 1226 | "@next/env" "12.2.3" 1227 | "@swc/helpers" "0.4.3" 1228 | caniuse-lite "^1.0.30001332" 1229 | postcss "8.4.14" 1230 | styled-jsx "5.0.2" 1231 | use-sync-external-store "1.2.0" 1232 | optionalDependencies: 1233 | "@next/swc-android-arm-eabi" "12.2.3" 1234 | "@next/swc-android-arm64" "12.2.3" 1235 | "@next/swc-darwin-arm64" "12.2.3" 1236 | "@next/swc-darwin-x64" "12.2.3" 1237 | "@next/swc-freebsd-x64" "12.2.3" 1238 | "@next/swc-linux-arm-gnueabihf" "12.2.3" 1239 | "@next/swc-linux-arm64-gnu" "12.2.3" 1240 | "@next/swc-linux-arm64-musl" "12.2.3" 1241 | "@next/swc-linux-x64-gnu" "12.2.3" 1242 | "@next/swc-linux-x64-musl" "12.2.3" 1243 | "@next/swc-win32-arm64-msvc" "12.2.3" 1244 | "@next/swc-win32-ia32-msvc" "12.2.3" 1245 | "@next/swc-win32-x64-msvc" "12.2.3" 1246 | 1247 | object-assign@^4.1.1: 1248 | version "4.1.1" 1249 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1250 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== 1251 | 1252 | object-inspect@^1.12.0, object-inspect@^1.9.0: 1253 | version "1.12.2" 1254 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" 1255 | integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== 1256 | 1257 | object-keys@^1.1.1: 1258 | version "1.1.1" 1259 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 1260 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 1261 | 1262 | object.assign@^4.1.2: 1263 | version "4.1.2" 1264 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" 1265 | integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== 1266 | dependencies: 1267 | call-bind "^1.0.0" 1268 | define-properties "^1.1.3" 1269 | has-symbols "^1.0.1" 1270 | object-keys "^1.1.1" 1271 | 1272 | object.entries@^1.1.5: 1273 | version "1.1.5" 1274 | resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" 1275 | integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== 1276 | dependencies: 1277 | call-bind "^1.0.2" 1278 | define-properties "^1.1.3" 1279 | es-abstract "^1.19.1" 1280 | 1281 | object.fromentries@^2.0.5: 1282 | version "2.0.5" 1283 | resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" 1284 | integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== 1285 | dependencies: 1286 | call-bind "^1.0.2" 1287 | define-properties "^1.1.3" 1288 | es-abstract "^1.19.1" 1289 | 1290 | object.hasown@^1.1.1: 1291 | version "1.1.1" 1292 | resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.1.tgz#ad1eecc60d03f49460600430d97f23882cf592a3" 1293 | integrity sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A== 1294 | dependencies: 1295 | define-properties "^1.1.4" 1296 | es-abstract "^1.19.5" 1297 | 1298 | object.values@^1.1.5: 1299 | version "1.1.5" 1300 | resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" 1301 | integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== 1302 | dependencies: 1303 | call-bind "^1.0.2" 1304 | define-properties "^1.1.3" 1305 | es-abstract "^1.19.1" 1306 | 1307 | once@^1.3.0: 1308 | version "1.4.0" 1309 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1310 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 1311 | dependencies: 1312 | wrappy "1" 1313 | 1314 | optionator@^0.9.1: 1315 | version "0.9.1" 1316 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" 1317 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== 1318 | dependencies: 1319 | deep-is "^0.1.3" 1320 | fast-levenshtein "^2.0.6" 1321 | levn "^0.4.1" 1322 | prelude-ls "^1.2.1" 1323 | type-check "^0.4.0" 1324 | word-wrap "^1.2.3" 1325 | 1326 | p-limit@^1.1.0: 1327 | version "1.3.0" 1328 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" 1329 | integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== 1330 | dependencies: 1331 | p-try "^1.0.0" 1332 | 1333 | p-locate@^2.0.0: 1334 | version "2.0.0" 1335 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 1336 | integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== 1337 | dependencies: 1338 | p-limit "^1.1.0" 1339 | 1340 | p-try@^1.0.0: 1341 | version "1.0.0" 1342 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" 1343 | integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== 1344 | 1345 | parent-module@^1.0.0: 1346 | version "1.0.1" 1347 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 1348 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 1349 | dependencies: 1350 | callsites "^3.0.0" 1351 | 1352 | path-exists@^3.0.0: 1353 | version "3.0.0" 1354 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 1355 | integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== 1356 | 1357 | path-is-absolute@^1.0.0: 1358 | version "1.0.1" 1359 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1360 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 1361 | 1362 | path-key@^3.1.0: 1363 | version "3.1.1" 1364 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 1365 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 1366 | 1367 | path-parse@^1.0.7: 1368 | version "1.0.7" 1369 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 1370 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1371 | 1372 | path-type@^4.0.0: 1373 | version "4.0.0" 1374 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 1375 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 1376 | 1377 | picocolors@^1.0.0: 1378 | version "1.0.0" 1379 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 1380 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 1381 | 1382 | picomatch@^2.3.1: 1383 | version "2.3.1" 1384 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 1385 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 1386 | 1387 | postcss@8.4.14: 1388 | version "8.4.14" 1389 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" 1390 | integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== 1391 | dependencies: 1392 | nanoid "^3.3.4" 1393 | picocolors "^1.0.0" 1394 | source-map-js "^1.0.2" 1395 | 1396 | prelude-ls@^1.2.1: 1397 | version "1.2.1" 1398 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" 1399 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 1400 | 1401 | prop-types@^15.8.1: 1402 | version "15.8.1" 1403 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" 1404 | integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== 1405 | dependencies: 1406 | loose-envify "^1.4.0" 1407 | object-assign "^4.1.1" 1408 | react-is "^16.13.1" 1409 | 1410 | punycode@^2.1.0: 1411 | version "2.1.1" 1412 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 1413 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 1414 | 1415 | queue-microtask@^1.2.2: 1416 | version "1.2.3" 1417 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 1418 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 1419 | 1420 | react-dom@18.2.0: 1421 | version "18.2.0" 1422 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" 1423 | integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== 1424 | dependencies: 1425 | loose-envify "^1.1.0" 1426 | scheduler "^0.23.0" 1427 | 1428 | react-is@^16.13.1: 1429 | version "16.13.1" 1430 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" 1431 | integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== 1432 | 1433 | react@18.2.0: 1434 | version "18.2.0" 1435 | resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" 1436 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== 1437 | dependencies: 1438 | loose-envify "^1.1.0" 1439 | 1440 | regenerator-runtime@^0.13.4: 1441 | version "0.13.9" 1442 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" 1443 | integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== 1444 | 1445 | regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3: 1446 | version "1.4.3" 1447 | resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" 1448 | integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== 1449 | dependencies: 1450 | call-bind "^1.0.2" 1451 | define-properties "^1.1.3" 1452 | functions-have-names "^1.2.2" 1453 | 1454 | regexpp@^3.2.0: 1455 | version "3.2.0" 1456 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" 1457 | integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== 1458 | 1459 | resolve-from@^4.0.0: 1460 | version "4.0.0" 1461 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 1462 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 1463 | 1464 | resolve@^1.20.0, resolve@^1.22.0: 1465 | version "1.22.1" 1466 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 1467 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 1468 | dependencies: 1469 | is-core-module "^2.9.0" 1470 | path-parse "^1.0.7" 1471 | supports-preserve-symlinks-flag "^1.0.0" 1472 | 1473 | resolve@^2.0.0-next.3: 1474 | version "2.0.0-next.4" 1475 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" 1476 | integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== 1477 | dependencies: 1478 | is-core-module "^2.9.0" 1479 | path-parse "^1.0.7" 1480 | supports-preserve-symlinks-flag "^1.0.0" 1481 | 1482 | reusify@^1.0.4: 1483 | version "1.0.4" 1484 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 1485 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 1486 | 1487 | rimraf@^3.0.2: 1488 | version "3.0.2" 1489 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 1490 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 1491 | dependencies: 1492 | glob "^7.1.3" 1493 | 1494 | run-parallel@^1.1.9: 1495 | version "1.2.0" 1496 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 1497 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 1498 | dependencies: 1499 | queue-microtask "^1.2.2" 1500 | 1501 | scheduler@^0.23.0: 1502 | version "0.23.0" 1503 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" 1504 | integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== 1505 | dependencies: 1506 | loose-envify "^1.1.0" 1507 | 1508 | semver@^6.3.0: 1509 | version "6.3.0" 1510 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1511 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1512 | 1513 | semver@^7.3.7: 1514 | version "7.3.7" 1515 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" 1516 | integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== 1517 | dependencies: 1518 | lru-cache "^6.0.0" 1519 | 1520 | shebang-command@^2.0.0: 1521 | version "2.0.0" 1522 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 1523 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1524 | dependencies: 1525 | shebang-regex "^3.0.0" 1526 | 1527 | shebang-regex@^3.0.0: 1528 | version "3.0.0" 1529 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 1530 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1531 | 1532 | side-channel@^1.0.4: 1533 | version "1.0.4" 1534 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" 1535 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== 1536 | dependencies: 1537 | call-bind "^1.0.0" 1538 | get-intrinsic "^1.0.2" 1539 | object-inspect "^1.9.0" 1540 | 1541 | slash@^3.0.0: 1542 | version "3.0.0" 1543 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 1544 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 1545 | 1546 | source-map-js@^1.0.2: 1547 | version "1.0.2" 1548 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 1549 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 1550 | 1551 | string.prototype.matchall@^4.0.7: 1552 | version "4.0.7" 1553 | resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz#8e6ecb0d8a1fb1fda470d81acecb2dba057a481d" 1554 | integrity sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg== 1555 | dependencies: 1556 | call-bind "^1.0.2" 1557 | define-properties "^1.1.3" 1558 | es-abstract "^1.19.1" 1559 | get-intrinsic "^1.1.1" 1560 | has-symbols "^1.0.3" 1561 | internal-slot "^1.0.3" 1562 | regexp.prototype.flags "^1.4.1" 1563 | side-channel "^1.0.4" 1564 | 1565 | string.prototype.trimend@^1.0.5: 1566 | version "1.0.5" 1567 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" 1568 | integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== 1569 | dependencies: 1570 | call-bind "^1.0.2" 1571 | define-properties "^1.1.4" 1572 | es-abstract "^1.19.5" 1573 | 1574 | string.prototype.trimstart@^1.0.5: 1575 | version "1.0.5" 1576 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" 1577 | integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== 1578 | dependencies: 1579 | call-bind "^1.0.2" 1580 | define-properties "^1.1.4" 1581 | es-abstract "^1.19.5" 1582 | 1583 | strip-ansi@^6.0.1: 1584 | version "6.0.1" 1585 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 1586 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1587 | dependencies: 1588 | ansi-regex "^5.0.1" 1589 | 1590 | strip-bom@^3.0.0: 1591 | version "3.0.0" 1592 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 1593 | integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== 1594 | 1595 | strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: 1596 | version "3.1.1" 1597 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 1598 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 1599 | 1600 | styled-jsx@5.0.2: 1601 | version "5.0.2" 1602 | resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.2.tgz#ff230fd593b737e9e68b630a694d460425478729" 1603 | integrity sha512-LqPQrbBh3egD57NBcHET4qcgshPks+yblyhPlH2GY8oaDgKs8SK4C3dBh3oSJjgzJ3G5t1SYEZGHkP+QEpX9EQ== 1604 | 1605 | supports-color@^7.1.0: 1606 | version "7.2.0" 1607 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1608 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1609 | dependencies: 1610 | has-flag "^4.0.0" 1611 | 1612 | supports-preserve-symlinks-flag@^1.0.0: 1613 | version "1.0.0" 1614 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 1615 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 1616 | 1617 | text-table@^0.2.0: 1618 | version "0.2.0" 1619 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 1620 | integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== 1621 | 1622 | to-regex-range@^5.0.1: 1623 | version "5.0.1" 1624 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1625 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1626 | dependencies: 1627 | is-number "^7.0.0" 1628 | 1629 | tsconfig-paths@^3.14.1: 1630 | version "3.14.1" 1631 | resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" 1632 | integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== 1633 | dependencies: 1634 | "@types/json5" "^0.0.29" 1635 | json5 "^1.0.1" 1636 | minimist "^1.2.6" 1637 | strip-bom "^3.0.0" 1638 | 1639 | tslib@^1.8.1: 1640 | version "1.14.1" 1641 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 1642 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 1643 | 1644 | tslib@^2.4.0: 1645 | version "2.4.0" 1646 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" 1647 | integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== 1648 | 1649 | tsutils@^3.21.0: 1650 | version "3.21.0" 1651 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" 1652 | integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== 1653 | dependencies: 1654 | tslib "^1.8.1" 1655 | 1656 | type-check@^0.4.0, type-check@~0.4.0: 1657 | version "0.4.0" 1658 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" 1659 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 1660 | dependencies: 1661 | prelude-ls "^1.2.1" 1662 | 1663 | type-fest@^0.20.2: 1664 | version "0.20.2" 1665 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" 1666 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 1667 | 1668 | typescript@4.7.4: 1669 | version "4.7.4" 1670 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" 1671 | integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== 1672 | 1673 | unbox-primitive@^1.0.2: 1674 | version "1.0.2" 1675 | resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" 1676 | integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== 1677 | dependencies: 1678 | call-bind "^1.0.2" 1679 | has-bigints "^1.0.2" 1680 | has-symbols "^1.0.3" 1681 | which-boxed-primitive "^1.0.2" 1682 | 1683 | uri-js@^4.2.2: 1684 | version "4.4.1" 1685 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 1686 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 1687 | dependencies: 1688 | punycode "^2.1.0" 1689 | 1690 | use-sync-external-store@1.2.0: 1691 | version "1.2.0" 1692 | resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" 1693 | integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== 1694 | 1695 | v8-compile-cache@^2.0.3: 1696 | version "2.3.0" 1697 | resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" 1698 | integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== 1699 | 1700 | which-boxed-primitive@^1.0.2: 1701 | version "1.0.2" 1702 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" 1703 | integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== 1704 | dependencies: 1705 | is-bigint "^1.0.1" 1706 | is-boolean-object "^1.1.0" 1707 | is-number-object "^1.0.4" 1708 | is-string "^1.0.5" 1709 | is-symbol "^1.0.3" 1710 | 1711 | which@^2.0.1: 1712 | version "2.0.2" 1713 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 1714 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 1715 | dependencies: 1716 | isexe "^2.0.0" 1717 | 1718 | word-wrap@^1.2.3: 1719 | version "1.2.3" 1720 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 1721 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 1722 | 1723 | wrappy@1: 1724 | version "1.0.2" 1725 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1726 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 1727 | 1728 | yallist@^4.0.0: 1729 | version "4.0.0" 1730 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 1731 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 1732 | --------------------------------------------------------------------------------