├── .env.example ├── .gitignore ├── README.md ├── components ├── Header.tsx ├── Layout.tsx └── Post.tsx ├── docker-compose.yml ├── lib └── prisma.ts ├── next-env.d.ts ├── package-lock.json ├── package.json ├── pages ├── _app.tsx ├── api │ ├── auth │ │ └── [...nextauth].ts │ ├── post │ │ ├── [id].ts │ │ └── index.ts │ └── publish │ │ └── [id].ts ├── create.tsx ├── drafts.tsx ├── index.tsx └── p │ └── [id].tsx ├── prisma ├── migrations │ ├── 20220408154015_init │ │ └── migration.sql │ └── migration_lock.toml ├── schema.prisma └── seed.ts ├── renovate.json └── tsconfig.json /.env.example: -------------------------------------------------------------------------------- 1 | # Environment variables declared in this file are automatically made available to Prisma. 2 | # See the documentation for more detail: https://pris.ly/d/prisma-schema#accessing-environment-variables-from-the-schema 3 | 4 | # Prisma supports the native connection string format for PostgreSQL, MySQL, SQLite, SQL Server, MongoDB and CockroachDB (Preview). 5 | # See the documentation for all the connection string options: https://pris.ly/d/connection-strings 6 | 7 | DATABASE_URL="postgresql://postgres:postgres@localhost:5432/blog" 8 | 9 | SECRET='random-secret-string' 10 | 11 | # When deploying to production, set the `NEXTAUTH_URL` environment variable to the canonical URL of your site. 12 | NEXTAUTH_URL='http://localhost:3000' 13 | 14 | # GitHub OAuth 15 | GITHUB_ID="" 16 | GITHUB_SECRET="" 17 | 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .next/ 3 | .env -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Fullstack Authentication Example with Next.js and NextAuth.js 2 | 3 | With Railway Integration 4 | 5 | [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fprisma%2Ffullstack-prisma-nextjs-blog&env=SECRET,GITHUB_ID,GITHUB_SECRET&project-name=fullstack-prisma-nextjs-blog&repo-name=fullstack-prisma-nextjs-blog&integration-ids=oac_eGEyJUf8jDjOQSCNJiyYRbfX) 6 | 7 | Without the Railway integration 8 | 9 | [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fprisma%2Ffullstack-prisma-nextjs-blog&env=DATABASE_URL,SECRET,GITHUB_ID,GITHUB_SECRET&project-name=fullstack-prisma-nextjs-blog&repo-name=fullstack-prisma-nextjs-blog) 10 | 11 | This is a starter that shows how to implement a **fullstack app in TypeScript with [Next.js](https://nextjs.org/)** with the following stack: 12 | 13 | - [React](https://reactjs.org/) (frontend) 14 | - [Next.js API routes](https://nextjs.org/docs/api-routes/introduction) 15 | - [Prisma Client](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client) (backend). 16 | - [NextAuth.js](https://next-auth.js.org/) for authentication. 17 | - [PostgreSQL](http://postgresql.org/) as the database of choice. 18 | 19 | Before you deploy the application to Vercel, ensure you 20 | - (Optional) Sign in to Railway and create a PostgreSQL database 21 | - Create a separate GitHub OAuth application before you deploy your application 22 | - Update the **Authorization callback URL** with the URL of the deployed app after successfully deploying the app 23 | 24 | Note that the app uses a mix of server-side rendering with `getServerSideProps` (SSR) and static site generation with `getStaticProps` (SSG). When possible, SSG is used to make database queries already at build-time (e.g. when fetching the [public feed](./pages/index.tsx)). Sometimes, the user requesting data needs to be authenticated, so SSR is being used to render data dynamically on the server-side (e.g. when viewing a user's [drafts](./pages/drafts.tsx)). 25 | 26 | ## Getting started 27 | 28 | ### 1. Download and install dependencies 29 | 30 | Clone this repository: 31 | 32 | ``` 33 | git clone git@github.com:prisma/prisma-nextjs-blog.git 34 | ``` 35 | 36 | Install npm dependencies: 37 | 38 | ``` 39 | cd prisma-nextjs-blog 40 | npm install 41 | ``` 42 | 43 | 44 | 45 | ### 2. Create and seed the database 46 | 47 | If you're using Docker on your computer, the following script to set up PostgreSQL database using the `docker-compose.yml` file at the root of your project: 48 | 49 | ``` 50 | npm run db:up 51 | ``` 52 | 53 | Run the following command to create your PostgreSQL database. This also creates the `User`, `Post`, `Account`, `Session` and `VerificationToken` tables that are defined in [`prisma/schema.prisma`](./prisma/schema.prisma): 54 | 55 | ``` 56 | npx prisma migrate dev --name init 57 | ``` 58 | 59 | When `npx prisma migrate dev` is executed against a newly created database, seeding is also triggered. The seed file in [`prisma/seed.ts`](./prisma/seed.ts) will be executed and your database will be populated with the sample data. 60 | 61 | 62 | ### 3. Configuring your authentication provider 63 | 64 | In order to get this example to work, you need to configure the [GitHub](https://next-auth.js.org/providers/github) authentication provider from NextAuth.js. 65 | 66 | #### Configuring the GitHub authentication provider 67 | 68 |
Expand to learn how you can configure the GitHub authentication provider 69 | 70 | First, log into your [GitHub](https://github.com/) account. 71 | 72 | Then, navigate to [**Settings**](https://github.com/settings/profile), then open to [**Developer Settings**](https://github.com/settings/apps), then switch to [**OAuth Apps**](https://github.com/settings/developers). 73 | 74 | ![](https://res.cloudinary.com/practicaldev/image/fetch/s--fBiGBXbE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/4eQrMAs.png) 75 | 76 | Clicking on the **Register a new application** button will redirect you to a registration form to fill out some information for your app. The **Authorization callback URL** should be the Next.js `/api/auth` route. 77 | 78 | An important thing to note here is that the **Authorization callback URL** field only supports a single URL, unlike e.g. Auth0, which allows you to add additional callback URLs separated with a comma. This means if you want to deploy your app later with a production URL, you will need to set up a new GitHub OAuth app. 79 | 80 | ![](https://res.cloudinary.com/practicaldev/image/fetch/s--v7s0OEs_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i.imgur.com/tYtq5fd.png) 81 | 82 | Click on the **Register application** button, and then you will be able to find your newly generated **Client ID** and **Client Secret**. Copy and paste this info into the [`.env`](./env) file in the root directory. 83 | 84 | The resulting section in the `.env` file might look like this: 85 | 86 | ``` 87 | # GitHub oAuth 88 | GITHUB_ID=6bafeb321963449bdf51 89 | GITHUB_SECRET=509298c32faa283f28679ad6de6f86b2472e1bff 90 | ``` 91 | 92 |
93 | 94 | 95 | ### 4. Start the app 96 | 97 | ``` 98 | npm run dev 99 | ``` 100 | 101 | The app is now running, navigate to [`http://localhost:3000/`](http://localhost:3000/) in your browser to explore its UI. 102 | 103 | ## Evolving the app 104 | 105 | Evolving the application typically requires three steps: 106 | 107 | 1. Migrate your database using Prisma Migrate 108 | 1. Update your server-side application code 109 | 1. Build new UI features in React 110 | 111 | For the following example scenario, assume you want to add a "profile" feature to the app where users can create a profile and write a short bio about themselves. 112 | 113 | ### 1. Migrate your database using Prisma Migrate 114 | 115 | The first step is to add a new table, e.g. called `Profile`, to the database. You can do this by adding a new model to your [Prisma schema file](./prisma/schema.prisma) file and then running a migration afterwards: 116 | 117 | ```diff 118 | // schema.prisma 119 | 120 | model Post { 121 | id Int @default(autoincrement()) @id 122 | title String 123 | content String? 124 | published Boolean @default(false) 125 | author User? @relation(fields: [authorId], references: [id]) 126 | authorId Int 127 | } 128 | 129 | model User { 130 | id Int @default(autoincrement()) @id 131 | name String? 132 | email String @unique 133 | posts Post[] 134 | + profile Profile? 135 | } 136 | 137 | +model Profile { 138 | + id Int @default(autoincrement()) @id 139 | + bio String? 140 | + userId Int @unique 141 | + user User @relation(fields: [userId], references: [id]) 142 | +} 143 | ``` 144 | 145 | Once you've updated your data model, you can execute the changes against your database with the following command: 146 | 147 | ``` 148 | npx prisma migrate dev 149 | ``` 150 | 151 | ### 2. Update your application code 152 | 153 | You can now use your `PrismaClient` instance to perform operations against the new `Profile` table. Here are some examples: 154 | 155 | #### Create a new profile for an existing user 156 | 157 | ```ts 158 | const profile = await prisma.profile.create({ 159 | data: { 160 | bio: "Hello World", 161 | user: { 162 | connect: { email: "alice@prisma.io" }, 163 | }, 164 | }, 165 | }); 166 | ``` 167 | 168 | #### Create a new user with a new profile 169 | 170 | ```ts 171 | const user = await prisma.user.create({ 172 | data: { 173 | email: "john@prisma.io", 174 | name: "John", 175 | profile: { 176 | create: { 177 | bio: "Hello World", 178 | }, 179 | }, 180 | }, 181 | }); 182 | ``` 183 | 184 | #### Update the profile of an existing user 185 | 186 | ```ts 187 | const userWithUpdatedProfile = await prisma.user.update({ 188 | where: { email: "alice@prisma.io" }, 189 | data: { 190 | profile: { 191 | update: { 192 | bio: "Hello Friends", 193 | }, 194 | }, 195 | }, 196 | }); 197 | ``` 198 | 199 | 200 | ### 3. Build new UI features in React 201 | 202 | Once you have added a new endpoint to the API (e.g. `/api/profile` with `/POST`, `/PUT` and `GET` operations), you can start building a new UI component in React. It could e.g. be called `profile.tsx` and would be located in the `pages` directory. 203 | 204 | In the application code, you can access the new endpoint via `fetch` operations and populate the UI with the data you receive from the API calls. 205 | 206 | 207 | ## Switch to another database (e.g. PostgreSQL, MySQL, SQL Server, MongoDB) 208 | 209 | If you want to try this example with another database than SQLite, you can adjust the the database connection in [`prisma/schema.prisma`](./prisma/schema.prisma) by reconfiguring the `datasource` block. 210 | 211 | Learn more about the different connection configurations in the [docs](https://www.prisma.io/docs/reference/database-reference/connection-urls). 212 | 213 |
Expand for an overview of example configurations with different databases 214 | 215 | ### PostgreSQL 216 | 217 | For PostgreSQL, the connection URL has the following structure: 218 | 219 | ```prisma 220 | datasource db { 221 | provider = "postgresql" 222 | url = "postgresql://USER:PASSWORD@HOST:PORT/DATABASE?schema=SCHEMA" 223 | } 224 | ``` 225 | 226 | Here is an example connection string with a local PostgreSQL database: 227 | 228 | ```prisma 229 | datasource db { 230 | provider = "postgresql" 231 | url = "postgresql://janedoe:mypassword@localhost:5432/notesapi?schema=public" 232 | } 233 | ``` 234 | 235 | ### MySQL 236 | 237 | For MySQL, the connection URL has the following structure: 238 | 239 | ```prisma 240 | datasource db { 241 | provider = "mysql" 242 | url = "mysql://USER:PASSWORD@HOST:PORT/DATABASE" 243 | } 244 | ``` 245 | 246 | Here is an example connection string with a local MySQL database: 247 | 248 | ```prisma 249 | datasource db { 250 | provider = "mysql" 251 | url = "mysql://janedoe:mypassword@localhost:3306/notesapi" 252 | } 253 | ``` 254 | 255 | ### Microsoft SQL Server 256 | 257 | Here is an example connection string with a local Microsoft SQL Server database: 258 | 259 | ```prisma 260 | datasource db { 261 | provider = "sqlserver" 262 | url = "sqlserver://localhost:1433;initial catalog=sample;user=sa;password=mypassword;" 263 | } 264 | ``` 265 | 266 | ### MongoDB 267 | 268 | Here is an example connection string with a local MongoDB database: 269 | 270 | ```prisma 271 | datasource db { 272 | provider = "mongodb" 273 | url = "mongodb://USERNAME:PASSWORD@HOST/DATABASE?authSource=admin&retryWrites=true&w=majority" 274 | } 275 | ``` 276 | Because MongoDB is currently in [Preview](https://www.prisma.io/docs/about/releases#preview), you need to specify the `previewFeatures` on your `generator` block: 277 | 278 | ``` 279 | generator client { 280 | provider = "prisma-client-js" 281 | previewFeatures = ["mongodb"] 282 | } 283 | ``` 284 |
285 | 286 | ## Next steps 287 | 288 | - Check out the [Prisma docs](https://www.prisma.io/docs) 289 | - Share your feedback in the [Prisma Discord](https://pris.ly/discord/) 290 | - Create issues and ask questions on [GitHub](https://github.com/prisma/prisma/) 291 | - Watch our biweekly "What's new in Prisma" livestreams on [Youtube](https://www.youtube.com/channel/UCptAHlN1gdwD89tFM3ENb6w) 292 | -------------------------------------------------------------------------------- /components/Header.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import Link from "next/link"; 3 | import { useRouter } from "next/router"; 4 | import { signOut, useSession } from "next-auth/react"; 5 | 6 | const Header: React.FC = () => { 7 | const router = useRouter(); 8 | const isActive: (pathname: string) => boolean = (pathname) => 9 | router.pathname === pathname; 10 | 11 | const {data: session, status} = useSession(); 12 | 13 | let left = ( 14 |
15 | 16 | 17 | Feed 18 | 19 | 20 | 39 |
40 | ); 41 | 42 | let right = null; 43 | 44 | if (status === 'loading') { 45 | left = ( 46 |
47 | 48 | 49 | Feed 50 | 51 | 52 | 71 |
72 | ); 73 | right = ( 74 |
75 |

Validating session ...

76 | 81 |
82 | ); 83 | } 84 | 85 | if (!session) { 86 | right = ( 87 |
88 | 89 | Log in 90 | 91 | 112 |
113 | ); 114 | } 115 | 116 | if (session) { 117 | left = ( 118 |
119 | 120 | 121 | Feed 122 | 123 | 124 | 125 | My drafts 126 | 127 | 146 |
147 | ); 148 | right = ( 149 |
150 |

151 | {session.user.name} ({session.user.email}) 152 |

153 | 154 | 157 | 158 | 161 | 192 |
193 | ); 194 | } 195 | 196 | return ( 197 | 208 | ); 209 | }; 210 | 211 | export default Header; 212 | -------------------------------------------------------------------------------- /components/Layout.tsx: -------------------------------------------------------------------------------- 1 | import React, { ReactNode } from "react"; 2 | import Header from "./Header"; 3 | 4 | type Props = { 5 | children: ReactNode; 6 | }; 7 | 8 | const Layout: React.FC = (props) => ( 9 |
10 |
11 |
{props.children}
12 | 42 | 47 |
48 | ); 49 | 50 | export default Layout; 51 | -------------------------------------------------------------------------------- /components/Post.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import Router from "next/router"; 3 | import ReactMarkdown from "react-markdown"; 4 | 5 | export type PostProps = { 6 | id: number; 7 | title: string; 8 | author: { 9 | name: string; 10 | email: string; 11 | } | null; 12 | content: string; 13 | published: boolean; 14 | }; 15 | 16 | const Post: React.FC<{ post: PostProps }> = ({ post }) => { 17 | const authorName = post.author ? post.author.name : "Unknown author"; 18 | return ( 19 |
Router.push("/p/[id]", `/p/${post.id}`)}> 20 |

{post.title}

21 | By {authorName} 22 | 23 | 29 |
30 | ); 31 | }; 32 | 33 | export default Post; 34 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3.7" 2 | services: 3 | postgres: 4 | image: postgres:latest 5 | restart: always 6 | environment: 7 | - POSTGRES_USER=postgres 8 | - POSTGRES_PASSWORD=postgres 9 | ports: 10 | - "5432:5432" 11 | volumes: 12 | - postgres:/var/lib/postgresql/data 13 | volumes: 14 | postgres: 15 | -------------------------------------------------------------------------------- /lib/prisma.ts: -------------------------------------------------------------------------------- 1 | import { PrismaClient } from "@prisma/client"; 2 | 3 | // PrismaClient is attached to the `global` object in development to prevent 4 | // exhausting your database connection limit. 5 | // 6 | // Learn more: 7 | // https://pris.ly/d/help/next-js-best-practices 8 | 9 | let prisma: PrismaClient 10 | 11 | if (process.env.NODE_ENV === 'production') { 12 | prisma = new PrismaClient() 13 | } else { 14 | if (!global.prisma) { 15 | global.prisma = new PrismaClient() 16 | } 17 | prisma = global.prisma 18 | } 19 | export default prisma -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hello-next", 3 | "version": "1.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "hello-next", 9 | "version": "1.0.0", 10 | "license": "MIT", 11 | "dependencies": { 12 | "@next-auth/prisma-adapter": "1.0.3", 13 | "@prisma/client": "4.10.1", 14 | "next": "12.1.4", 15 | "next-auth": "4.3.1", 16 | "react": "18.2.0", 17 | "react-dom": "18.2.0", 18 | "react-markdown": "8.0.2" 19 | }, 20 | "devDependencies": { 21 | "@types/next-auth": "3.13.0", 22 | "@types/node": "16.18.66", 23 | "@types/react": "17.0.44", 24 | "prisma": "4.10.1", 25 | "ts-node": "10.7.0", 26 | "typescript": "4.6.3" 27 | } 28 | }, 29 | "node_modules/@babel/runtime": { 30 | "version": "7.17.9", 31 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", 32 | "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", 33 | "dependencies": { 34 | "regenerator-runtime": "^0.13.4" 35 | }, 36 | "engines": { 37 | "node": ">=6.9.0" 38 | } 39 | }, 40 | "node_modules/@cspotcode/source-map-consumer": { 41 | "version": "0.8.0", 42 | "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", 43 | "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", 44 | "dev": true, 45 | "engines": { 46 | "node": ">= 12" 47 | } 48 | }, 49 | "node_modules/@cspotcode/source-map-support": { 50 | "version": "0.7.0", 51 | "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", 52 | "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", 53 | "dev": true, 54 | "dependencies": { 55 | "@cspotcode/source-map-consumer": "0.8.0" 56 | }, 57 | "engines": { 58 | "node": ">=12" 59 | } 60 | }, 61 | "node_modules/@next-auth/prisma-adapter": { 62 | "version": "1.0.3", 63 | "resolved": "https://registry.npmjs.org/@next-auth/prisma-adapter/-/prisma-adapter-1.0.3.tgz", 64 | "integrity": "sha512-3Lq1cD3ytKM3EGKJZ4UZvlqshLtlPvYxLeCrUV9ifYwYlq51kmDaHjsIawlp8EbH5pE1UhlsvtlXMery7RghtA==", 65 | "peerDependencies": { 66 | "@prisma/client": ">=2.26.0 || >=3", 67 | "next-auth": "^4.0.1" 68 | } 69 | }, 70 | "node_modules/@next/env": { 71 | "version": "12.1.4", 72 | "resolved": "https://registry.npmjs.org/@next/env/-/env-12.1.4.tgz", 73 | "integrity": "sha512-7gQwotJDKnfMxxXd8xJ2vsX5AzyDxO3zou0+QOXX8/unypA6icw5+wf6A62yKZ6qQ4UZHHxS68pb6UV+wNneXg==" 74 | }, 75 | "node_modules/@next/swc-android-arm-eabi": { 76 | "version": "12.1.4", 77 | "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.1.4.tgz", 78 | "integrity": "sha512-FJg/6a3s2YrUaqZ+/DJZzeZqfxbbWrynQMT1C5wlIEq9aDLXCFpPM/PiOyJh0ahxc0XPmi6uo38Poq+GJTuKWw==", 79 | "cpu": [ 80 | "arm" 81 | ], 82 | "optional": true, 83 | "os": [ 84 | "android" 85 | ], 86 | "engines": { 87 | "node": ">= 10" 88 | } 89 | }, 90 | "node_modules/@next/swc-android-arm64": { 91 | "version": "12.1.4", 92 | "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-12.1.4.tgz", 93 | "integrity": "sha512-LXraazvQQFBgxIg3Htny6G5V5he9EK7oS4jWtMdTGIikmD/OGByOv8ZjLuVLZLtVm3UIvaAiGtlQSLecxJoJDw==", 94 | "cpu": [ 95 | "arm64" 96 | ], 97 | "optional": true, 98 | "os": [ 99 | "android" 100 | ], 101 | "engines": { 102 | "node": ">= 10" 103 | } 104 | }, 105 | "node_modules/@next/swc-darwin-arm64": { 106 | "version": "12.1.4", 107 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.4.tgz", 108 | "integrity": "sha512-SSST/dBymecllZxcqTCcSTCu5o1NKk9I+xcvhn/O9nH6GWjgvGgGkNqLbCarCa0jJ1ukvlBA138FagyrmZ/4rQ==", 109 | "cpu": [ 110 | "arm64" 111 | ], 112 | "optional": true, 113 | "os": [ 114 | "darwin" 115 | ], 116 | "engines": { 117 | "node": ">= 10" 118 | } 119 | }, 120 | "node_modules/@next/swc-darwin-x64": { 121 | "version": "12.1.4", 122 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-12.1.4.tgz", 123 | "integrity": "sha512-p1lwdX0TVjaoDXQVuAkjtxVBbCL/urgxiMCBwuPDO7TikpXtSRivi+mIzBj5q7ypgICFmIAOW3TyupXeoPRAnA==", 124 | "cpu": [ 125 | "x64" 126 | ], 127 | "optional": true, 128 | "os": [ 129 | "darwin" 130 | ], 131 | "engines": { 132 | "node": ">= 10" 133 | } 134 | }, 135 | "node_modules/@next/swc-linux-arm-gnueabihf": { 136 | "version": "12.1.4", 137 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.1.4.tgz", 138 | "integrity": "sha512-67PZlgkCn3TDxacdVft0xqDCL7Io1/C4xbAs0+oSQ0xzp6OzN2RNpuKjHJrJgKd0DsE1XZ9sCP27Qv0591yfyg==", 139 | "cpu": [ 140 | "arm" 141 | ], 142 | "optional": true, 143 | "os": [ 144 | "linux" 145 | ], 146 | "engines": { 147 | "node": ">= 10" 148 | } 149 | }, 150 | "node_modules/@next/swc-linux-arm64-gnu": { 151 | "version": "12.1.4", 152 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.1.4.tgz", 153 | "integrity": "sha512-OnOWixhhw7aU22TQdQLYrgpgFq0oA1wGgnjAiHJ+St7MLj82KTDyM9UcymAMbGYy6nG/TFOOHdTmRMtCRNOw0g==", 154 | "cpu": [ 155 | "arm64" 156 | ], 157 | "optional": true, 158 | "os": [ 159 | "linux" 160 | ], 161 | "engines": { 162 | "node": ">= 10" 163 | } 164 | }, 165 | "node_modules/@next/swc-linux-arm64-musl": { 166 | "version": "12.1.4", 167 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.1.4.tgz", 168 | "integrity": "sha512-UoRMzPZnsAavdWtVylYxH8DNC7Uy0i6RrvNwT4PyQVdfANBn2omsUkcH5lgS2O7oaz0nAYLk1vqyZDO7+tJotA==", 169 | "cpu": [ 170 | "arm64" 171 | ], 172 | "optional": true, 173 | "os": [ 174 | "linux" 175 | ], 176 | "engines": { 177 | "node": ">= 10" 178 | } 179 | }, 180 | "node_modules/@next/swc-linux-x64-gnu": { 181 | "version": "12.1.4", 182 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.4.tgz", 183 | "integrity": "sha512-nM+MA/frxlTLUKLJKorctdI20/ugfHRjVEEkcLp/58LGG7slNaP1E5d5dRA1yX6ISjPcQAkywas5VlGCg+uTvA==", 184 | "cpu": [ 185 | "x64" 186 | ], 187 | "optional": true, 188 | "os": [ 189 | "linux" 190 | ], 191 | "engines": { 192 | "node": ">= 10" 193 | } 194 | }, 195 | "node_modules/@next/swc-linux-x64-musl": { 196 | "version": "12.1.4", 197 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.4.tgz", 198 | "integrity": "sha512-GoRHxkuW4u4yKw734B9SzxJwVdyEJosaZ62P7ifOwcujTxhgBt3y76V2nNUrsSuopcKI2ZTDjaa+2wd5zyeXbA==", 199 | "cpu": [ 200 | "x64" 201 | ], 202 | "optional": true, 203 | "os": [ 204 | "linux" 205 | ], 206 | "engines": { 207 | "node": ">= 10" 208 | } 209 | }, 210 | "node_modules/@next/swc-win32-arm64-msvc": { 211 | "version": "12.1.4", 212 | "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.4.tgz", 213 | "integrity": "sha512-6TQkQze0ievXwHJcVUrIULwCYVe3ccX6T0JgZ1SiMeXpHxISN7VJF/O8uSCw1JvXZYZ6ud0CJ7nfC5HXivgfPg==", 214 | "cpu": [ 215 | "arm64" 216 | ], 217 | "optional": true, 218 | "os": [ 219 | "win32" 220 | ], 221 | "engines": { 222 | "node": ">= 10" 223 | } 224 | }, 225 | "node_modules/@next/swc-win32-ia32-msvc": { 226 | "version": "12.1.4", 227 | "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.4.tgz", 228 | "integrity": "sha512-CsbX/IXuZ5VSmWCpSetG2HD6VO5FTsO39WNp2IR2Ut/uom9XtLDJAZqjQEnbUTLGHuwDKFjrIO3LkhtROXLE/g==", 229 | "cpu": [ 230 | "ia32" 231 | ], 232 | "optional": true, 233 | "os": [ 234 | "win32" 235 | ], 236 | "engines": { 237 | "node": ">= 10" 238 | } 239 | }, 240 | "node_modules/@next/swc-win32-x64-msvc": { 241 | "version": "12.1.4", 242 | "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.4.tgz", 243 | "integrity": "sha512-JtYuWzKXKLDMgE/xTcFtCm1MiCIRaAc5XYZfYX3n/ZWSI1SJS/GMm+Su0SAHJgRFavJh6U/p998YwO/iGTIgqQ==", 244 | "cpu": [ 245 | "x64" 246 | ], 247 | "optional": true, 248 | "os": [ 249 | "win32" 250 | ], 251 | "engines": { 252 | "node": ">= 10" 253 | } 254 | }, 255 | "node_modules/@panva/asn1.js": { 256 | "version": "1.0.0", 257 | "resolved": "https://registry.npmjs.org/@panva/asn1.js/-/asn1.js-1.0.0.tgz", 258 | "integrity": "sha512-UdkG3mLEqXgnlKsWanWcgb6dOjUzJ+XC5f+aWw30qrtjxeNUSfKX1cd5FBzOaXQumoe9nIqeZUvrRJS03HCCtw==", 259 | "dev": true, 260 | "engines": { 261 | "node": ">=10.13.0" 262 | } 263 | }, 264 | "node_modules/@panva/hkdf": { 265 | "version": "1.0.1", 266 | "resolved": "https://registry.npmjs.org/@panva/hkdf/-/hkdf-1.0.1.tgz", 267 | "integrity": "sha512-mMyQ9vjpuFqePkfe5bZVIf/H3Dmk6wA8Kjxff9RcO4kqzJo+Ek9pGKwZHpeMr7Eku0QhLXMCd7fNCSnEnRMubg==", 268 | "funding": { 269 | "url": "https://github.com/sponsors/panva" 270 | } 271 | }, 272 | "node_modules/@prisma/client": { 273 | "version": "4.10.1", 274 | "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.10.1.tgz", 275 | "integrity": "sha512-VonXLJZybdt8e5XZH5vnIGCRNnIh6OMX1FS3H/yzMGLT3STj5TJ/OkMcednrvELgk8PK89Vo3aSh51MWNO0axA==", 276 | "hasInstallScript": true, 277 | "dependencies": { 278 | "@prisma/engines-version": "4.10.1-2.aead147aa326ccb985dcfed5b065b4fdabd44b19" 279 | }, 280 | "engines": { 281 | "node": ">=14.17" 282 | }, 283 | "peerDependencies": { 284 | "prisma": "*" 285 | }, 286 | "peerDependenciesMeta": { 287 | "prisma": { 288 | "optional": true 289 | } 290 | } 291 | }, 292 | "node_modules/@prisma/engines": { 293 | "version": "4.10.1", 294 | "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.10.1.tgz", 295 | "integrity": "sha512-B3tcTxjx196nuAu1GOTKO9cGPUgTFHYRdkPkTS4m5ptb2cejyBlH9X7GOfSt3xlI7p4zAJDshJP4JJivCg9ouA==", 296 | "devOptional": true, 297 | "hasInstallScript": true 298 | }, 299 | "node_modules/@prisma/engines-version": { 300 | "version": "4.10.1-2.aead147aa326ccb985dcfed5b065b4fdabd44b19", 301 | "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.10.1-2.aead147aa326ccb985dcfed5b065b4fdabd44b19.tgz", 302 | "integrity": "sha512-tsjTho7laDhf9EJ9EnDxAPEf7yrigSMDhniXeU4YoWc7azHAs4GPxRi2P9LTFonmHkJLMOLjR77J1oIP8Ife1w==" 303 | }, 304 | "node_modules/@sqltools/formatter": { 305 | "version": "1.2.3", 306 | "resolved": "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.3.tgz", 307 | "integrity": "sha512-O3uyB/JbkAEMZaP3YqyHH7TMnex7tWyCbCI4EfJdOCoN6HIhqdJBWTM6aCCiWQ/5f5wxjgU735QAIpJbjDvmzg==", 308 | "dev": true 309 | }, 310 | "node_modules/@tsconfig/node10": { 311 | "version": "1.0.8", 312 | "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", 313 | "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", 314 | "dev": true 315 | }, 316 | "node_modules/@tsconfig/node12": { 317 | "version": "1.0.9", 318 | "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", 319 | "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", 320 | "dev": true 321 | }, 322 | "node_modules/@tsconfig/node14": { 323 | "version": "1.0.1", 324 | "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", 325 | "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", 326 | "dev": true 327 | }, 328 | "node_modules/@tsconfig/node16": { 329 | "version": "1.0.2", 330 | "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", 331 | "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", 332 | "dev": true 333 | }, 334 | "node_modules/@types/debug": { 335 | "version": "4.1.7", 336 | "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", 337 | "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", 338 | "dependencies": { 339 | "@types/ms": "*" 340 | } 341 | }, 342 | "node_modules/@types/hast": { 343 | "version": "2.3.4", 344 | "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", 345 | "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", 346 | "dependencies": { 347 | "@types/unist": "*" 348 | } 349 | }, 350 | "node_modules/@types/mdast": { 351 | "version": "3.0.10", 352 | "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", 353 | "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==", 354 | "dependencies": { 355 | "@types/unist": "*" 356 | } 357 | }, 358 | "node_modules/@types/mdurl": { 359 | "version": "1.0.2", 360 | "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", 361 | "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==" 362 | }, 363 | "node_modules/@types/ms": { 364 | "version": "0.7.31", 365 | "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", 366 | "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" 367 | }, 368 | "node_modules/@types/next-auth": { 369 | "version": "3.13.0", 370 | "resolved": "https://registry.npmjs.org/@types/next-auth/-/next-auth-3.13.0.tgz", 371 | "integrity": "sha512-zkEVDyoKgRsHm3KUaZoOGSThTS9h0+HbFZctiYbB5MMU6/pUZuF5ozWrVG00jotQJuSEIlPWzdCIXKlaHctJgw==", 372 | "dev": true, 373 | "dependencies": { 374 | "@types/node": "*", 375 | "@types/react": "*", 376 | "jose": "^1.28.0", 377 | "typeorm": "^0.2.31" 378 | } 379 | }, 380 | "node_modules/@types/node": { 381 | "version": "16.18.66", 382 | "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.66.tgz", 383 | "integrity": "sha512-sePmD/imfKvC4re/Wwos1NEcXYm6O96CAG5gQVY53nmDb8ePQ4qPku6uruN7n6TJ0t5FhcoUc2+yvE2/UZVDZw==", 384 | "dev": true 385 | }, 386 | "node_modules/@types/prop-types": { 387 | "version": "15.7.5", 388 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", 389 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" 390 | }, 391 | "node_modules/@types/react": { 392 | "version": "17.0.44", 393 | "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.44.tgz", 394 | "integrity": "sha512-Ye0nlw09GeMp2Suh8qoOv0odfgCoowfM/9MG6WeRD60Gq9wS90bdkdRtYbRkNhXOpG4H+YXGvj4wOWhAC0LJ1g==", 395 | "dependencies": { 396 | "@types/prop-types": "*", 397 | "@types/scheduler": "*", 398 | "csstype": "^3.0.2" 399 | } 400 | }, 401 | "node_modules/@types/scheduler": { 402 | "version": "0.16.2", 403 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", 404 | "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" 405 | }, 406 | "node_modules/@types/unist": { 407 | "version": "2.0.6", 408 | "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", 409 | "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" 410 | }, 411 | "node_modules/@types/zen-observable": { 412 | "version": "0.8.3", 413 | "resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.3.tgz", 414 | "integrity": "sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw==", 415 | "dev": true 416 | }, 417 | "node_modules/acorn": { 418 | "version": "8.7.0", 419 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", 420 | "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", 421 | "dev": true, 422 | "bin": { 423 | "acorn": "bin/acorn" 424 | }, 425 | "engines": { 426 | "node": ">=0.4.0" 427 | } 428 | }, 429 | "node_modules/acorn-walk": { 430 | "version": "8.2.0", 431 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", 432 | "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", 433 | "dev": true, 434 | "engines": { 435 | "node": ">=0.4.0" 436 | } 437 | }, 438 | "node_modules/ansi-regex": { 439 | "version": "5.0.1", 440 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 441 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 442 | "dev": true, 443 | "engines": { 444 | "node": ">=8" 445 | } 446 | }, 447 | "node_modules/ansi-styles": { 448 | "version": "4.3.0", 449 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 450 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 451 | "dev": true, 452 | "dependencies": { 453 | "color-convert": "^2.0.1" 454 | }, 455 | "engines": { 456 | "node": ">=8" 457 | }, 458 | "funding": { 459 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 460 | } 461 | }, 462 | "node_modules/any-promise": { 463 | "version": "1.3.0", 464 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 465 | "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", 466 | "dev": true 467 | }, 468 | "node_modules/app-root-path": { 469 | "version": "3.0.0", 470 | "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz", 471 | "integrity": "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==", 472 | "dev": true, 473 | "engines": { 474 | "node": ">= 6.0.0" 475 | } 476 | }, 477 | "node_modules/arg": { 478 | "version": "4.1.3", 479 | "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", 480 | "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", 481 | "dev": true 482 | }, 483 | "node_modules/argparse": { 484 | "version": "2.0.1", 485 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 486 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 487 | "dev": true 488 | }, 489 | "node_modules/bail": { 490 | "version": "2.0.2", 491 | "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", 492 | "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", 493 | "funding": { 494 | "type": "github", 495 | "url": "https://github.com/sponsors/wooorm" 496 | } 497 | }, 498 | "node_modules/balanced-match": { 499 | "version": "1.0.2", 500 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 501 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 502 | "dev": true 503 | }, 504 | "node_modules/base64-js": { 505 | "version": "1.5.1", 506 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 507 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 508 | "dev": true, 509 | "funding": [ 510 | { 511 | "type": "github", 512 | "url": "https://github.com/sponsors/feross" 513 | }, 514 | { 515 | "type": "patreon", 516 | "url": "https://www.patreon.com/feross" 517 | }, 518 | { 519 | "type": "consulting", 520 | "url": "https://feross.org/support" 521 | } 522 | ] 523 | }, 524 | "node_modules/brace-expansion": { 525 | "version": "1.1.11", 526 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 527 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 528 | "dev": true, 529 | "dependencies": { 530 | "balanced-match": "^1.0.0", 531 | "concat-map": "0.0.1" 532 | } 533 | }, 534 | "node_modules/buffer": { 535 | "version": "6.0.3", 536 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", 537 | "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", 538 | "dev": true, 539 | "funding": [ 540 | { 541 | "type": "github", 542 | "url": "https://github.com/sponsors/feross" 543 | }, 544 | { 545 | "type": "patreon", 546 | "url": "https://www.patreon.com/feross" 547 | }, 548 | { 549 | "type": "consulting", 550 | "url": "https://feross.org/support" 551 | } 552 | ], 553 | "dependencies": { 554 | "base64-js": "^1.3.1", 555 | "ieee754": "^1.2.1" 556 | } 557 | }, 558 | "node_modules/caniuse-lite": { 559 | "version": "1.0.30001327", 560 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001327.tgz", 561 | "integrity": "sha512-1/Cg4jlD9qjZzhbzkzEaAC2JHsP0WrOc8Rd/3a3LuajGzGWR/hD7TVyvq99VqmTy99eVh8Zkmdq213OgvgXx7w==", 562 | "funding": [ 563 | { 564 | "type": "opencollective", 565 | "url": "https://opencollective.com/browserslist" 566 | }, 567 | { 568 | "type": "tidelift", 569 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 570 | } 571 | ] 572 | }, 573 | "node_modules/chalk": { 574 | "version": "4.1.2", 575 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 576 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 577 | "dev": true, 578 | "dependencies": { 579 | "ansi-styles": "^4.1.0", 580 | "supports-color": "^7.1.0" 581 | }, 582 | "engines": { 583 | "node": ">=10" 584 | }, 585 | "funding": { 586 | "url": "https://github.com/chalk/chalk?sponsor=1" 587 | } 588 | }, 589 | "node_modules/character-entities": { 590 | "version": "2.0.1", 591 | "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.1.tgz", 592 | "integrity": "sha512-OzmutCf2Kmc+6DrFrrPS8/tDh2+DpnrfzdICHWhcVC9eOd0N1PXmQEE1a8iM4IziIAG+8tmTq3K+oo0ubH6RRQ==", 593 | "funding": { 594 | "type": "github", 595 | "url": "https://github.com/sponsors/wooorm" 596 | } 597 | }, 598 | "node_modules/cli-highlight": { 599 | "version": "2.1.11", 600 | "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", 601 | "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", 602 | "dev": true, 603 | "dependencies": { 604 | "chalk": "^4.0.0", 605 | "highlight.js": "^10.7.1", 606 | "mz": "^2.4.0", 607 | "parse5": "^5.1.1", 608 | "parse5-htmlparser2-tree-adapter": "^6.0.0", 609 | "yargs": "^16.0.0" 610 | }, 611 | "bin": { 612 | "highlight": "bin/highlight" 613 | }, 614 | "engines": { 615 | "node": ">=8.0.0", 616 | "npm": ">=5.0.0" 617 | } 618 | }, 619 | "node_modules/cli-highlight/node_modules/yargs": { 620 | "version": "16.2.0", 621 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", 622 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", 623 | "dev": true, 624 | "dependencies": { 625 | "cliui": "^7.0.2", 626 | "escalade": "^3.1.1", 627 | "get-caller-file": "^2.0.5", 628 | "require-directory": "^2.1.1", 629 | "string-width": "^4.2.0", 630 | "y18n": "^5.0.5", 631 | "yargs-parser": "^20.2.2" 632 | }, 633 | "engines": { 634 | "node": ">=10" 635 | } 636 | }, 637 | "node_modules/cli-highlight/node_modules/yargs-parser": { 638 | "version": "20.2.9", 639 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", 640 | "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", 641 | "dev": true, 642 | "engines": { 643 | "node": ">=10" 644 | } 645 | }, 646 | "node_modules/cliui": { 647 | "version": "7.0.4", 648 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", 649 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", 650 | "dev": true, 651 | "dependencies": { 652 | "string-width": "^4.2.0", 653 | "strip-ansi": "^6.0.0", 654 | "wrap-ansi": "^7.0.0" 655 | } 656 | }, 657 | "node_modules/color-convert": { 658 | "version": "2.0.1", 659 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 660 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 661 | "dev": true, 662 | "dependencies": { 663 | "color-name": "~1.1.4" 664 | }, 665 | "engines": { 666 | "node": ">=7.0.0" 667 | } 668 | }, 669 | "node_modules/color-name": { 670 | "version": "1.1.4", 671 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 672 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 673 | "dev": true 674 | }, 675 | "node_modules/comma-separated-tokens": { 676 | "version": "2.0.2", 677 | "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz", 678 | "integrity": "sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg==", 679 | "funding": { 680 | "type": "github", 681 | "url": "https://github.com/sponsors/wooorm" 682 | } 683 | }, 684 | "node_modules/concat-map": { 685 | "version": "0.0.1", 686 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 687 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 688 | "dev": true 689 | }, 690 | "node_modules/cookie": { 691 | "version": "0.4.2", 692 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", 693 | "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", 694 | "engines": { 695 | "node": ">= 0.6" 696 | } 697 | }, 698 | "node_modules/create-require": { 699 | "version": "1.1.1", 700 | "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", 701 | "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", 702 | "dev": true 703 | }, 704 | "node_modules/csstype": { 705 | "version": "3.0.11", 706 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz", 707 | "integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==" 708 | }, 709 | "node_modules/debug": { 710 | "version": "4.3.4", 711 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 712 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 713 | "dependencies": { 714 | "ms": "2.1.2" 715 | }, 716 | "engines": { 717 | "node": ">=6.0" 718 | }, 719 | "peerDependenciesMeta": { 720 | "supports-color": { 721 | "optional": true 722 | } 723 | } 724 | }, 725 | "node_modules/decode-named-character-reference": { 726 | "version": "1.0.1", 727 | "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.1.tgz", 728 | "integrity": "sha512-YV/0HQHreRwKb7uBopyIkLG17jG6Sv2qUchk9qSoVJ2f+flwRsPNBO0hAnjt6mTNYUT+vw9Gy2ihXg4sUWPi2w==", 729 | "dependencies": { 730 | "character-entities": "^2.0.0" 731 | }, 732 | "funding": { 733 | "type": "github", 734 | "url": "https://github.com/sponsors/wooorm" 735 | } 736 | }, 737 | "node_modules/dequal": { 738 | "version": "2.0.2", 739 | "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.2.tgz", 740 | "integrity": "sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug==", 741 | "engines": { 742 | "node": ">=6" 743 | } 744 | }, 745 | "node_modules/diff": { 746 | "version": "4.0.2", 747 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", 748 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", 749 | "dev": true, 750 | "engines": { 751 | "node": ">=0.3.1" 752 | } 753 | }, 754 | "node_modules/dotenv": { 755 | "version": "8.6.0", 756 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", 757 | "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", 758 | "dev": true, 759 | "engines": { 760 | "node": ">=10" 761 | } 762 | }, 763 | "node_modules/emoji-regex": { 764 | "version": "8.0.0", 765 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 766 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 767 | "dev": true 768 | }, 769 | "node_modules/escalade": { 770 | "version": "3.1.1", 771 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 772 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 773 | "dev": true, 774 | "engines": { 775 | "node": ">=6" 776 | } 777 | }, 778 | "node_modules/extend": { 779 | "version": "3.0.2", 780 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 781 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" 782 | }, 783 | "node_modules/fs.realpath": { 784 | "version": "1.0.0", 785 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 786 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 787 | "dev": true 788 | }, 789 | "node_modules/get-caller-file": { 790 | "version": "2.0.5", 791 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 792 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 793 | "dev": true, 794 | "engines": { 795 | "node": "6.* || 8.* || >= 10.*" 796 | } 797 | }, 798 | "node_modules/glob": { 799 | "version": "7.2.0", 800 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 801 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 802 | "dev": true, 803 | "dependencies": { 804 | "fs.realpath": "^1.0.0", 805 | "inflight": "^1.0.4", 806 | "inherits": "2", 807 | "minimatch": "^3.0.4", 808 | "once": "^1.3.0", 809 | "path-is-absolute": "^1.0.0" 810 | }, 811 | "engines": { 812 | "node": "*" 813 | }, 814 | "funding": { 815 | "url": "https://github.com/sponsors/isaacs" 816 | } 817 | }, 818 | "node_modules/has-flag": { 819 | "version": "4.0.0", 820 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 821 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 822 | "dev": true, 823 | "engines": { 824 | "node": ">=8" 825 | } 826 | }, 827 | "node_modules/hast-util-whitespace": { 828 | "version": "2.0.0", 829 | "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz", 830 | "integrity": "sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==", 831 | "funding": { 832 | "type": "opencollective", 833 | "url": "https://opencollective.com/unified" 834 | } 835 | }, 836 | "node_modules/highlight.js": { 837 | "version": "10.7.3", 838 | "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", 839 | "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", 840 | "dev": true, 841 | "engines": { 842 | "node": "*" 843 | } 844 | }, 845 | "node_modules/ieee754": { 846 | "version": "1.2.1", 847 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 848 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 849 | "dev": true, 850 | "funding": [ 851 | { 852 | "type": "github", 853 | "url": "https://github.com/sponsors/feross" 854 | }, 855 | { 856 | "type": "patreon", 857 | "url": "https://www.patreon.com/feross" 858 | }, 859 | { 860 | "type": "consulting", 861 | "url": "https://feross.org/support" 862 | } 863 | ] 864 | }, 865 | "node_modules/inflight": { 866 | "version": "1.0.6", 867 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 868 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 869 | "dev": true, 870 | "dependencies": { 871 | "once": "^1.3.0", 872 | "wrappy": "1" 873 | } 874 | }, 875 | "node_modules/inherits": { 876 | "version": "2.0.4", 877 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 878 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 879 | "dev": true 880 | }, 881 | "node_modules/inline-style-parser": { 882 | "version": "0.1.1", 883 | "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", 884 | "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" 885 | }, 886 | "node_modules/is-buffer": { 887 | "version": "2.0.5", 888 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", 889 | "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", 890 | "funding": [ 891 | { 892 | "type": "github", 893 | "url": "https://github.com/sponsors/feross" 894 | }, 895 | { 896 | "type": "patreon", 897 | "url": "https://www.patreon.com/feross" 898 | }, 899 | { 900 | "type": "consulting", 901 | "url": "https://feross.org/support" 902 | } 903 | ], 904 | "engines": { 905 | "node": ">=4" 906 | } 907 | }, 908 | "node_modules/is-fullwidth-code-point": { 909 | "version": "3.0.0", 910 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 911 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 912 | "dev": true, 913 | "engines": { 914 | "node": ">=8" 915 | } 916 | }, 917 | "node_modules/is-plain-obj": { 918 | "version": "4.0.0", 919 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.0.0.tgz", 920 | "integrity": "sha512-NXRbBtUdBioI73y/HmOhogw/U5msYPC9DAtGkJXeFcFWSFZw0mCUsPxk/snTuJHzNKA8kLBK4rH97RMB1BfCXw==", 921 | "engines": { 922 | "node": ">=12" 923 | }, 924 | "funding": { 925 | "url": "https://github.com/sponsors/sindresorhus" 926 | } 927 | }, 928 | "node_modules/jose": { 929 | "version": "1.28.1", 930 | "resolved": "https://registry.npmjs.org/jose/-/jose-1.28.1.tgz", 931 | "integrity": "sha512-6JK28rFu5ENp/yxMwM+iN7YeaInnY9B9Bggjkz5fuwLiJhbVrl2O4SJr65bdNBPl9y27fdC3Mymh+FVCvozLIg==", 932 | "dev": true, 933 | "dependencies": { 934 | "@panva/asn1.js": "^1.0.0" 935 | }, 936 | "engines": { 937 | "node": ">=10.13.0" 938 | }, 939 | "funding": { 940 | "url": "https://github.com/sponsors/panva" 941 | } 942 | }, 943 | "node_modules/js-tokens": { 944 | "version": "4.0.0", 945 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 946 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 947 | }, 948 | "node_modules/js-yaml": { 949 | "version": "4.1.0", 950 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 951 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 952 | "dev": true, 953 | "dependencies": { 954 | "argparse": "^2.0.1" 955 | }, 956 | "bin": { 957 | "js-yaml": "bin/js-yaml.js" 958 | } 959 | }, 960 | "node_modules/kleur": { 961 | "version": "4.1.4", 962 | "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz", 963 | "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==", 964 | "engines": { 965 | "node": ">=6" 966 | } 967 | }, 968 | "node_modules/loose-envify": { 969 | "version": "1.4.0", 970 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 971 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 972 | "dependencies": { 973 | "js-tokens": "^3.0.0 || ^4.0.0" 974 | }, 975 | "bin": { 976 | "loose-envify": "cli.js" 977 | } 978 | }, 979 | "node_modules/lru-cache": { 980 | "version": "6.0.0", 981 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 982 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 983 | "dependencies": { 984 | "yallist": "^4.0.0" 985 | }, 986 | "engines": { 987 | "node": ">=10" 988 | } 989 | }, 990 | "node_modules/make-error": { 991 | "version": "1.3.6", 992 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", 993 | "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", 994 | "dev": true 995 | }, 996 | "node_modules/mdast-util-definitions": { 997 | "version": "5.1.0", 998 | "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.0.tgz", 999 | "integrity": "sha512-5hcR7FL2EuZ4q6lLMUK5w4lHT2H3vqL9quPvYZ/Ku5iifrirfMHiGdhxdXMUbUkDmz5I+TYMd7nbaxUhbQkfpQ==", 1000 | "dependencies": { 1001 | "@types/mdast": "^3.0.0", 1002 | "@types/unist": "^2.0.0", 1003 | "unist-util-visit": "^3.0.0" 1004 | }, 1005 | "funding": { 1006 | "type": "opencollective", 1007 | "url": "https://opencollective.com/unified" 1008 | } 1009 | }, 1010 | "node_modules/mdast-util-definitions/node_modules/unist-util-visit": { 1011 | "version": "3.1.0", 1012 | "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-3.1.0.tgz", 1013 | "integrity": "sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==", 1014 | "dependencies": { 1015 | "@types/unist": "^2.0.0", 1016 | "unist-util-is": "^5.0.0", 1017 | "unist-util-visit-parents": "^4.0.0" 1018 | }, 1019 | "funding": { 1020 | "type": "opencollective", 1021 | "url": "https://opencollective.com/unified" 1022 | } 1023 | }, 1024 | "node_modules/mdast-util-definitions/node_modules/unist-util-visit-parents": { 1025 | "version": "4.1.1", 1026 | "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz", 1027 | "integrity": "sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==", 1028 | "dependencies": { 1029 | "@types/unist": "^2.0.0", 1030 | "unist-util-is": "^5.0.0" 1031 | }, 1032 | "funding": { 1033 | "type": "opencollective", 1034 | "url": "https://opencollective.com/unified" 1035 | } 1036 | }, 1037 | "node_modules/mdast-util-from-markdown": { 1038 | "version": "1.2.0", 1039 | "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz", 1040 | "integrity": "sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==", 1041 | "dependencies": { 1042 | "@types/mdast": "^3.0.0", 1043 | "@types/unist": "^2.0.0", 1044 | "decode-named-character-reference": "^1.0.0", 1045 | "mdast-util-to-string": "^3.1.0", 1046 | "micromark": "^3.0.0", 1047 | "micromark-util-decode-numeric-character-reference": "^1.0.0", 1048 | "micromark-util-decode-string": "^1.0.0", 1049 | "micromark-util-normalize-identifier": "^1.0.0", 1050 | "micromark-util-symbol": "^1.0.0", 1051 | "micromark-util-types": "^1.0.0", 1052 | "unist-util-stringify-position": "^3.0.0", 1053 | "uvu": "^0.5.0" 1054 | }, 1055 | "funding": { 1056 | "type": "opencollective", 1057 | "url": "https://opencollective.com/unified" 1058 | } 1059 | }, 1060 | "node_modules/mdast-util-to-hast": { 1061 | "version": "12.1.1", 1062 | "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.1.1.tgz", 1063 | "integrity": "sha512-qE09zD6ylVP14jV4mjLIhDBOrpFdShHZcEsYvvKGABlr9mGbV7mTlRWdoFxL/EYSTNDiC9GZXy7y8Shgb9Dtzw==", 1064 | "dependencies": { 1065 | "@types/hast": "^2.0.0", 1066 | "@types/mdast": "^3.0.0", 1067 | "@types/mdurl": "^1.0.0", 1068 | "mdast-util-definitions": "^5.0.0", 1069 | "mdurl": "^1.0.0", 1070 | "micromark-util-sanitize-uri": "^1.0.0", 1071 | "unist-builder": "^3.0.0", 1072 | "unist-util-generated": "^2.0.0", 1073 | "unist-util-position": "^4.0.0", 1074 | "unist-util-visit": "^4.0.0" 1075 | }, 1076 | "funding": { 1077 | "type": "opencollective", 1078 | "url": "https://opencollective.com/unified" 1079 | } 1080 | }, 1081 | "node_modules/mdast-util-to-string": { 1082 | "version": "3.1.0", 1083 | "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz", 1084 | "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==", 1085 | "funding": { 1086 | "type": "opencollective", 1087 | "url": "https://opencollective.com/unified" 1088 | } 1089 | }, 1090 | "node_modules/mdurl": { 1091 | "version": "1.0.1", 1092 | "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", 1093 | "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" 1094 | }, 1095 | "node_modules/micromark": { 1096 | "version": "3.0.10", 1097 | "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.0.10.tgz", 1098 | "integrity": "sha512-ryTDy6UUunOXy2HPjelppgJ2sNfcPz1pLlMdA6Rz9jPzhLikWXv/irpWV/I2jd68Uhmny7hHxAlAhk4+vWggpg==", 1099 | "funding": [ 1100 | { 1101 | "type": "GitHub Sponsors", 1102 | "url": "https://github.com/sponsors/unifiedjs" 1103 | }, 1104 | { 1105 | "type": "OpenCollective", 1106 | "url": "https://opencollective.com/unified" 1107 | } 1108 | ], 1109 | "dependencies": { 1110 | "@types/debug": "^4.0.0", 1111 | "debug": "^4.0.0", 1112 | "decode-named-character-reference": "^1.0.0", 1113 | "micromark-core-commonmark": "^1.0.1", 1114 | "micromark-factory-space": "^1.0.0", 1115 | "micromark-util-character": "^1.0.0", 1116 | "micromark-util-chunked": "^1.0.0", 1117 | "micromark-util-combine-extensions": "^1.0.0", 1118 | "micromark-util-decode-numeric-character-reference": "^1.0.0", 1119 | "micromark-util-encode": "^1.0.0", 1120 | "micromark-util-normalize-identifier": "^1.0.0", 1121 | "micromark-util-resolve-all": "^1.0.0", 1122 | "micromark-util-sanitize-uri": "^1.0.0", 1123 | "micromark-util-subtokenize": "^1.0.0", 1124 | "micromark-util-symbol": "^1.0.0", 1125 | "micromark-util-types": "^1.0.1", 1126 | "uvu": "^0.5.0" 1127 | } 1128 | }, 1129 | "node_modules/micromark-core-commonmark": { 1130 | "version": "1.0.6", 1131 | "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz", 1132 | "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==", 1133 | "funding": [ 1134 | { 1135 | "type": "GitHub Sponsors", 1136 | "url": "https://github.com/sponsors/unifiedjs" 1137 | }, 1138 | { 1139 | "type": "OpenCollective", 1140 | "url": "https://opencollective.com/unified" 1141 | } 1142 | ], 1143 | "dependencies": { 1144 | "decode-named-character-reference": "^1.0.0", 1145 | "micromark-factory-destination": "^1.0.0", 1146 | "micromark-factory-label": "^1.0.0", 1147 | "micromark-factory-space": "^1.0.0", 1148 | "micromark-factory-title": "^1.0.0", 1149 | "micromark-factory-whitespace": "^1.0.0", 1150 | "micromark-util-character": "^1.0.0", 1151 | "micromark-util-chunked": "^1.0.0", 1152 | "micromark-util-classify-character": "^1.0.0", 1153 | "micromark-util-html-tag-name": "^1.0.0", 1154 | "micromark-util-normalize-identifier": "^1.0.0", 1155 | "micromark-util-resolve-all": "^1.0.0", 1156 | "micromark-util-subtokenize": "^1.0.0", 1157 | "micromark-util-symbol": "^1.0.0", 1158 | "micromark-util-types": "^1.0.1", 1159 | "uvu": "^0.5.0" 1160 | } 1161 | }, 1162 | "node_modules/micromark-factory-destination": { 1163 | "version": "1.0.0", 1164 | "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz", 1165 | "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==", 1166 | "funding": [ 1167 | { 1168 | "type": "GitHub Sponsors", 1169 | "url": "https://github.com/sponsors/unifiedjs" 1170 | }, 1171 | { 1172 | "type": "OpenCollective", 1173 | "url": "https://opencollective.com/unified" 1174 | } 1175 | ], 1176 | "dependencies": { 1177 | "micromark-util-character": "^1.0.0", 1178 | "micromark-util-symbol": "^1.0.0", 1179 | "micromark-util-types": "^1.0.0" 1180 | } 1181 | }, 1182 | "node_modules/micromark-factory-label": { 1183 | "version": "1.0.2", 1184 | "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz", 1185 | "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==", 1186 | "funding": [ 1187 | { 1188 | "type": "GitHub Sponsors", 1189 | "url": "https://github.com/sponsors/unifiedjs" 1190 | }, 1191 | { 1192 | "type": "OpenCollective", 1193 | "url": "https://opencollective.com/unified" 1194 | } 1195 | ], 1196 | "dependencies": { 1197 | "micromark-util-character": "^1.0.0", 1198 | "micromark-util-symbol": "^1.0.0", 1199 | "micromark-util-types": "^1.0.0", 1200 | "uvu": "^0.5.0" 1201 | } 1202 | }, 1203 | "node_modules/micromark-factory-space": { 1204 | "version": "1.0.0", 1205 | "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz", 1206 | "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==", 1207 | "funding": [ 1208 | { 1209 | "type": "GitHub Sponsors", 1210 | "url": "https://github.com/sponsors/unifiedjs" 1211 | }, 1212 | { 1213 | "type": "OpenCollective", 1214 | "url": "https://opencollective.com/unified" 1215 | } 1216 | ], 1217 | "dependencies": { 1218 | "micromark-util-character": "^1.0.0", 1219 | "micromark-util-types": "^1.0.0" 1220 | } 1221 | }, 1222 | "node_modules/micromark-factory-title": { 1223 | "version": "1.0.2", 1224 | "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz", 1225 | "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==", 1226 | "funding": [ 1227 | { 1228 | "type": "GitHub Sponsors", 1229 | "url": "https://github.com/sponsors/unifiedjs" 1230 | }, 1231 | { 1232 | "type": "OpenCollective", 1233 | "url": "https://opencollective.com/unified" 1234 | } 1235 | ], 1236 | "dependencies": { 1237 | "micromark-factory-space": "^1.0.0", 1238 | "micromark-util-character": "^1.0.0", 1239 | "micromark-util-symbol": "^1.0.0", 1240 | "micromark-util-types": "^1.0.0", 1241 | "uvu": "^0.5.0" 1242 | } 1243 | }, 1244 | "node_modules/micromark-factory-whitespace": { 1245 | "version": "1.0.0", 1246 | "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz", 1247 | "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==", 1248 | "funding": [ 1249 | { 1250 | "type": "GitHub Sponsors", 1251 | "url": "https://github.com/sponsors/unifiedjs" 1252 | }, 1253 | { 1254 | "type": "OpenCollective", 1255 | "url": "https://opencollective.com/unified" 1256 | } 1257 | ], 1258 | "dependencies": { 1259 | "micromark-factory-space": "^1.0.0", 1260 | "micromark-util-character": "^1.0.0", 1261 | "micromark-util-symbol": "^1.0.0", 1262 | "micromark-util-types": "^1.0.0" 1263 | } 1264 | }, 1265 | "node_modules/micromark-util-character": { 1266 | "version": "1.1.0", 1267 | "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz", 1268 | "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==", 1269 | "funding": [ 1270 | { 1271 | "type": "GitHub Sponsors", 1272 | "url": "https://github.com/sponsors/unifiedjs" 1273 | }, 1274 | { 1275 | "type": "OpenCollective", 1276 | "url": "https://opencollective.com/unified" 1277 | } 1278 | ], 1279 | "dependencies": { 1280 | "micromark-util-symbol": "^1.0.0", 1281 | "micromark-util-types": "^1.0.0" 1282 | } 1283 | }, 1284 | "node_modules/micromark-util-chunked": { 1285 | "version": "1.0.0", 1286 | "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz", 1287 | "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==", 1288 | "funding": [ 1289 | { 1290 | "type": "GitHub Sponsors", 1291 | "url": "https://github.com/sponsors/unifiedjs" 1292 | }, 1293 | { 1294 | "type": "OpenCollective", 1295 | "url": "https://opencollective.com/unified" 1296 | } 1297 | ], 1298 | "dependencies": { 1299 | "micromark-util-symbol": "^1.0.0" 1300 | } 1301 | }, 1302 | "node_modules/micromark-util-classify-character": { 1303 | "version": "1.0.0", 1304 | "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz", 1305 | "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==", 1306 | "funding": [ 1307 | { 1308 | "type": "GitHub Sponsors", 1309 | "url": "https://github.com/sponsors/unifiedjs" 1310 | }, 1311 | { 1312 | "type": "OpenCollective", 1313 | "url": "https://opencollective.com/unified" 1314 | } 1315 | ], 1316 | "dependencies": { 1317 | "micromark-util-character": "^1.0.0", 1318 | "micromark-util-symbol": "^1.0.0", 1319 | "micromark-util-types": "^1.0.0" 1320 | } 1321 | }, 1322 | "node_modules/micromark-util-combine-extensions": { 1323 | "version": "1.0.0", 1324 | "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz", 1325 | "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==", 1326 | "funding": [ 1327 | { 1328 | "type": "GitHub Sponsors", 1329 | "url": "https://github.com/sponsors/unifiedjs" 1330 | }, 1331 | { 1332 | "type": "OpenCollective", 1333 | "url": "https://opencollective.com/unified" 1334 | } 1335 | ], 1336 | "dependencies": { 1337 | "micromark-util-chunked": "^1.0.0", 1338 | "micromark-util-types": "^1.0.0" 1339 | } 1340 | }, 1341 | "node_modules/micromark-util-decode-numeric-character-reference": { 1342 | "version": "1.0.0", 1343 | "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz", 1344 | "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==", 1345 | "funding": [ 1346 | { 1347 | "type": "GitHub Sponsors", 1348 | "url": "https://github.com/sponsors/unifiedjs" 1349 | }, 1350 | { 1351 | "type": "OpenCollective", 1352 | "url": "https://opencollective.com/unified" 1353 | } 1354 | ], 1355 | "dependencies": { 1356 | "micromark-util-symbol": "^1.0.0" 1357 | } 1358 | }, 1359 | "node_modules/micromark-util-decode-string": { 1360 | "version": "1.0.2", 1361 | "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz", 1362 | "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==", 1363 | "funding": [ 1364 | { 1365 | "type": "GitHub Sponsors", 1366 | "url": "https://github.com/sponsors/unifiedjs" 1367 | }, 1368 | { 1369 | "type": "OpenCollective", 1370 | "url": "https://opencollective.com/unified" 1371 | } 1372 | ], 1373 | "dependencies": { 1374 | "decode-named-character-reference": "^1.0.0", 1375 | "micromark-util-character": "^1.0.0", 1376 | "micromark-util-decode-numeric-character-reference": "^1.0.0", 1377 | "micromark-util-symbol": "^1.0.0" 1378 | } 1379 | }, 1380 | "node_modules/micromark-util-encode": { 1381 | "version": "1.0.1", 1382 | "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz", 1383 | "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==", 1384 | "funding": [ 1385 | { 1386 | "type": "GitHub Sponsors", 1387 | "url": "https://github.com/sponsors/unifiedjs" 1388 | }, 1389 | { 1390 | "type": "OpenCollective", 1391 | "url": "https://opencollective.com/unified" 1392 | } 1393 | ] 1394 | }, 1395 | "node_modules/micromark-util-html-tag-name": { 1396 | "version": "1.0.0", 1397 | "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.0.0.tgz", 1398 | "integrity": "sha512-NenEKIshW2ZI/ERv9HtFNsrn3llSPZtY337LID/24WeLqMzeZhBEE6BQ0vS2ZBjshm5n40chKtJ3qjAbVV8S0g==", 1399 | "funding": [ 1400 | { 1401 | "type": "GitHub Sponsors", 1402 | "url": "https://github.com/sponsors/unifiedjs" 1403 | }, 1404 | { 1405 | "type": "OpenCollective", 1406 | "url": "https://opencollective.com/unified" 1407 | } 1408 | ] 1409 | }, 1410 | "node_modules/micromark-util-normalize-identifier": { 1411 | "version": "1.0.0", 1412 | "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz", 1413 | "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==", 1414 | "funding": [ 1415 | { 1416 | "type": "GitHub Sponsors", 1417 | "url": "https://github.com/sponsors/unifiedjs" 1418 | }, 1419 | { 1420 | "type": "OpenCollective", 1421 | "url": "https://opencollective.com/unified" 1422 | } 1423 | ], 1424 | "dependencies": { 1425 | "micromark-util-symbol": "^1.0.0" 1426 | } 1427 | }, 1428 | "node_modules/micromark-util-resolve-all": { 1429 | "version": "1.0.0", 1430 | "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz", 1431 | "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==", 1432 | "funding": [ 1433 | { 1434 | "type": "GitHub Sponsors", 1435 | "url": "https://github.com/sponsors/unifiedjs" 1436 | }, 1437 | { 1438 | "type": "OpenCollective", 1439 | "url": "https://opencollective.com/unified" 1440 | } 1441 | ], 1442 | "dependencies": { 1443 | "micromark-util-types": "^1.0.0" 1444 | } 1445 | }, 1446 | "node_modules/micromark-util-sanitize-uri": { 1447 | "version": "1.0.0", 1448 | "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.0.0.tgz", 1449 | "integrity": "sha512-cCxvBKlmac4rxCGx6ejlIviRaMKZc0fWm5HdCHEeDWRSkn44l6NdYVRyU+0nT1XC72EQJMZV8IPHF+jTr56lAg==", 1450 | "funding": [ 1451 | { 1452 | "type": "GitHub Sponsors", 1453 | "url": "https://github.com/sponsors/unifiedjs" 1454 | }, 1455 | { 1456 | "type": "OpenCollective", 1457 | "url": "https://opencollective.com/unified" 1458 | } 1459 | ], 1460 | "dependencies": { 1461 | "micromark-util-character": "^1.0.0", 1462 | "micromark-util-encode": "^1.0.0", 1463 | "micromark-util-symbol": "^1.0.0" 1464 | } 1465 | }, 1466 | "node_modules/micromark-util-subtokenize": { 1467 | "version": "1.0.2", 1468 | "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz", 1469 | "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==", 1470 | "funding": [ 1471 | { 1472 | "type": "GitHub Sponsors", 1473 | "url": "https://github.com/sponsors/unifiedjs" 1474 | }, 1475 | { 1476 | "type": "OpenCollective", 1477 | "url": "https://opencollective.com/unified" 1478 | } 1479 | ], 1480 | "dependencies": { 1481 | "micromark-util-chunked": "^1.0.0", 1482 | "micromark-util-symbol": "^1.0.0", 1483 | "micromark-util-types": "^1.0.0", 1484 | "uvu": "^0.5.0" 1485 | } 1486 | }, 1487 | "node_modules/micromark-util-symbol": { 1488 | "version": "1.0.1", 1489 | "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz", 1490 | "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==", 1491 | "funding": [ 1492 | { 1493 | "type": "GitHub Sponsors", 1494 | "url": "https://github.com/sponsors/unifiedjs" 1495 | }, 1496 | { 1497 | "type": "OpenCollective", 1498 | "url": "https://opencollective.com/unified" 1499 | } 1500 | ] 1501 | }, 1502 | "node_modules/micromark-util-types": { 1503 | "version": "1.0.2", 1504 | "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz", 1505 | "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==", 1506 | "funding": [ 1507 | { 1508 | "type": "GitHub Sponsors", 1509 | "url": "https://github.com/sponsors/unifiedjs" 1510 | }, 1511 | { 1512 | "type": "OpenCollective", 1513 | "url": "https://opencollective.com/unified" 1514 | } 1515 | ] 1516 | }, 1517 | "node_modules/minimatch": { 1518 | "version": "3.1.2", 1519 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1520 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1521 | "dev": true, 1522 | "dependencies": { 1523 | "brace-expansion": "^1.1.7" 1524 | }, 1525 | "engines": { 1526 | "node": "*" 1527 | } 1528 | }, 1529 | "node_modules/mkdirp": { 1530 | "version": "1.0.4", 1531 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 1532 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", 1533 | "dev": true, 1534 | "bin": { 1535 | "mkdirp": "bin/cmd.js" 1536 | }, 1537 | "engines": { 1538 | "node": ">=10" 1539 | } 1540 | }, 1541 | "node_modules/mri": { 1542 | "version": "1.2.0", 1543 | "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", 1544 | "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", 1545 | "engines": { 1546 | "node": ">=4" 1547 | } 1548 | }, 1549 | "node_modules/ms": { 1550 | "version": "2.1.2", 1551 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1552 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 1553 | }, 1554 | "node_modules/mz": { 1555 | "version": "2.7.0", 1556 | "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 1557 | "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 1558 | "dev": true, 1559 | "dependencies": { 1560 | "any-promise": "^1.0.0", 1561 | "object-assign": "^4.0.1", 1562 | "thenify-all": "^1.0.0" 1563 | } 1564 | }, 1565 | "node_modules/nanoid": { 1566 | "version": "3.3.2", 1567 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz", 1568 | "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==", 1569 | "bin": { 1570 | "nanoid": "bin/nanoid.cjs" 1571 | }, 1572 | "engines": { 1573 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1574 | } 1575 | }, 1576 | "node_modules/next": { 1577 | "version": "12.1.4", 1578 | "resolved": "https://registry.npmjs.org/next/-/next-12.1.4.tgz", 1579 | "integrity": "sha512-DA4g97BM4Z0nKtDvCTm58RxdvoQyYzeg0AeVbh0N4Y/D8ELrNu47lQeEgRGF8hV4eQ+Sal90zxrJQQG/mPQ8CQ==", 1580 | "dependencies": { 1581 | "@next/env": "12.1.4", 1582 | "caniuse-lite": "^1.0.30001283", 1583 | "postcss": "8.4.5", 1584 | "styled-jsx": "5.0.1" 1585 | }, 1586 | "bin": { 1587 | "next": "dist/bin/next" 1588 | }, 1589 | "engines": { 1590 | "node": ">=12.22.0" 1591 | }, 1592 | "optionalDependencies": { 1593 | "@next/swc-android-arm-eabi": "12.1.4", 1594 | "@next/swc-android-arm64": "12.1.4", 1595 | "@next/swc-darwin-arm64": "12.1.4", 1596 | "@next/swc-darwin-x64": "12.1.4", 1597 | "@next/swc-linux-arm-gnueabihf": "12.1.4", 1598 | "@next/swc-linux-arm64-gnu": "12.1.4", 1599 | "@next/swc-linux-arm64-musl": "12.1.4", 1600 | "@next/swc-linux-x64-gnu": "12.1.4", 1601 | "@next/swc-linux-x64-musl": "12.1.4", 1602 | "@next/swc-win32-arm64-msvc": "12.1.4", 1603 | "@next/swc-win32-ia32-msvc": "12.1.4", 1604 | "@next/swc-win32-x64-msvc": "12.1.4" 1605 | }, 1606 | "peerDependencies": { 1607 | "fibers": ">= 3.1.0", 1608 | "node-sass": "^6.0.0 || ^7.0.0", 1609 | "react": "^17.0.2 || ^18.0.0-0", 1610 | "react-dom": "^17.0.2 || ^18.0.0-0", 1611 | "sass": "^1.3.0" 1612 | }, 1613 | "peerDependenciesMeta": { 1614 | "fibers": { 1615 | "optional": true 1616 | }, 1617 | "node-sass": { 1618 | "optional": true 1619 | }, 1620 | "sass": { 1621 | "optional": true 1622 | } 1623 | } 1624 | }, 1625 | "node_modules/next-auth": { 1626 | "version": "4.3.1", 1627 | "resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.3.1.tgz", 1628 | "integrity": "sha512-DBYEPBLq5naIqh/1i2zEHljcA1OXXecKW3NRU1W4s6R3UX3RdLZ2lWlqgBHUiZQ1zdNikFM/bYQxVGyG7bx8oA==", 1629 | "dependencies": { 1630 | "@babel/runtime": "^7.16.3", 1631 | "@panva/hkdf": "^1.0.1", 1632 | "cookie": "^0.4.1", 1633 | "jose": "^4.3.7", 1634 | "oauth": "^0.9.15", 1635 | "openid-client": "^5.1.0", 1636 | "preact": "^10.6.3", 1637 | "preact-render-to-string": "^5.1.19", 1638 | "uuid": "^8.3.2" 1639 | }, 1640 | "engines": { 1641 | "node": "^12.19.0 || ^14.15.0 || ^16.13.0" 1642 | }, 1643 | "peerDependencies": { 1644 | "nodemailer": "^6.6.5", 1645 | "react": "^17.0.2 || ^18.0.0-0", 1646 | "react-dom": "^17.0.2 || ^18.0.0-0" 1647 | }, 1648 | "peerDependenciesMeta": { 1649 | "nodemailer": { 1650 | "optional": true 1651 | } 1652 | } 1653 | }, 1654 | "node_modules/next-auth/node_modules/jose": { 1655 | "version": "4.6.0", 1656 | "resolved": "https://registry.npmjs.org/jose/-/jose-4.6.0.tgz", 1657 | "integrity": "sha512-0hNAkhMBNi4soKSAX4zYOFV+aqJlEz/4j4fregvasJzEVtjDChvWqRjPvHwLqr5hx28Ayr6bsOs1Kuj87V0O8w==", 1658 | "funding": { 1659 | "url": "https://github.com/sponsors/panva" 1660 | } 1661 | }, 1662 | "node_modules/oauth": { 1663 | "version": "0.9.15", 1664 | "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz", 1665 | "integrity": "sha1-vR/vr2hslrdUda7VGWQS/2DPucE=" 1666 | }, 1667 | "node_modules/object-assign": { 1668 | "version": "4.1.1", 1669 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1670 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 1671 | "engines": { 1672 | "node": ">=0.10.0" 1673 | } 1674 | }, 1675 | "node_modules/object-hash": { 1676 | "version": "2.2.0", 1677 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", 1678 | "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", 1679 | "engines": { 1680 | "node": ">= 6" 1681 | } 1682 | }, 1683 | "node_modules/oidc-token-hash": { 1684 | "version": "5.0.1", 1685 | "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz", 1686 | "integrity": "sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==", 1687 | "engines": { 1688 | "node": "^10.13.0 || >=12.0.0" 1689 | } 1690 | }, 1691 | "node_modules/once": { 1692 | "version": "1.4.0", 1693 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1694 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 1695 | "dev": true, 1696 | "dependencies": { 1697 | "wrappy": "1" 1698 | } 1699 | }, 1700 | "node_modules/openid-client": { 1701 | "version": "5.1.4", 1702 | "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.1.4.tgz", 1703 | "integrity": "sha512-36/PZY3rDgiIFj2uCL9a1fILPmIwu3HksoWO4mukgXe74ZOsEisJMMqTMfmPNw6j/7kO0mBc2xqy4eYRrB8xPA==", 1704 | "dependencies": { 1705 | "jose": "^4.1.4", 1706 | "lru-cache": "^6.0.0", 1707 | "object-hash": "^2.0.1", 1708 | "oidc-token-hash": "^5.0.1" 1709 | }, 1710 | "engines": { 1711 | "node": "^12.19.0 || ^14.15.0 || ^16.13.0" 1712 | }, 1713 | "funding": { 1714 | "url": "https://github.com/sponsors/panva" 1715 | } 1716 | }, 1717 | "node_modules/openid-client/node_modules/jose": { 1718 | "version": "4.6.0", 1719 | "resolved": "https://registry.npmjs.org/jose/-/jose-4.6.0.tgz", 1720 | "integrity": "sha512-0hNAkhMBNi4soKSAX4zYOFV+aqJlEz/4j4fregvasJzEVtjDChvWqRjPvHwLqr5hx28Ayr6bsOs1Kuj87V0O8w==", 1721 | "funding": { 1722 | "url": "https://github.com/sponsors/panva" 1723 | } 1724 | }, 1725 | "node_modules/parse5": { 1726 | "version": "5.1.1", 1727 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", 1728 | "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", 1729 | "dev": true 1730 | }, 1731 | "node_modules/parse5-htmlparser2-tree-adapter": { 1732 | "version": "6.0.1", 1733 | "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", 1734 | "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", 1735 | "dev": true, 1736 | "dependencies": { 1737 | "parse5": "^6.0.1" 1738 | } 1739 | }, 1740 | "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { 1741 | "version": "6.0.1", 1742 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", 1743 | "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", 1744 | "dev": true 1745 | }, 1746 | "node_modules/path-is-absolute": { 1747 | "version": "1.0.1", 1748 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1749 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 1750 | "dev": true, 1751 | "engines": { 1752 | "node": ">=0.10.0" 1753 | } 1754 | }, 1755 | "node_modules/picocolors": { 1756 | "version": "1.0.0", 1757 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1758 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 1759 | }, 1760 | "node_modules/postcss": { 1761 | "version": "8.4.5", 1762 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", 1763 | "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", 1764 | "dependencies": { 1765 | "nanoid": "^3.1.30", 1766 | "picocolors": "^1.0.0", 1767 | "source-map-js": "^1.0.1" 1768 | }, 1769 | "engines": { 1770 | "node": "^10 || ^12 || >=14" 1771 | }, 1772 | "funding": { 1773 | "type": "opencollective", 1774 | "url": "https://opencollective.com/postcss/" 1775 | } 1776 | }, 1777 | "node_modules/preact": { 1778 | "version": "10.7.1", 1779 | "resolved": "https://registry.npmjs.org/preact/-/preact-10.7.1.tgz", 1780 | "integrity": "sha512-MufnRFz39aIhs9AMFisonjzTud1PK1bY+jcJLo6m2T9Uh8AqjD77w11eAAawmjUogoGOnipECq7e/1RClIKsxg==", 1781 | "funding": { 1782 | "type": "opencollective", 1783 | "url": "https://opencollective.com/preact" 1784 | } 1785 | }, 1786 | "node_modules/preact-render-to-string": { 1787 | "version": "5.1.21", 1788 | "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-5.1.21.tgz", 1789 | "integrity": "sha512-wbMtNU4JpfvbE04iCe7BZ1yLYN8i6NRrq+NhR0fUINjPXGu3ZIc4GM5ScOiwdIP1sPXv9SVETuud/tmQGMvdNQ==", 1790 | "dependencies": { 1791 | "pretty-format": "^3.8.0" 1792 | }, 1793 | "peerDependencies": { 1794 | "preact": ">=10" 1795 | } 1796 | }, 1797 | "node_modules/pretty-format": { 1798 | "version": "3.8.0", 1799 | "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz", 1800 | "integrity": "sha1-v77VbV6ad2ZF9LH/eqGjrE+jw4U=" 1801 | }, 1802 | "node_modules/prisma": { 1803 | "version": "4.10.1", 1804 | "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.10.1.tgz", 1805 | "integrity": "sha512-0jDxgg+DruB1kHVNlcspXQB9au62IFfVg9drkhzXudszHNUAQn0lVuu+T8np0uC2z1nKD5S3qPeCyR8u5YFLnA==", 1806 | "devOptional": true, 1807 | "hasInstallScript": true, 1808 | "dependencies": { 1809 | "@prisma/engines": "4.10.1" 1810 | }, 1811 | "bin": { 1812 | "prisma": "build/index.js", 1813 | "prisma2": "build/index.js" 1814 | }, 1815 | "engines": { 1816 | "node": ">=14.17" 1817 | } 1818 | }, 1819 | "node_modules/prop-types": { 1820 | "version": "15.8.1", 1821 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", 1822 | "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", 1823 | "dependencies": { 1824 | "loose-envify": "^1.4.0", 1825 | "object-assign": "^4.1.1", 1826 | "react-is": "^16.13.1" 1827 | } 1828 | }, 1829 | "node_modules/prop-types/node_modules/react-is": { 1830 | "version": "16.13.1", 1831 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", 1832 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" 1833 | }, 1834 | "node_modules/property-information": { 1835 | "version": "6.1.1", 1836 | "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.1.1.tgz", 1837 | "integrity": "sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==", 1838 | "funding": { 1839 | "type": "github", 1840 | "url": "https://github.com/sponsors/wooorm" 1841 | } 1842 | }, 1843 | "node_modules/react": { 1844 | "version": "18.2.0", 1845 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", 1846 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", 1847 | "dependencies": { 1848 | "loose-envify": "^1.1.0" 1849 | }, 1850 | "engines": { 1851 | "node": ">=0.10.0" 1852 | } 1853 | }, 1854 | "node_modules/react-dom": { 1855 | "version": "18.2.0", 1856 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", 1857 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", 1858 | "dependencies": { 1859 | "loose-envify": "^1.1.0", 1860 | "scheduler": "^0.23.0" 1861 | }, 1862 | "peerDependencies": { 1863 | "react": "^18.2.0" 1864 | } 1865 | }, 1866 | "node_modules/react-is": { 1867 | "version": "18.0.0", 1868 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.0.0.tgz", 1869 | "integrity": "sha512-yUcBYdBBbo3QiPsgYDcfQcIkGZHfxOaoE6HLSnr1sPzMhdyxusbfKOSUbSd/ocGi32dxcj366PsTj+5oggeKKw==" 1870 | }, 1871 | "node_modules/react-markdown": { 1872 | "version": "8.0.2", 1873 | "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.2.tgz", 1874 | "integrity": "sha512-WeXeDlCPFZBbN75AiLVEmN4gC6pNWadsZVWWxWpvrYQnUTHsB3l1PH60I1sbxTJr0oWOQc3zhxTrRQMTceNifw==", 1875 | "dependencies": { 1876 | "@types/hast": "^2.0.0", 1877 | "@types/prop-types": "^15.0.0", 1878 | "@types/unist": "^2.0.0", 1879 | "comma-separated-tokens": "^2.0.0", 1880 | "hast-util-whitespace": "^2.0.0", 1881 | "prop-types": "^15.0.0", 1882 | "property-information": "^6.0.0", 1883 | "react-is": "^18.0.0", 1884 | "remark-parse": "^10.0.0", 1885 | "remark-rehype": "^10.0.0", 1886 | "space-separated-tokens": "^2.0.0", 1887 | "style-to-object": "^0.3.0", 1888 | "unified": "^10.0.0", 1889 | "unist-util-visit": "^4.0.0", 1890 | "vfile": "^5.0.0" 1891 | }, 1892 | "funding": { 1893 | "type": "opencollective", 1894 | "url": "https://opencollective.com/unified" 1895 | }, 1896 | "peerDependencies": { 1897 | "@types/react": ">=16", 1898 | "react": ">=16" 1899 | } 1900 | }, 1901 | "node_modules/reflect-metadata": { 1902 | "version": "0.1.13", 1903 | "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", 1904 | "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", 1905 | "dev": true 1906 | }, 1907 | "node_modules/regenerator-runtime": { 1908 | "version": "0.13.9", 1909 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", 1910 | "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" 1911 | }, 1912 | "node_modules/remark-parse": { 1913 | "version": "10.0.1", 1914 | "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz", 1915 | "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==", 1916 | "dependencies": { 1917 | "@types/mdast": "^3.0.0", 1918 | "mdast-util-from-markdown": "^1.0.0", 1919 | "unified": "^10.0.0" 1920 | }, 1921 | "funding": { 1922 | "type": "opencollective", 1923 | "url": "https://opencollective.com/unified" 1924 | } 1925 | }, 1926 | "node_modules/remark-rehype": { 1927 | "version": "10.1.0", 1928 | "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", 1929 | "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", 1930 | "dependencies": { 1931 | "@types/hast": "^2.0.0", 1932 | "@types/mdast": "^3.0.0", 1933 | "mdast-util-to-hast": "^12.1.0", 1934 | "unified": "^10.0.0" 1935 | }, 1936 | "funding": { 1937 | "type": "opencollective", 1938 | "url": "https://opencollective.com/unified" 1939 | } 1940 | }, 1941 | "node_modules/require-directory": { 1942 | "version": "2.1.1", 1943 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 1944 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", 1945 | "dev": true, 1946 | "engines": { 1947 | "node": ">=0.10.0" 1948 | } 1949 | }, 1950 | "node_modules/sade": { 1951 | "version": "1.8.1", 1952 | "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", 1953 | "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", 1954 | "dependencies": { 1955 | "mri": "^1.1.0" 1956 | }, 1957 | "engines": { 1958 | "node": ">=6" 1959 | } 1960 | }, 1961 | "node_modules/safe-buffer": { 1962 | "version": "5.2.1", 1963 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1964 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 1965 | "dev": true, 1966 | "funding": [ 1967 | { 1968 | "type": "github", 1969 | "url": "https://github.com/sponsors/feross" 1970 | }, 1971 | { 1972 | "type": "patreon", 1973 | "url": "https://www.patreon.com/feross" 1974 | }, 1975 | { 1976 | "type": "consulting", 1977 | "url": "https://feross.org/support" 1978 | } 1979 | ] 1980 | }, 1981 | "node_modules/sax": { 1982 | "version": "1.2.4", 1983 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", 1984 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", 1985 | "dev": true 1986 | }, 1987 | "node_modules/scheduler": { 1988 | "version": "0.23.0", 1989 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", 1990 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", 1991 | "dependencies": { 1992 | "loose-envify": "^1.1.0" 1993 | } 1994 | }, 1995 | "node_modules/sha.js": { 1996 | "version": "2.4.11", 1997 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", 1998 | "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", 1999 | "dev": true, 2000 | "dependencies": { 2001 | "inherits": "^2.0.1", 2002 | "safe-buffer": "^5.0.1" 2003 | }, 2004 | "bin": { 2005 | "sha.js": "bin.js" 2006 | } 2007 | }, 2008 | "node_modules/source-map-js": { 2009 | "version": "1.0.2", 2010 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 2011 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 2012 | "engines": { 2013 | "node": ">=0.10.0" 2014 | } 2015 | }, 2016 | "node_modules/space-separated-tokens": { 2017 | "version": "2.0.1", 2018 | "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz", 2019 | "integrity": "sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==", 2020 | "funding": { 2021 | "type": "github", 2022 | "url": "https://github.com/sponsors/wooorm" 2023 | } 2024 | }, 2025 | "node_modules/string-width": { 2026 | "version": "4.2.3", 2027 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 2028 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 2029 | "dev": true, 2030 | "dependencies": { 2031 | "emoji-regex": "^8.0.0", 2032 | "is-fullwidth-code-point": "^3.0.0", 2033 | "strip-ansi": "^6.0.1" 2034 | }, 2035 | "engines": { 2036 | "node": ">=8" 2037 | } 2038 | }, 2039 | "node_modules/strip-ansi": { 2040 | "version": "6.0.1", 2041 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2042 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2043 | "dev": true, 2044 | "dependencies": { 2045 | "ansi-regex": "^5.0.1" 2046 | }, 2047 | "engines": { 2048 | "node": ">=8" 2049 | } 2050 | }, 2051 | "node_modules/style-to-object": { 2052 | "version": "0.3.0", 2053 | "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", 2054 | "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", 2055 | "dependencies": { 2056 | "inline-style-parser": "0.1.1" 2057 | } 2058 | }, 2059 | "node_modules/styled-jsx": { 2060 | "version": "5.0.1", 2061 | "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.1.tgz", 2062 | "integrity": "sha512-+PIZ/6Uk40mphiQJJI1202b+/dYeTVd9ZnMPR80pgiWbjIwvN2zIp4r9et0BgqBuShh48I0gttPlAXA7WVvBxw==", 2063 | "engines": { 2064 | "node": ">= 12.0.0" 2065 | }, 2066 | "peerDependencies": { 2067 | "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" 2068 | }, 2069 | "peerDependenciesMeta": { 2070 | "@babel/core": { 2071 | "optional": true 2072 | }, 2073 | "babel-plugin-macros": { 2074 | "optional": true 2075 | } 2076 | } 2077 | }, 2078 | "node_modules/supports-color": { 2079 | "version": "7.2.0", 2080 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 2081 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 2082 | "dev": true, 2083 | "dependencies": { 2084 | "has-flag": "^4.0.0" 2085 | }, 2086 | "engines": { 2087 | "node": ">=8" 2088 | } 2089 | }, 2090 | "node_modules/thenify": { 2091 | "version": "3.3.1", 2092 | "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", 2093 | "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", 2094 | "dev": true, 2095 | "dependencies": { 2096 | "any-promise": "^1.0.0" 2097 | } 2098 | }, 2099 | "node_modules/thenify-all": { 2100 | "version": "1.6.0", 2101 | "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 2102 | "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", 2103 | "dev": true, 2104 | "dependencies": { 2105 | "thenify": ">= 3.1.0 < 4" 2106 | }, 2107 | "engines": { 2108 | "node": ">=0.8" 2109 | } 2110 | }, 2111 | "node_modules/trough": { 2112 | "version": "2.1.0", 2113 | "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", 2114 | "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", 2115 | "funding": { 2116 | "type": "github", 2117 | "url": "https://github.com/sponsors/wooorm" 2118 | } 2119 | }, 2120 | "node_modules/ts-node": { 2121 | "version": "10.7.0", 2122 | "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", 2123 | "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", 2124 | "dev": true, 2125 | "dependencies": { 2126 | "@cspotcode/source-map-support": "0.7.0", 2127 | "@tsconfig/node10": "^1.0.7", 2128 | "@tsconfig/node12": "^1.0.7", 2129 | "@tsconfig/node14": "^1.0.0", 2130 | "@tsconfig/node16": "^1.0.2", 2131 | "acorn": "^8.4.1", 2132 | "acorn-walk": "^8.1.1", 2133 | "arg": "^4.1.0", 2134 | "create-require": "^1.1.0", 2135 | "diff": "^4.0.1", 2136 | "make-error": "^1.1.1", 2137 | "v8-compile-cache-lib": "^3.0.0", 2138 | "yn": "3.1.1" 2139 | }, 2140 | "bin": { 2141 | "ts-node": "dist/bin.js", 2142 | "ts-node-cwd": "dist/bin-cwd.js", 2143 | "ts-node-esm": "dist/bin-esm.js", 2144 | "ts-node-script": "dist/bin-script.js", 2145 | "ts-node-transpile-only": "dist/bin-transpile.js", 2146 | "ts-script": "dist/bin-script-deprecated.js" 2147 | }, 2148 | "peerDependencies": { 2149 | "@swc/core": ">=1.2.50", 2150 | "@swc/wasm": ">=1.2.50", 2151 | "@types/node": "*", 2152 | "typescript": ">=2.7" 2153 | }, 2154 | "peerDependenciesMeta": { 2155 | "@swc/core": { 2156 | "optional": true 2157 | }, 2158 | "@swc/wasm": { 2159 | "optional": true 2160 | } 2161 | } 2162 | }, 2163 | "node_modules/tslib": { 2164 | "version": "2.3.1", 2165 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", 2166 | "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", 2167 | "dev": true 2168 | }, 2169 | "node_modules/typeorm": { 2170 | "version": "0.2.45", 2171 | "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.2.45.tgz", 2172 | "integrity": "sha512-c0rCO8VMJ3ER7JQ73xfk0zDnVv0WDjpsP6Q1m6CVKul7DB9iVdWLRjPzc8v2eaeBuomsbZ2+gTaYr8k1gm3bYA==", 2173 | "dev": true, 2174 | "dependencies": { 2175 | "@sqltools/formatter": "^1.2.2", 2176 | "app-root-path": "^3.0.0", 2177 | "buffer": "^6.0.3", 2178 | "chalk": "^4.1.0", 2179 | "cli-highlight": "^2.1.11", 2180 | "debug": "^4.3.1", 2181 | "dotenv": "^8.2.0", 2182 | "glob": "^7.1.6", 2183 | "js-yaml": "^4.0.0", 2184 | "mkdirp": "^1.0.4", 2185 | "reflect-metadata": "^0.1.13", 2186 | "sha.js": "^2.4.11", 2187 | "tslib": "^2.1.0", 2188 | "uuid": "^8.3.2", 2189 | "xml2js": "^0.4.23", 2190 | "yargs": "^17.0.1", 2191 | "zen-observable-ts": "^1.0.0" 2192 | }, 2193 | "bin": { 2194 | "typeorm": "cli.js" 2195 | }, 2196 | "funding": { 2197 | "url": "https://opencollective.com/typeorm" 2198 | }, 2199 | "peerDependencies": { 2200 | "@sap/hana-client": "^2.11.14", 2201 | "better-sqlite3": "^7.1.2", 2202 | "hdb-pool": "^0.1.6", 2203 | "ioredis": "^4.28.3", 2204 | "mongodb": "^3.6.0", 2205 | "mssql": "^6.3.1", 2206 | "mysql2": "^2.2.5", 2207 | "oracledb": "^5.1.0", 2208 | "pg": "^8.5.1", 2209 | "pg-native": "^3.0.0", 2210 | "pg-query-stream": "^4.0.0", 2211 | "redis": "^3.1.1", 2212 | "sql.js": "^1.4.0", 2213 | "sqlite3": "^5.0.2", 2214 | "typeorm-aurora-data-api-driver": "^2.0.0" 2215 | }, 2216 | "peerDependenciesMeta": { 2217 | "@sap/hana-client": { 2218 | "optional": true 2219 | }, 2220 | "better-sqlite3": { 2221 | "optional": true 2222 | }, 2223 | "hdb-pool": { 2224 | "optional": true 2225 | }, 2226 | "ioredis": { 2227 | "optional": true 2228 | }, 2229 | "mongodb": { 2230 | "optional": true 2231 | }, 2232 | "mssql": { 2233 | "optional": true 2234 | }, 2235 | "mysql2": { 2236 | "optional": true 2237 | }, 2238 | "oracledb": { 2239 | "optional": true 2240 | }, 2241 | "pg": { 2242 | "optional": true 2243 | }, 2244 | "pg-native": { 2245 | "optional": true 2246 | }, 2247 | "pg-query-stream": { 2248 | "optional": true 2249 | }, 2250 | "redis": { 2251 | "optional": true 2252 | }, 2253 | "sql.js": { 2254 | "optional": true 2255 | }, 2256 | "sqlite3": { 2257 | "optional": true 2258 | }, 2259 | "typeorm-aurora-data-api-driver": { 2260 | "optional": true 2261 | } 2262 | } 2263 | }, 2264 | "node_modules/typescript": { 2265 | "version": "4.6.3", 2266 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", 2267 | "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", 2268 | "dev": true, 2269 | "bin": { 2270 | "tsc": "bin/tsc", 2271 | "tsserver": "bin/tsserver" 2272 | }, 2273 | "engines": { 2274 | "node": ">=4.2.0" 2275 | } 2276 | }, 2277 | "node_modules/unified": { 2278 | "version": "10.1.2", 2279 | "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", 2280 | "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", 2281 | "dependencies": { 2282 | "@types/unist": "^2.0.0", 2283 | "bail": "^2.0.0", 2284 | "extend": "^3.0.0", 2285 | "is-buffer": "^2.0.0", 2286 | "is-plain-obj": "^4.0.0", 2287 | "trough": "^2.0.0", 2288 | "vfile": "^5.0.0" 2289 | }, 2290 | "funding": { 2291 | "type": "opencollective", 2292 | "url": "https://opencollective.com/unified" 2293 | } 2294 | }, 2295 | "node_modules/unist-builder": { 2296 | "version": "3.0.0", 2297 | "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.0.tgz", 2298 | "integrity": "sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==", 2299 | "dependencies": { 2300 | "@types/unist": "^2.0.0" 2301 | }, 2302 | "funding": { 2303 | "type": "opencollective", 2304 | "url": "https://opencollective.com/unified" 2305 | } 2306 | }, 2307 | "node_modules/unist-util-generated": { 2308 | "version": "2.0.0", 2309 | "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.0.tgz", 2310 | "integrity": "sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw==", 2311 | "funding": { 2312 | "type": "opencollective", 2313 | "url": "https://opencollective.com/unified" 2314 | } 2315 | }, 2316 | "node_modules/unist-util-is": { 2317 | "version": "5.1.1", 2318 | "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz", 2319 | "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==", 2320 | "funding": { 2321 | "type": "opencollective", 2322 | "url": "https://opencollective.com/unified" 2323 | } 2324 | }, 2325 | "node_modules/unist-util-position": { 2326 | "version": "4.0.3", 2327 | "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.3.tgz", 2328 | "integrity": "sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==", 2329 | "dependencies": { 2330 | "@types/unist": "^2.0.0" 2331 | }, 2332 | "funding": { 2333 | "type": "opencollective", 2334 | "url": "https://opencollective.com/unified" 2335 | } 2336 | }, 2337 | "node_modules/unist-util-stringify-position": { 2338 | "version": "3.0.2", 2339 | "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz", 2340 | "integrity": "sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==", 2341 | "dependencies": { 2342 | "@types/unist": "^2.0.0" 2343 | }, 2344 | "funding": { 2345 | "type": "opencollective", 2346 | "url": "https://opencollective.com/unified" 2347 | } 2348 | }, 2349 | "node_modules/unist-util-visit": { 2350 | "version": "4.1.0", 2351 | "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.0.tgz", 2352 | "integrity": "sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ==", 2353 | "dependencies": { 2354 | "@types/unist": "^2.0.0", 2355 | "unist-util-is": "^5.0.0", 2356 | "unist-util-visit-parents": "^5.0.0" 2357 | }, 2358 | "funding": { 2359 | "type": "opencollective", 2360 | "url": "https://opencollective.com/unified" 2361 | } 2362 | }, 2363 | "node_modules/unist-util-visit-parents": { 2364 | "version": "5.1.0", 2365 | "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz", 2366 | "integrity": "sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==", 2367 | "dependencies": { 2368 | "@types/unist": "^2.0.0", 2369 | "unist-util-is": "^5.0.0" 2370 | }, 2371 | "funding": { 2372 | "type": "opencollective", 2373 | "url": "https://opencollective.com/unified" 2374 | } 2375 | }, 2376 | "node_modules/uuid": { 2377 | "version": "8.3.2", 2378 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", 2379 | "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", 2380 | "bin": { 2381 | "uuid": "dist/bin/uuid" 2382 | } 2383 | }, 2384 | "node_modules/uvu": { 2385 | "version": "0.5.3", 2386 | "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.3.tgz", 2387 | "integrity": "sha512-brFwqA3FXzilmtnIyJ+CxdkInkY/i4ErvP7uV0DnUVxQcQ55reuHphorpF+tZoVHK2MniZ/VJzI7zJQoc9T9Yw==", 2388 | "dependencies": { 2389 | "dequal": "^2.0.0", 2390 | "diff": "^5.0.0", 2391 | "kleur": "^4.0.3", 2392 | "sade": "^1.7.3" 2393 | }, 2394 | "bin": { 2395 | "uvu": "bin.js" 2396 | }, 2397 | "engines": { 2398 | "node": ">=8" 2399 | } 2400 | }, 2401 | "node_modules/uvu/node_modules/diff": { 2402 | "version": "5.0.0", 2403 | "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", 2404 | "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", 2405 | "engines": { 2406 | "node": ">=0.3.1" 2407 | } 2408 | }, 2409 | "node_modules/v8-compile-cache-lib": { 2410 | "version": "3.0.0", 2411 | "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz", 2412 | "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==", 2413 | "dev": true 2414 | }, 2415 | "node_modules/vfile": { 2416 | "version": "5.3.2", 2417 | "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.2.tgz", 2418 | "integrity": "sha512-w0PLIugRY3Crkgw89TeMvHCzqCs/zpreR31hl4D92y6SOE07+bfJe+dK5Q2akwS+i/c801kzjoOr9gMcTe6IAA==", 2419 | "dependencies": { 2420 | "@types/unist": "^2.0.0", 2421 | "is-buffer": "^2.0.0", 2422 | "unist-util-stringify-position": "^3.0.0", 2423 | "vfile-message": "^3.0.0" 2424 | }, 2425 | "funding": { 2426 | "type": "opencollective", 2427 | "url": "https://opencollective.com/unified" 2428 | } 2429 | }, 2430 | "node_modules/vfile-message": { 2431 | "version": "3.1.2", 2432 | "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.2.tgz", 2433 | "integrity": "sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==", 2434 | "dependencies": { 2435 | "@types/unist": "^2.0.0", 2436 | "unist-util-stringify-position": "^3.0.0" 2437 | }, 2438 | "funding": { 2439 | "type": "opencollective", 2440 | "url": "https://opencollective.com/unified" 2441 | } 2442 | }, 2443 | "node_modules/wrap-ansi": { 2444 | "version": "7.0.0", 2445 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 2446 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 2447 | "dev": true, 2448 | "dependencies": { 2449 | "ansi-styles": "^4.0.0", 2450 | "string-width": "^4.1.0", 2451 | "strip-ansi": "^6.0.0" 2452 | }, 2453 | "engines": { 2454 | "node": ">=10" 2455 | }, 2456 | "funding": { 2457 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 2458 | } 2459 | }, 2460 | "node_modules/wrappy": { 2461 | "version": "1.0.2", 2462 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2463 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 2464 | "dev": true 2465 | }, 2466 | "node_modules/xml2js": { 2467 | "version": "0.4.23", 2468 | "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", 2469 | "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", 2470 | "dev": true, 2471 | "dependencies": { 2472 | "sax": ">=0.6.0", 2473 | "xmlbuilder": "~11.0.0" 2474 | }, 2475 | "engines": { 2476 | "node": ">=4.0.0" 2477 | } 2478 | }, 2479 | "node_modules/xmlbuilder": { 2480 | "version": "11.0.1", 2481 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", 2482 | "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", 2483 | "dev": true, 2484 | "engines": { 2485 | "node": ">=4.0" 2486 | } 2487 | }, 2488 | "node_modules/y18n": { 2489 | "version": "5.0.8", 2490 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 2491 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", 2492 | "dev": true, 2493 | "engines": { 2494 | "node": ">=10" 2495 | } 2496 | }, 2497 | "node_modules/yallist": { 2498 | "version": "4.0.0", 2499 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 2500 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" 2501 | }, 2502 | "node_modules/yargs": { 2503 | "version": "17.4.0", 2504 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.0.tgz", 2505 | "integrity": "sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA==", 2506 | "dev": true, 2507 | "dependencies": { 2508 | "cliui": "^7.0.2", 2509 | "escalade": "^3.1.1", 2510 | "get-caller-file": "^2.0.5", 2511 | "require-directory": "^2.1.1", 2512 | "string-width": "^4.2.3", 2513 | "y18n": "^5.0.5", 2514 | "yargs-parser": "^21.0.0" 2515 | }, 2516 | "engines": { 2517 | "node": ">=12" 2518 | } 2519 | }, 2520 | "node_modules/yargs-parser": { 2521 | "version": "21.0.1", 2522 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", 2523 | "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", 2524 | "dev": true, 2525 | "engines": { 2526 | "node": ">=12" 2527 | } 2528 | }, 2529 | "node_modules/yn": { 2530 | "version": "3.1.1", 2531 | "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", 2532 | "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", 2533 | "dev": true, 2534 | "engines": { 2535 | "node": ">=6" 2536 | } 2537 | }, 2538 | "node_modules/zen-observable": { 2539 | "version": "0.8.15", 2540 | "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", 2541 | "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==", 2542 | "dev": true 2543 | }, 2544 | "node_modules/zen-observable-ts": { 2545 | "version": "1.1.0", 2546 | "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.1.0.tgz", 2547 | "integrity": "sha512-1h4zlLSqI2cRLPJUHJFL8bCWHhkpuXkF+dbGkRaWjgDIG26DmzyshUMrdV/rL3UnR+mhaX4fRq8LPouq0MYYIA==", 2548 | "dev": true, 2549 | "dependencies": { 2550 | "@types/zen-observable": "0.8.3", 2551 | "zen-observable": "0.8.15" 2552 | } 2553 | } 2554 | }, 2555 | "dependencies": { 2556 | "@babel/runtime": { 2557 | "version": "7.17.9", 2558 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", 2559 | "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", 2560 | "requires": { 2561 | "regenerator-runtime": "^0.13.4" 2562 | } 2563 | }, 2564 | "@cspotcode/source-map-consumer": { 2565 | "version": "0.8.0", 2566 | "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", 2567 | "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", 2568 | "dev": true 2569 | }, 2570 | "@cspotcode/source-map-support": { 2571 | "version": "0.7.0", 2572 | "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", 2573 | "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", 2574 | "dev": true, 2575 | "requires": { 2576 | "@cspotcode/source-map-consumer": "0.8.0" 2577 | } 2578 | }, 2579 | "@next-auth/prisma-adapter": { 2580 | "version": "1.0.3", 2581 | "resolved": "https://registry.npmjs.org/@next-auth/prisma-adapter/-/prisma-adapter-1.0.3.tgz", 2582 | "integrity": "sha512-3Lq1cD3ytKM3EGKJZ4UZvlqshLtlPvYxLeCrUV9ifYwYlq51kmDaHjsIawlp8EbH5pE1UhlsvtlXMery7RghtA==", 2583 | "requires": {} 2584 | }, 2585 | "@next/env": { 2586 | "version": "12.1.4", 2587 | "resolved": "https://registry.npmjs.org/@next/env/-/env-12.1.4.tgz", 2588 | "integrity": "sha512-7gQwotJDKnfMxxXd8xJ2vsX5AzyDxO3zou0+QOXX8/unypA6icw5+wf6A62yKZ6qQ4UZHHxS68pb6UV+wNneXg==" 2589 | }, 2590 | "@next/swc-android-arm-eabi": { 2591 | "version": "12.1.4", 2592 | "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.1.4.tgz", 2593 | "integrity": "sha512-FJg/6a3s2YrUaqZ+/DJZzeZqfxbbWrynQMT1C5wlIEq9aDLXCFpPM/PiOyJh0ahxc0XPmi6uo38Poq+GJTuKWw==", 2594 | "optional": true 2595 | }, 2596 | "@next/swc-android-arm64": { 2597 | "version": "12.1.4", 2598 | "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-12.1.4.tgz", 2599 | "integrity": "sha512-LXraazvQQFBgxIg3Htny6G5V5he9EK7oS4jWtMdTGIikmD/OGByOv8ZjLuVLZLtVm3UIvaAiGtlQSLecxJoJDw==", 2600 | "optional": true 2601 | }, 2602 | "@next/swc-darwin-arm64": { 2603 | "version": "12.1.4", 2604 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.4.tgz", 2605 | "integrity": "sha512-SSST/dBymecllZxcqTCcSTCu5o1NKk9I+xcvhn/O9nH6GWjgvGgGkNqLbCarCa0jJ1ukvlBA138FagyrmZ/4rQ==", 2606 | "optional": true 2607 | }, 2608 | "@next/swc-darwin-x64": { 2609 | "version": "12.1.4", 2610 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-12.1.4.tgz", 2611 | "integrity": "sha512-p1lwdX0TVjaoDXQVuAkjtxVBbCL/urgxiMCBwuPDO7TikpXtSRivi+mIzBj5q7ypgICFmIAOW3TyupXeoPRAnA==", 2612 | "optional": true 2613 | }, 2614 | "@next/swc-linux-arm-gnueabihf": { 2615 | "version": "12.1.4", 2616 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.1.4.tgz", 2617 | "integrity": "sha512-67PZlgkCn3TDxacdVft0xqDCL7Io1/C4xbAs0+oSQ0xzp6OzN2RNpuKjHJrJgKd0DsE1XZ9sCP27Qv0591yfyg==", 2618 | "optional": true 2619 | }, 2620 | "@next/swc-linux-arm64-gnu": { 2621 | "version": "12.1.4", 2622 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.1.4.tgz", 2623 | "integrity": "sha512-OnOWixhhw7aU22TQdQLYrgpgFq0oA1wGgnjAiHJ+St7MLj82KTDyM9UcymAMbGYy6nG/TFOOHdTmRMtCRNOw0g==", 2624 | "optional": true 2625 | }, 2626 | "@next/swc-linux-arm64-musl": { 2627 | "version": "12.1.4", 2628 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.1.4.tgz", 2629 | "integrity": "sha512-UoRMzPZnsAavdWtVylYxH8DNC7Uy0i6RrvNwT4PyQVdfANBn2omsUkcH5lgS2O7oaz0nAYLk1vqyZDO7+tJotA==", 2630 | "optional": true 2631 | }, 2632 | "@next/swc-linux-x64-gnu": { 2633 | "version": "12.1.4", 2634 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.4.tgz", 2635 | "integrity": "sha512-nM+MA/frxlTLUKLJKorctdI20/ugfHRjVEEkcLp/58LGG7slNaP1E5d5dRA1yX6ISjPcQAkywas5VlGCg+uTvA==", 2636 | "optional": true 2637 | }, 2638 | "@next/swc-linux-x64-musl": { 2639 | "version": "12.1.4", 2640 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.4.tgz", 2641 | "integrity": "sha512-GoRHxkuW4u4yKw734B9SzxJwVdyEJosaZ62P7ifOwcujTxhgBt3y76V2nNUrsSuopcKI2ZTDjaa+2wd5zyeXbA==", 2642 | "optional": true 2643 | }, 2644 | "@next/swc-win32-arm64-msvc": { 2645 | "version": "12.1.4", 2646 | "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.4.tgz", 2647 | "integrity": "sha512-6TQkQze0ievXwHJcVUrIULwCYVe3ccX6T0JgZ1SiMeXpHxISN7VJF/O8uSCw1JvXZYZ6ud0CJ7nfC5HXivgfPg==", 2648 | "optional": true 2649 | }, 2650 | "@next/swc-win32-ia32-msvc": { 2651 | "version": "12.1.4", 2652 | "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.4.tgz", 2653 | "integrity": "sha512-CsbX/IXuZ5VSmWCpSetG2HD6VO5FTsO39WNp2IR2Ut/uom9XtLDJAZqjQEnbUTLGHuwDKFjrIO3LkhtROXLE/g==", 2654 | "optional": true 2655 | }, 2656 | "@next/swc-win32-x64-msvc": { 2657 | "version": "12.1.4", 2658 | "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.4.tgz", 2659 | "integrity": "sha512-JtYuWzKXKLDMgE/xTcFtCm1MiCIRaAc5XYZfYX3n/ZWSI1SJS/GMm+Su0SAHJgRFavJh6U/p998YwO/iGTIgqQ==", 2660 | "optional": true 2661 | }, 2662 | "@panva/asn1.js": { 2663 | "version": "1.0.0", 2664 | "resolved": "https://registry.npmjs.org/@panva/asn1.js/-/asn1.js-1.0.0.tgz", 2665 | "integrity": "sha512-UdkG3mLEqXgnlKsWanWcgb6dOjUzJ+XC5f+aWw30qrtjxeNUSfKX1cd5FBzOaXQumoe9nIqeZUvrRJS03HCCtw==", 2666 | "dev": true 2667 | }, 2668 | "@panva/hkdf": { 2669 | "version": "1.0.1", 2670 | "resolved": "https://registry.npmjs.org/@panva/hkdf/-/hkdf-1.0.1.tgz", 2671 | "integrity": "sha512-mMyQ9vjpuFqePkfe5bZVIf/H3Dmk6wA8Kjxff9RcO4kqzJo+Ek9pGKwZHpeMr7Eku0QhLXMCd7fNCSnEnRMubg==" 2672 | }, 2673 | "@prisma/client": { 2674 | "version": "4.10.1", 2675 | "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.10.1.tgz", 2676 | "integrity": "sha512-VonXLJZybdt8e5XZH5vnIGCRNnIh6OMX1FS3H/yzMGLT3STj5TJ/OkMcednrvELgk8PK89Vo3aSh51MWNO0axA==", 2677 | "requires": { 2678 | "@prisma/engines-version": "4.10.1-2.aead147aa326ccb985dcfed5b065b4fdabd44b19" 2679 | } 2680 | }, 2681 | "@prisma/engines": { 2682 | "version": "4.10.1", 2683 | "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.10.1.tgz", 2684 | "integrity": "sha512-B3tcTxjx196nuAu1GOTKO9cGPUgTFHYRdkPkTS4m5ptb2cejyBlH9X7GOfSt3xlI7p4zAJDshJP4JJivCg9ouA==", 2685 | "devOptional": true 2686 | }, 2687 | "@prisma/engines-version": { 2688 | "version": "4.10.1-2.aead147aa326ccb985dcfed5b065b4fdabd44b19", 2689 | "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.10.1-2.aead147aa326ccb985dcfed5b065b4fdabd44b19.tgz", 2690 | "integrity": "sha512-tsjTho7laDhf9EJ9EnDxAPEf7yrigSMDhniXeU4YoWc7azHAs4GPxRi2P9LTFonmHkJLMOLjR77J1oIP8Ife1w==" 2691 | }, 2692 | "@sqltools/formatter": { 2693 | "version": "1.2.3", 2694 | "resolved": "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.3.tgz", 2695 | "integrity": "sha512-O3uyB/JbkAEMZaP3YqyHH7TMnex7tWyCbCI4EfJdOCoN6HIhqdJBWTM6aCCiWQ/5f5wxjgU735QAIpJbjDvmzg==", 2696 | "dev": true 2697 | }, 2698 | "@tsconfig/node10": { 2699 | "version": "1.0.8", 2700 | "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", 2701 | "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", 2702 | "dev": true 2703 | }, 2704 | "@tsconfig/node12": { 2705 | "version": "1.0.9", 2706 | "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", 2707 | "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", 2708 | "dev": true 2709 | }, 2710 | "@tsconfig/node14": { 2711 | "version": "1.0.1", 2712 | "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", 2713 | "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", 2714 | "dev": true 2715 | }, 2716 | "@tsconfig/node16": { 2717 | "version": "1.0.2", 2718 | "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", 2719 | "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", 2720 | "dev": true 2721 | }, 2722 | "@types/debug": { 2723 | "version": "4.1.7", 2724 | "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", 2725 | "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", 2726 | "requires": { 2727 | "@types/ms": "*" 2728 | } 2729 | }, 2730 | "@types/hast": { 2731 | "version": "2.3.4", 2732 | "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", 2733 | "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", 2734 | "requires": { 2735 | "@types/unist": "*" 2736 | } 2737 | }, 2738 | "@types/mdast": { 2739 | "version": "3.0.10", 2740 | "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", 2741 | "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==", 2742 | "requires": { 2743 | "@types/unist": "*" 2744 | } 2745 | }, 2746 | "@types/mdurl": { 2747 | "version": "1.0.2", 2748 | "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", 2749 | "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==" 2750 | }, 2751 | "@types/ms": { 2752 | "version": "0.7.31", 2753 | "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", 2754 | "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" 2755 | }, 2756 | "@types/next-auth": { 2757 | "version": "3.13.0", 2758 | "resolved": "https://registry.npmjs.org/@types/next-auth/-/next-auth-3.13.0.tgz", 2759 | "integrity": "sha512-zkEVDyoKgRsHm3KUaZoOGSThTS9h0+HbFZctiYbB5MMU6/pUZuF5ozWrVG00jotQJuSEIlPWzdCIXKlaHctJgw==", 2760 | "dev": true, 2761 | "requires": { 2762 | "@types/node": "*", 2763 | "@types/react": "*", 2764 | "jose": "^1.28.0", 2765 | "typeorm": "^0.2.31" 2766 | } 2767 | }, 2768 | "@types/node": { 2769 | "version": "16.18.66", 2770 | "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.66.tgz", 2771 | "integrity": "sha512-sePmD/imfKvC4re/Wwos1NEcXYm6O96CAG5gQVY53nmDb8ePQ4qPku6uruN7n6TJ0t5FhcoUc2+yvE2/UZVDZw==", 2772 | "dev": true 2773 | }, 2774 | "@types/prop-types": { 2775 | "version": "15.7.5", 2776 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", 2777 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" 2778 | }, 2779 | "@types/react": { 2780 | "version": "17.0.44", 2781 | "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.44.tgz", 2782 | "integrity": "sha512-Ye0nlw09GeMp2Suh8qoOv0odfgCoowfM/9MG6WeRD60Gq9wS90bdkdRtYbRkNhXOpG4H+YXGvj4wOWhAC0LJ1g==", 2783 | "requires": { 2784 | "@types/prop-types": "*", 2785 | "@types/scheduler": "*", 2786 | "csstype": "^3.0.2" 2787 | } 2788 | }, 2789 | "@types/scheduler": { 2790 | "version": "0.16.2", 2791 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", 2792 | "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" 2793 | }, 2794 | "@types/unist": { 2795 | "version": "2.0.6", 2796 | "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", 2797 | "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" 2798 | }, 2799 | "@types/zen-observable": { 2800 | "version": "0.8.3", 2801 | "resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.3.tgz", 2802 | "integrity": "sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw==", 2803 | "dev": true 2804 | }, 2805 | "acorn": { 2806 | "version": "8.7.0", 2807 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", 2808 | "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", 2809 | "dev": true 2810 | }, 2811 | "acorn-walk": { 2812 | "version": "8.2.0", 2813 | "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", 2814 | "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", 2815 | "dev": true 2816 | }, 2817 | "ansi-regex": { 2818 | "version": "5.0.1", 2819 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2820 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 2821 | "dev": true 2822 | }, 2823 | "ansi-styles": { 2824 | "version": "4.3.0", 2825 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 2826 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 2827 | "dev": true, 2828 | "requires": { 2829 | "color-convert": "^2.0.1" 2830 | } 2831 | }, 2832 | "any-promise": { 2833 | "version": "1.3.0", 2834 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 2835 | "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", 2836 | "dev": true 2837 | }, 2838 | "app-root-path": { 2839 | "version": "3.0.0", 2840 | "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz", 2841 | "integrity": "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==", 2842 | "dev": true 2843 | }, 2844 | "arg": { 2845 | "version": "4.1.3", 2846 | "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", 2847 | "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", 2848 | "dev": true 2849 | }, 2850 | "argparse": { 2851 | "version": "2.0.1", 2852 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 2853 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 2854 | "dev": true 2855 | }, 2856 | "bail": { 2857 | "version": "2.0.2", 2858 | "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", 2859 | "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==" 2860 | }, 2861 | "balanced-match": { 2862 | "version": "1.0.2", 2863 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 2864 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 2865 | "dev": true 2866 | }, 2867 | "base64-js": { 2868 | "version": "1.5.1", 2869 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 2870 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 2871 | "dev": true 2872 | }, 2873 | "brace-expansion": { 2874 | "version": "1.1.11", 2875 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 2876 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 2877 | "dev": true, 2878 | "requires": { 2879 | "balanced-match": "^1.0.0", 2880 | "concat-map": "0.0.1" 2881 | } 2882 | }, 2883 | "buffer": { 2884 | "version": "6.0.3", 2885 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", 2886 | "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", 2887 | "dev": true, 2888 | "requires": { 2889 | "base64-js": "^1.3.1", 2890 | "ieee754": "^1.2.1" 2891 | } 2892 | }, 2893 | "caniuse-lite": { 2894 | "version": "1.0.30001327", 2895 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001327.tgz", 2896 | "integrity": "sha512-1/Cg4jlD9qjZzhbzkzEaAC2JHsP0WrOc8Rd/3a3LuajGzGWR/hD7TVyvq99VqmTy99eVh8Zkmdq213OgvgXx7w==" 2897 | }, 2898 | "chalk": { 2899 | "version": "4.1.2", 2900 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 2901 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 2902 | "dev": true, 2903 | "requires": { 2904 | "ansi-styles": "^4.1.0", 2905 | "supports-color": "^7.1.0" 2906 | } 2907 | }, 2908 | "character-entities": { 2909 | "version": "2.0.1", 2910 | "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.1.tgz", 2911 | "integrity": "sha512-OzmutCf2Kmc+6DrFrrPS8/tDh2+DpnrfzdICHWhcVC9eOd0N1PXmQEE1a8iM4IziIAG+8tmTq3K+oo0ubH6RRQ==" 2912 | }, 2913 | "cli-highlight": { 2914 | "version": "2.1.11", 2915 | "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", 2916 | "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", 2917 | "dev": true, 2918 | "requires": { 2919 | "chalk": "^4.0.0", 2920 | "highlight.js": "^10.7.1", 2921 | "mz": "^2.4.0", 2922 | "parse5": "^5.1.1", 2923 | "parse5-htmlparser2-tree-adapter": "^6.0.0", 2924 | "yargs": "^16.0.0" 2925 | }, 2926 | "dependencies": { 2927 | "yargs": { 2928 | "version": "16.2.0", 2929 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", 2930 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", 2931 | "dev": true, 2932 | "requires": { 2933 | "cliui": "^7.0.2", 2934 | "escalade": "^3.1.1", 2935 | "get-caller-file": "^2.0.5", 2936 | "require-directory": "^2.1.1", 2937 | "string-width": "^4.2.0", 2938 | "y18n": "^5.0.5", 2939 | "yargs-parser": "^20.2.2" 2940 | } 2941 | }, 2942 | "yargs-parser": { 2943 | "version": "20.2.9", 2944 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", 2945 | "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", 2946 | "dev": true 2947 | } 2948 | } 2949 | }, 2950 | "cliui": { 2951 | "version": "7.0.4", 2952 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", 2953 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", 2954 | "dev": true, 2955 | "requires": { 2956 | "string-width": "^4.2.0", 2957 | "strip-ansi": "^6.0.0", 2958 | "wrap-ansi": "^7.0.0" 2959 | } 2960 | }, 2961 | "color-convert": { 2962 | "version": "2.0.1", 2963 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 2964 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 2965 | "dev": true, 2966 | "requires": { 2967 | "color-name": "~1.1.4" 2968 | } 2969 | }, 2970 | "color-name": { 2971 | "version": "1.1.4", 2972 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 2973 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 2974 | "dev": true 2975 | }, 2976 | "comma-separated-tokens": { 2977 | "version": "2.0.2", 2978 | "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz", 2979 | "integrity": "sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg==" 2980 | }, 2981 | "concat-map": { 2982 | "version": "0.0.1", 2983 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 2984 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 2985 | "dev": true 2986 | }, 2987 | "cookie": { 2988 | "version": "0.4.2", 2989 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", 2990 | "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" 2991 | }, 2992 | "create-require": { 2993 | "version": "1.1.1", 2994 | "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", 2995 | "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", 2996 | "dev": true 2997 | }, 2998 | "csstype": { 2999 | "version": "3.0.11", 3000 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz", 3001 | "integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==" 3002 | }, 3003 | "debug": { 3004 | "version": "4.3.4", 3005 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 3006 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 3007 | "requires": { 3008 | "ms": "2.1.2" 3009 | } 3010 | }, 3011 | "decode-named-character-reference": { 3012 | "version": "1.0.1", 3013 | "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.1.tgz", 3014 | "integrity": "sha512-YV/0HQHreRwKb7uBopyIkLG17jG6Sv2qUchk9qSoVJ2f+flwRsPNBO0hAnjt6mTNYUT+vw9Gy2ihXg4sUWPi2w==", 3015 | "requires": { 3016 | "character-entities": "^2.0.0" 3017 | } 3018 | }, 3019 | "dequal": { 3020 | "version": "2.0.2", 3021 | "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.2.tgz", 3022 | "integrity": "sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug==" 3023 | }, 3024 | "diff": { 3025 | "version": "4.0.2", 3026 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", 3027 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", 3028 | "dev": true 3029 | }, 3030 | "dotenv": { 3031 | "version": "8.6.0", 3032 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", 3033 | "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", 3034 | "dev": true 3035 | }, 3036 | "emoji-regex": { 3037 | "version": "8.0.0", 3038 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 3039 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 3040 | "dev": true 3041 | }, 3042 | "escalade": { 3043 | "version": "3.1.1", 3044 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 3045 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 3046 | "dev": true 3047 | }, 3048 | "extend": { 3049 | "version": "3.0.2", 3050 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", 3051 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" 3052 | }, 3053 | "fs.realpath": { 3054 | "version": "1.0.0", 3055 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 3056 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 3057 | "dev": true 3058 | }, 3059 | "get-caller-file": { 3060 | "version": "2.0.5", 3061 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 3062 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 3063 | "dev": true 3064 | }, 3065 | "glob": { 3066 | "version": "7.2.0", 3067 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", 3068 | "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", 3069 | "dev": true, 3070 | "requires": { 3071 | "fs.realpath": "^1.0.0", 3072 | "inflight": "^1.0.4", 3073 | "inherits": "2", 3074 | "minimatch": "^3.0.4", 3075 | "once": "^1.3.0", 3076 | "path-is-absolute": "^1.0.0" 3077 | } 3078 | }, 3079 | "has-flag": { 3080 | "version": "4.0.0", 3081 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 3082 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 3083 | "dev": true 3084 | }, 3085 | "hast-util-whitespace": { 3086 | "version": "2.0.0", 3087 | "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz", 3088 | "integrity": "sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==" 3089 | }, 3090 | "highlight.js": { 3091 | "version": "10.7.3", 3092 | "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", 3093 | "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", 3094 | "dev": true 3095 | }, 3096 | "ieee754": { 3097 | "version": "1.2.1", 3098 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 3099 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 3100 | "dev": true 3101 | }, 3102 | "inflight": { 3103 | "version": "1.0.6", 3104 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 3105 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 3106 | "dev": true, 3107 | "requires": { 3108 | "once": "^1.3.0", 3109 | "wrappy": "1" 3110 | } 3111 | }, 3112 | "inherits": { 3113 | "version": "2.0.4", 3114 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 3115 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 3116 | "dev": true 3117 | }, 3118 | "inline-style-parser": { 3119 | "version": "0.1.1", 3120 | "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", 3121 | "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" 3122 | }, 3123 | "is-buffer": { 3124 | "version": "2.0.5", 3125 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", 3126 | "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" 3127 | }, 3128 | "is-fullwidth-code-point": { 3129 | "version": "3.0.0", 3130 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 3131 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 3132 | "dev": true 3133 | }, 3134 | "is-plain-obj": { 3135 | "version": "4.0.0", 3136 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.0.0.tgz", 3137 | "integrity": "sha512-NXRbBtUdBioI73y/HmOhogw/U5msYPC9DAtGkJXeFcFWSFZw0mCUsPxk/snTuJHzNKA8kLBK4rH97RMB1BfCXw==" 3138 | }, 3139 | "jose": { 3140 | "version": "1.28.1", 3141 | "resolved": "https://registry.npmjs.org/jose/-/jose-1.28.1.tgz", 3142 | "integrity": "sha512-6JK28rFu5ENp/yxMwM+iN7YeaInnY9B9Bggjkz5fuwLiJhbVrl2O4SJr65bdNBPl9y27fdC3Mymh+FVCvozLIg==", 3143 | "dev": true, 3144 | "requires": { 3145 | "@panva/asn1.js": "^1.0.0" 3146 | } 3147 | }, 3148 | "js-tokens": { 3149 | "version": "4.0.0", 3150 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 3151 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 3152 | }, 3153 | "js-yaml": { 3154 | "version": "4.1.0", 3155 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 3156 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 3157 | "dev": true, 3158 | "requires": { 3159 | "argparse": "^2.0.1" 3160 | } 3161 | }, 3162 | "kleur": { 3163 | "version": "4.1.4", 3164 | "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz", 3165 | "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==" 3166 | }, 3167 | "loose-envify": { 3168 | "version": "1.4.0", 3169 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 3170 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 3171 | "requires": { 3172 | "js-tokens": "^3.0.0 || ^4.0.0" 3173 | } 3174 | }, 3175 | "lru-cache": { 3176 | "version": "6.0.0", 3177 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 3178 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 3179 | "requires": { 3180 | "yallist": "^4.0.0" 3181 | } 3182 | }, 3183 | "make-error": { 3184 | "version": "1.3.6", 3185 | "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", 3186 | "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", 3187 | "dev": true 3188 | }, 3189 | "mdast-util-definitions": { 3190 | "version": "5.1.0", 3191 | "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.0.tgz", 3192 | "integrity": "sha512-5hcR7FL2EuZ4q6lLMUK5w4lHT2H3vqL9quPvYZ/Ku5iifrirfMHiGdhxdXMUbUkDmz5I+TYMd7nbaxUhbQkfpQ==", 3193 | "requires": { 3194 | "@types/mdast": "^3.0.0", 3195 | "@types/unist": "^2.0.0", 3196 | "unist-util-visit": "^3.0.0" 3197 | }, 3198 | "dependencies": { 3199 | "unist-util-visit": { 3200 | "version": "3.1.0", 3201 | "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-3.1.0.tgz", 3202 | "integrity": "sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==", 3203 | "requires": { 3204 | "@types/unist": "^2.0.0", 3205 | "unist-util-is": "^5.0.0", 3206 | "unist-util-visit-parents": "^4.0.0" 3207 | } 3208 | }, 3209 | "unist-util-visit-parents": { 3210 | "version": "4.1.1", 3211 | "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz", 3212 | "integrity": "sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==", 3213 | "requires": { 3214 | "@types/unist": "^2.0.0", 3215 | "unist-util-is": "^5.0.0" 3216 | } 3217 | } 3218 | } 3219 | }, 3220 | "mdast-util-from-markdown": { 3221 | "version": "1.2.0", 3222 | "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz", 3223 | "integrity": "sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==", 3224 | "requires": { 3225 | "@types/mdast": "^3.0.0", 3226 | "@types/unist": "^2.0.0", 3227 | "decode-named-character-reference": "^1.0.0", 3228 | "mdast-util-to-string": "^3.1.0", 3229 | "micromark": "^3.0.0", 3230 | "micromark-util-decode-numeric-character-reference": "^1.0.0", 3231 | "micromark-util-decode-string": "^1.0.0", 3232 | "micromark-util-normalize-identifier": "^1.0.0", 3233 | "micromark-util-symbol": "^1.0.0", 3234 | "micromark-util-types": "^1.0.0", 3235 | "unist-util-stringify-position": "^3.0.0", 3236 | "uvu": "^0.5.0" 3237 | } 3238 | }, 3239 | "mdast-util-to-hast": { 3240 | "version": "12.1.1", 3241 | "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.1.1.tgz", 3242 | "integrity": "sha512-qE09zD6ylVP14jV4mjLIhDBOrpFdShHZcEsYvvKGABlr9mGbV7mTlRWdoFxL/EYSTNDiC9GZXy7y8Shgb9Dtzw==", 3243 | "requires": { 3244 | "@types/hast": "^2.0.0", 3245 | "@types/mdast": "^3.0.0", 3246 | "@types/mdurl": "^1.0.0", 3247 | "mdast-util-definitions": "^5.0.0", 3248 | "mdurl": "^1.0.0", 3249 | "micromark-util-sanitize-uri": "^1.0.0", 3250 | "unist-builder": "^3.0.0", 3251 | "unist-util-generated": "^2.0.0", 3252 | "unist-util-position": "^4.0.0", 3253 | "unist-util-visit": "^4.0.0" 3254 | } 3255 | }, 3256 | "mdast-util-to-string": { 3257 | "version": "3.1.0", 3258 | "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz", 3259 | "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==" 3260 | }, 3261 | "mdurl": { 3262 | "version": "1.0.1", 3263 | "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", 3264 | "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" 3265 | }, 3266 | "micromark": { 3267 | "version": "3.0.10", 3268 | "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.0.10.tgz", 3269 | "integrity": "sha512-ryTDy6UUunOXy2HPjelppgJ2sNfcPz1pLlMdA6Rz9jPzhLikWXv/irpWV/I2jd68Uhmny7hHxAlAhk4+vWggpg==", 3270 | "requires": { 3271 | "@types/debug": "^4.0.0", 3272 | "debug": "^4.0.0", 3273 | "decode-named-character-reference": "^1.0.0", 3274 | "micromark-core-commonmark": "^1.0.1", 3275 | "micromark-factory-space": "^1.0.0", 3276 | "micromark-util-character": "^1.0.0", 3277 | "micromark-util-chunked": "^1.0.0", 3278 | "micromark-util-combine-extensions": "^1.0.0", 3279 | "micromark-util-decode-numeric-character-reference": "^1.0.0", 3280 | "micromark-util-encode": "^1.0.0", 3281 | "micromark-util-normalize-identifier": "^1.0.0", 3282 | "micromark-util-resolve-all": "^1.0.0", 3283 | "micromark-util-sanitize-uri": "^1.0.0", 3284 | "micromark-util-subtokenize": "^1.0.0", 3285 | "micromark-util-symbol": "^1.0.0", 3286 | "micromark-util-types": "^1.0.1", 3287 | "uvu": "^0.5.0" 3288 | } 3289 | }, 3290 | "micromark-core-commonmark": { 3291 | "version": "1.0.6", 3292 | "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz", 3293 | "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==", 3294 | "requires": { 3295 | "decode-named-character-reference": "^1.0.0", 3296 | "micromark-factory-destination": "^1.0.0", 3297 | "micromark-factory-label": "^1.0.0", 3298 | "micromark-factory-space": "^1.0.0", 3299 | "micromark-factory-title": "^1.0.0", 3300 | "micromark-factory-whitespace": "^1.0.0", 3301 | "micromark-util-character": "^1.0.0", 3302 | "micromark-util-chunked": "^1.0.0", 3303 | "micromark-util-classify-character": "^1.0.0", 3304 | "micromark-util-html-tag-name": "^1.0.0", 3305 | "micromark-util-normalize-identifier": "^1.0.0", 3306 | "micromark-util-resolve-all": "^1.0.0", 3307 | "micromark-util-subtokenize": "^1.0.0", 3308 | "micromark-util-symbol": "^1.0.0", 3309 | "micromark-util-types": "^1.0.1", 3310 | "uvu": "^0.5.0" 3311 | } 3312 | }, 3313 | "micromark-factory-destination": { 3314 | "version": "1.0.0", 3315 | "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz", 3316 | "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==", 3317 | "requires": { 3318 | "micromark-util-character": "^1.0.0", 3319 | "micromark-util-symbol": "^1.0.0", 3320 | "micromark-util-types": "^1.0.0" 3321 | } 3322 | }, 3323 | "micromark-factory-label": { 3324 | "version": "1.0.2", 3325 | "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz", 3326 | "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==", 3327 | "requires": { 3328 | "micromark-util-character": "^1.0.0", 3329 | "micromark-util-symbol": "^1.0.0", 3330 | "micromark-util-types": "^1.0.0", 3331 | "uvu": "^0.5.0" 3332 | } 3333 | }, 3334 | "micromark-factory-space": { 3335 | "version": "1.0.0", 3336 | "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz", 3337 | "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==", 3338 | "requires": { 3339 | "micromark-util-character": "^1.0.0", 3340 | "micromark-util-types": "^1.0.0" 3341 | } 3342 | }, 3343 | "micromark-factory-title": { 3344 | "version": "1.0.2", 3345 | "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz", 3346 | "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==", 3347 | "requires": { 3348 | "micromark-factory-space": "^1.0.0", 3349 | "micromark-util-character": "^1.0.0", 3350 | "micromark-util-symbol": "^1.0.0", 3351 | "micromark-util-types": "^1.0.0", 3352 | "uvu": "^0.5.0" 3353 | } 3354 | }, 3355 | "micromark-factory-whitespace": { 3356 | "version": "1.0.0", 3357 | "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz", 3358 | "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==", 3359 | "requires": { 3360 | "micromark-factory-space": "^1.0.0", 3361 | "micromark-util-character": "^1.0.0", 3362 | "micromark-util-symbol": "^1.0.0", 3363 | "micromark-util-types": "^1.0.0" 3364 | } 3365 | }, 3366 | "micromark-util-character": { 3367 | "version": "1.1.0", 3368 | "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz", 3369 | "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==", 3370 | "requires": { 3371 | "micromark-util-symbol": "^1.0.0", 3372 | "micromark-util-types": "^1.0.0" 3373 | } 3374 | }, 3375 | "micromark-util-chunked": { 3376 | "version": "1.0.0", 3377 | "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz", 3378 | "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==", 3379 | "requires": { 3380 | "micromark-util-symbol": "^1.0.0" 3381 | } 3382 | }, 3383 | "micromark-util-classify-character": { 3384 | "version": "1.0.0", 3385 | "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz", 3386 | "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==", 3387 | "requires": { 3388 | "micromark-util-character": "^1.0.0", 3389 | "micromark-util-symbol": "^1.0.0", 3390 | "micromark-util-types": "^1.0.0" 3391 | } 3392 | }, 3393 | "micromark-util-combine-extensions": { 3394 | "version": "1.0.0", 3395 | "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz", 3396 | "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==", 3397 | "requires": { 3398 | "micromark-util-chunked": "^1.0.0", 3399 | "micromark-util-types": "^1.0.0" 3400 | } 3401 | }, 3402 | "micromark-util-decode-numeric-character-reference": { 3403 | "version": "1.0.0", 3404 | "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz", 3405 | "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==", 3406 | "requires": { 3407 | "micromark-util-symbol": "^1.0.0" 3408 | } 3409 | }, 3410 | "micromark-util-decode-string": { 3411 | "version": "1.0.2", 3412 | "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz", 3413 | "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==", 3414 | "requires": { 3415 | "decode-named-character-reference": "^1.0.0", 3416 | "micromark-util-character": "^1.0.0", 3417 | "micromark-util-decode-numeric-character-reference": "^1.0.0", 3418 | "micromark-util-symbol": "^1.0.0" 3419 | } 3420 | }, 3421 | "micromark-util-encode": { 3422 | "version": "1.0.1", 3423 | "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz", 3424 | "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==" 3425 | }, 3426 | "micromark-util-html-tag-name": { 3427 | "version": "1.0.0", 3428 | "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.0.0.tgz", 3429 | "integrity": "sha512-NenEKIshW2ZI/ERv9HtFNsrn3llSPZtY337LID/24WeLqMzeZhBEE6BQ0vS2ZBjshm5n40chKtJ3qjAbVV8S0g==" 3430 | }, 3431 | "micromark-util-normalize-identifier": { 3432 | "version": "1.0.0", 3433 | "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz", 3434 | "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==", 3435 | "requires": { 3436 | "micromark-util-symbol": "^1.0.0" 3437 | } 3438 | }, 3439 | "micromark-util-resolve-all": { 3440 | "version": "1.0.0", 3441 | "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz", 3442 | "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==", 3443 | "requires": { 3444 | "micromark-util-types": "^1.0.0" 3445 | } 3446 | }, 3447 | "micromark-util-sanitize-uri": { 3448 | "version": "1.0.0", 3449 | "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.0.0.tgz", 3450 | "integrity": "sha512-cCxvBKlmac4rxCGx6ejlIviRaMKZc0fWm5HdCHEeDWRSkn44l6NdYVRyU+0nT1XC72EQJMZV8IPHF+jTr56lAg==", 3451 | "requires": { 3452 | "micromark-util-character": "^1.0.0", 3453 | "micromark-util-encode": "^1.0.0", 3454 | "micromark-util-symbol": "^1.0.0" 3455 | } 3456 | }, 3457 | "micromark-util-subtokenize": { 3458 | "version": "1.0.2", 3459 | "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz", 3460 | "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==", 3461 | "requires": { 3462 | "micromark-util-chunked": "^1.0.0", 3463 | "micromark-util-symbol": "^1.0.0", 3464 | "micromark-util-types": "^1.0.0", 3465 | "uvu": "^0.5.0" 3466 | } 3467 | }, 3468 | "micromark-util-symbol": { 3469 | "version": "1.0.1", 3470 | "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz", 3471 | "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==" 3472 | }, 3473 | "micromark-util-types": { 3474 | "version": "1.0.2", 3475 | "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz", 3476 | "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==" 3477 | }, 3478 | "minimatch": { 3479 | "version": "3.1.2", 3480 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 3481 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 3482 | "dev": true, 3483 | "requires": { 3484 | "brace-expansion": "^1.1.7" 3485 | } 3486 | }, 3487 | "mkdirp": { 3488 | "version": "1.0.4", 3489 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 3490 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", 3491 | "dev": true 3492 | }, 3493 | "mri": { 3494 | "version": "1.2.0", 3495 | "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", 3496 | "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==" 3497 | }, 3498 | "ms": { 3499 | "version": "2.1.2", 3500 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 3501 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 3502 | }, 3503 | "mz": { 3504 | "version": "2.7.0", 3505 | "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 3506 | "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 3507 | "dev": true, 3508 | "requires": { 3509 | "any-promise": "^1.0.0", 3510 | "object-assign": "^4.0.1", 3511 | "thenify-all": "^1.0.0" 3512 | } 3513 | }, 3514 | "nanoid": { 3515 | "version": "3.3.2", 3516 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz", 3517 | "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==" 3518 | }, 3519 | "next": { 3520 | "version": "12.1.4", 3521 | "resolved": "https://registry.npmjs.org/next/-/next-12.1.4.tgz", 3522 | "integrity": "sha512-DA4g97BM4Z0nKtDvCTm58RxdvoQyYzeg0AeVbh0N4Y/D8ELrNu47lQeEgRGF8hV4eQ+Sal90zxrJQQG/mPQ8CQ==", 3523 | "requires": { 3524 | "@next/env": "12.1.4", 3525 | "@next/swc-android-arm-eabi": "12.1.4", 3526 | "@next/swc-android-arm64": "12.1.4", 3527 | "@next/swc-darwin-arm64": "12.1.4", 3528 | "@next/swc-darwin-x64": "12.1.4", 3529 | "@next/swc-linux-arm-gnueabihf": "12.1.4", 3530 | "@next/swc-linux-arm64-gnu": "12.1.4", 3531 | "@next/swc-linux-arm64-musl": "12.1.4", 3532 | "@next/swc-linux-x64-gnu": "12.1.4", 3533 | "@next/swc-linux-x64-musl": "12.1.4", 3534 | "@next/swc-win32-arm64-msvc": "12.1.4", 3535 | "@next/swc-win32-ia32-msvc": "12.1.4", 3536 | "@next/swc-win32-x64-msvc": "12.1.4", 3537 | "caniuse-lite": "^1.0.30001283", 3538 | "postcss": "8.4.5", 3539 | "styled-jsx": "5.0.1" 3540 | } 3541 | }, 3542 | "next-auth": { 3543 | "version": "4.3.1", 3544 | "resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.3.1.tgz", 3545 | "integrity": "sha512-DBYEPBLq5naIqh/1i2zEHljcA1OXXecKW3NRU1W4s6R3UX3RdLZ2lWlqgBHUiZQ1zdNikFM/bYQxVGyG7bx8oA==", 3546 | "requires": { 3547 | "@babel/runtime": "^7.16.3", 3548 | "@panva/hkdf": "^1.0.1", 3549 | "cookie": "^0.4.1", 3550 | "jose": "^4.3.7", 3551 | "oauth": "^0.9.15", 3552 | "openid-client": "^5.1.0", 3553 | "preact": "^10.6.3", 3554 | "preact-render-to-string": "^5.1.19", 3555 | "uuid": "^8.3.2" 3556 | }, 3557 | "dependencies": { 3558 | "jose": { 3559 | "version": "4.6.0", 3560 | "resolved": "https://registry.npmjs.org/jose/-/jose-4.6.0.tgz", 3561 | "integrity": "sha512-0hNAkhMBNi4soKSAX4zYOFV+aqJlEz/4j4fregvasJzEVtjDChvWqRjPvHwLqr5hx28Ayr6bsOs1Kuj87V0O8w==" 3562 | } 3563 | } 3564 | }, 3565 | "oauth": { 3566 | "version": "0.9.15", 3567 | "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz", 3568 | "integrity": "sha1-vR/vr2hslrdUda7VGWQS/2DPucE=" 3569 | }, 3570 | "object-assign": { 3571 | "version": "4.1.1", 3572 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 3573 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" 3574 | }, 3575 | "object-hash": { 3576 | "version": "2.2.0", 3577 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", 3578 | "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==" 3579 | }, 3580 | "oidc-token-hash": { 3581 | "version": "5.0.1", 3582 | "resolved": "https://registry.npmjs.org/oidc-token-hash/-/oidc-token-hash-5.0.1.tgz", 3583 | "integrity": "sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==" 3584 | }, 3585 | "once": { 3586 | "version": "1.4.0", 3587 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 3588 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 3589 | "dev": true, 3590 | "requires": { 3591 | "wrappy": "1" 3592 | } 3593 | }, 3594 | "openid-client": { 3595 | "version": "5.1.4", 3596 | "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.1.4.tgz", 3597 | "integrity": "sha512-36/PZY3rDgiIFj2uCL9a1fILPmIwu3HksoWO4mukgXe74ZOsEisJMMqTMfmPNw6j/7kO0mBc2xqy4eYRrB8xPA==", 3598 | "requires": { 3599 | "jose": "^4.1.4", 3600 | "lru-cache": "^6.0.0", 3601 | "object-hash": "^2.0.1", 3602 | "oidc-token-hash": "^5.0.1" 3603 | }, 3604 | "dependencies": { 3605 | "jose": { 3606 | "version": "4.6.0", 3607 | "resolved": "https://registry.npmjs.org/jose/-/jose-4.6.0.tgz", 3608 | "integrity": "sha512-0hNAkhMBNi4soKSAX4zYOFV+aqJlEz/4j4fregvasJzEVtjDChvWqRjPvHwLqr5hx28Ayr6bsOs1Kuj87V0O8w==" 3609 | } 3610 | } 3611 | }, 3612 | "parse5": { 3613 | "version": "5.1.1", 3614 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", 3615 | "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", 3616 | "dev": true 3617 | }, 3618 | "parse5-htmlparser2-tree-adapter": { 3619 | "version": "6.0.1", 3620 | "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", 3621 | "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", 3622 | "dev": true, 3623 | "requires": { 3624 | "parse5": "^6.0.1" 3625 | }, 3626 | "dependencies": { 3627 | "parse5": { 3628 | "version": "6.0.1", 3629 | "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", 3630 | "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", 3631 | "dev": true 3632 | } 3633 | } 3634 | }, 3635 | "path-is-absolute": { 3636 | "version": "1.0.1", 3637 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 3638 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 3639 | "dev": true 3640 | }, 3641 | "picocolors": { 3642 | "version": "1.0.0", 3643 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 3644 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 3645 | }, 3646 | "postcss": { 3647 | "version": "8.4.5", 3648 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz", 3649 | "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==", 3650 | "requires": { 3651 | "nanoid": "^3.1.30", 3652 | "picocolors": "^1.0.0", 3653 | "source-map-js": "^1.0.1" 3654 | } 3655 | }, 3656 | "preact": { 3657 | "version": "10.7.1", 3658 | "resolved": "https://registry.npmjs.org/preact/-/preact-10.7.1.tgz", 3659 | "integrity": "sha512-MufnRFz39aIhs9AMFisonjzTud1PK1bY+jcJLo6m2T9Uh8AqjD77w11eAAawmjUogoGOnipECq7e/1RClIKsxg==" 3660 | }, 3661 | "preact-render-to-string": { 3662 | "version": "5.1.21", 3663 | "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-5.1.21.tgz", 3664 | "integrity": "sha512-wbMtNU4JpfvbE04iCe7BZ1yLYN8i6NRrq+NhR0fUINjPXGu3ZIc4GM5ScOiwdIP1sPXv9SVETuud/tmQGMvdNQ==", 3665 | "requires": { 3666 | "pretty-format": "^3.8.0" 3667 | } 3668 | }, 3669 | "pretty-format": { 3670 | "version": "3.8.0", 3671 | "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-3.8.0.tgz", 3672 | "integrity": "sha1-v77VbV6ad2ZF9LH/eqGjrE+jw4U=" 3673 | }, 3674 | "prisma": { 3675 | "version": "4.10.1", 3676 | "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.10.1.tgz", 3677 | "integrity": "sha512-0jDxgg+DruB1kHVNlcspXQB9au62IFfVg9drkhzXudszHNUAQn0lVuu+T8np0uC2z1nKD5S3qPeCyR8u5YFLnA==", 3678 | "devOptional": true, 3679 | "requires": { 3680 | "@prisma/engines": "4.10.1" 3681 | } 3682 | }, 3683 | "prop-types": { 3684 | "version": "15.8.1", 3685 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", 3686 | "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", 3687 | "requires": { 3688 | "loose-envify": "^1.4.0", 3689 | "object-assign": "^4.1.1", 3690 | "react-is": "^16.13.1" 3691 | }, 3692 | "dependencies": { 3693 | "react-is": { 3694 | "version": "16.13.1", 3695 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", 3696 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" 3697 | } 3698 | } 3699 | }, 3700 | "property-information": { 3701 | "version": "6.1.1", 3702 | "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.1.1.tgz", 3703 | "integrity": "sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==" 3704 | }, 3705 | "react": { 3706 | "version": "18.2.0", 3707 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", 3708 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", 3709 | "requires": { 3710 | "loose-envify": "^1.1.0" 3711 | } 3712 | }, 3713 | "react-dom": { 3714 | "version": "18.2.0", 3715 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", 3716 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", 3717 | "requires": { 3718 | "loose-envify": "^1.1.0", 3719 | "scheduler": "^0.23.0" 3720 | } 3721 | }, 3722 | "react-is": { 3723 | "version": "18.0.0", 3724 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.0.0.tgz", 3725 | "integrity": "sha512-yUcBYdBBbo3QiPsgYDcfQcIkGZHfxOaoE6HLSnr1sPzMhdyxusbfKOSUbSd/ocGi32dxcj366PsTj+5oggeKKw==" 3726 | }, 3727 | "react-markdown": { 3728 | "version": "8.0.2", 3729 | "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.2.tgz", 3730 | "integrity": "sha512-WeXeDlCPFZBbN75AiLVEmN4gC6pNWadsZVWWxWpvrYQnUTHsB3l1PH60I1sbxTJr0oWOQc3zhxTrRQMTceNifw==", 3731 | "requires": { 3732 | "@types/hast": "^2.0.0", 3733 | "@types/prop-types": "^15.0.0", 3734 | "@types/unist": "^2.0.0", 3735 | "comma-separated-tokens": "^2.0.0", 3736 | "hast-util-whitespace": "^2.0.0", 3737 | "prop-types": "^15.0.0", 3738 | "property-information": "^6.0.0", 3739 | "react-is": "^18.0.0", 3740 | "remark-parse": "^10.0.0", 3741 | "remark-rehype": "^10.0.0", 3742 | "space-separated-tokens": "^2.0.0", 3743 | "style-to-object": "^0.3.0", 3744 | "unified": "^10.0.0", 3745 | "unist-util-visit": "^4.0.0", 3746 | "vfile": "^5.0.0" 3747 | } 3748 | }, 3749 | "reflect-metadata": { 3750 | "version": "0.1.13", 3751 | "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", 3752 | "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", 3753 | "dev": true 3754 | }, 3755 | "regenerator-runtime": { 3756 | "version": "0.13.9", 3757 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", 3758 | "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" 3759 | }, 3760 | "remark-parse": { 3761 | "version": "10.0.1", 3762 | "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz", 3763 | "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==", 3764 | "requires": { 3765 | "@types/mdast": "^3.0.0", 3766 | "mdast-util-from-markdown": "^1.0.0", 3767 | "unified": "^10.0.0" 3768 | } 3769 | }, 3770 | "remark-rehype": { 3771 | "version": "10.1.0", 3772 | "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", 3773 | "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", 3774 | "requires": { 3775 | "@types/hast": "^2.0.0", 3776 | "@types/mdast": "^3.0.0", 3777 | "mdast-util-to-hast": "^12.1.0", 3778 | "unified": "^10.0.0" 3779 | } 3780 | }, 3781 | "require-directory": { 3782 | "version": "2.1.1", 3783 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 3784 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", 3785 | "dev": true 3786 | }, 3787 | "sade": { 3788 | "version": "1.8.1", 3789 | "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", 3790 | "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", 3791 | "requires": { 3792 | "mri": "^1.1.0" 3793 | } 3794 | }, 3795 | "safe-buffer": { 3796 | "version": "5.2.1", 3797 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 3798 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 3799 | "dev": true 3800 | }, 3801 | "sax": { 3802 | "version": "1.2.4", 3803 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", 3804 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", 3805 | "dev": true 3806 | }, 3807 | "scheduler": { 3808 | "version": "0.23.0", 3809 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", 3810 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", 3811 | "requires": { 3812 | "loose-envify": "^1.1.0" 3813 | } 3814 | }, 3815 | "sha.js": { 3816 | "version": "2.4.11", 3817 | "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", 3818 | "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", 3819 | "dev": true, 3820 | "requires": { 3821 | "inherits": "^2.0.1", 3822 | "safe-buffer": "^5.0.1" 3823 | } 3824 | }, 3825 | "source-map-js": { 3826 | "version": "1.0.2", 3827 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 3828 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" 3829 | }, 3830 | "space-separated-tokens": { 3831 | "version": "2.0.1", 3832 | "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz", 3833 | "integrity": "sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==" 3834 | }, 3835 | "string-width": { 3836 | "version": "4.2.3", 3837 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 3838 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 3839 | "dev": true, 3840 | "requires": { 3841 | "emoji-regex": "^8.0.0", 3842 | "is-fullwidth-code-point": "^3.0.0", 3843 | "strip-ansi": "^6.0.1" 3844 | } 3845 | }, 3846 | "strip-ansi": { 3847 | "version": "6.0.1", 3848 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 3849 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 3850 | "dev": true, 3851 | "requires": { 3852 | "ansi-regex": "^5.0.1" 3853 | } 3854 | }, 3855 | "style-to-object": { 3856 | "version": "0.3.0", 3857 | "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", 3858 | "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", 3859 | "requires": { 3860 | "inline-style-parser": "0.1.1" 3861 | } 3862 | }, 3863 | "styled-jsx": { 3864 | "version": "5.0.1", 3865 | "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.1.tgz", 3866 | "integrity": "sha512-+PIZ/6Uk40mphiQJJI1202b+/dYeTVd9ZnMPR80pgiWbjIwvN2zIp4r9et0BgqBuShh48I0gttPlAXA7WVvBxw==", 3867 | "requires": {} 3868 | }, 3869 | "supports-color": { 3870 | "version": "7.2.0", 3871 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 3872 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 3873 | "dev": true, 3874 | "requires": { 3875 | "has-flag": "^4.0.0" 3876 | } 3877 | }, 3878 | "thenify": { 3879 | "version": "3.3.1", 3880 | "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", 3881 | "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", 3882 | "dev": true, 3883 | "requires": { 3884 | "any-promise": "^1.0.0" 3885 | } 3886 | }, 3887 | "thenify-all": { 3888 | "version": "1.6.0", 3889 | "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 3890 | "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", 3891 | "dev": true, 3892 | "requires": { 3893 | "thenify": ">= 3.1.0 < 4" 3894 | } 3895 | }, 3896 | "trough": { 3897 | "version": "2.1.0", 3898 | "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", 3899 | "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==" 3900 | }, 3901 | "ts-node": { 3902 | "version": "10.7.0", 3903 | "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.7.0.tgz", 3904 | "integrity": "sha512-TbIGS4xgJoX2i3do417KSaep1uRAW/Lu+WAL2doDHC0D6ummjirVOXU5/7aiZotbQ5p1Zp9tP7U6cYhA0O7M8A==", 3905 | "dev": true, 3906 | "requires": { 3907 | "@cspotcode/source-map-support": "0.7.0", 3908 | "@tsconfig/node10": "^1.0.7", 3909 | "@tsconfig/node12": "^1.0.7", 3910 | "@tsconfig/node14": "^1.0.0", 3911 | "@tsconfig/node16": "^1.0.2", 3912 | "acorn": "^8.4.1", 3913 | "acorn-walk": "^8.1.1", 3914 | "arg": "^4.1.0", 3915 | "create-require": "^1.1.0", 3916 | "diff": "^4.0.1", 3917 | "make-error": "^1.1.1", 3918 | "v8-compile-cache-lib": "^3.0.0", 3919 | "yn": "3.1.1" 3920 | } 3921 | }, 3922 | "tslib": { 3923 | "version": "2.3.1", 3924 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", 3925 | "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", 3926 | "dev": true 3927 | }, 3928 | "typeorm": { 3929 | "version": "0.2.45", 3930 | "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.2.45.tgz", 3931 | "integrity": "sha512-c0rCO8VMJ3ER7JQ73xfk0zDnVv0WDjpsP6Q1m6CVKul7DB9iVdWLRjPzc8v2eaeBuomsbZ2+gTaYr8k1gm3bYA==", 3932 | "dev": true, 3933 | "requires": { 3934 | "@sqltools/formatter": "^1.2.2", 3935 | "app-root-path": "^3.0.0", 3936 | "buffer": "^6.0.3", 3937 | "chalk": "^4.1.0", 3938 | "cli-highlight": "^2.1.11", 3939 | "debug": "^4.3.1", 3940 | "dotenv": "^8.2.0", 3941 | "glob": "^7.1.6", 3942 | "js-yaml": "^4.0.0", 3943 | "mkdirp": "^1.0.4", 3944 | "reflect-metadata": "^0.1.13", 3945 | "sha.js": "^2.4.11", 3946 | "tslib": "^2.1.0", 3947 | "uuid": "^8.3.2", 3948 | "xml2js": "^0.4.23", 3949 | "yargs": "^17.0.1", 3950 | "zen-observable-ts": "^1.0.0" 3951 | } 3952 | }, 3953 | "typescript": { 3954 | "version": "4.6.3", 3955 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz", 3956 | "integrity": "sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==", 3957 | "dev": true 3958 | }, 3959 | "unified": { 3960 | "version": "10.1.2", 3961 | "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", 3962 | "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", 3963 | "requires": { 3964 | "@types/unist": "^2.0.0", 3965 | "bail": "^2.0.0", 3966 | "extend": "^3.0.0", 3967 | "is-buffer": "^2.0.0", 3968 | "is-plain-obj": "^4.0.0", 3969 | "trough": "^2.0.0", 3970 | "vfile": "^5.0.0" 3971 | } 3972 | }, 3973 | "unist-builder": { 3974 | "version": "3.0.0", 3975 | "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.0.tgz", 3976 | "integrity": "sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==", 3977 | "requires": { 3978 | "@types/unist": "^2.0.0" 3979 | } 3980 | }, 3981 | "unist-util-generated": { 3982 | "version": "2.0.0", 3983 | "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.0.tgz", 3984 | "integrity": "sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw==" 3985 | }, 3986 | "unist-util-is": { 3987 | "version": "5.1.1", 3988 | "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz", 3989 | "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==" 3990 | }, 3991 | "unist-util-position": { 3992 | "version": "4.0.3", 3993 | "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.3.tgz", 3994 | "integrity": "sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==", 3995 | "requires": { 3996 | "@types/unist": "^2.0.0" 3997 | } 3998 | }, 3999 | "unist-util-stringify-position": { 4000 | "version": "3.0.2", 4001 | "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz", 4002 | "integrity": "sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==", 4003 | "requires": { 4004 | "@types/unist": "^2.0.0" 4005 | } 4006 | }, 4007 | "unist-util-visit": { 4008 | "version": "4.1.0", 4009 | "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.0.tgz", 4010 | "integrity": "sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ==", 4011 | "requires": { 4012 | "@types/unist": "^2.0.0", 4013 | "unist-util-is": "^5.0.0", 4014 | "unist-util-visit-parents": "^5.0.0" 4015 | } 4016 | }, 4017 | "unist-util-visit-parents": { 4018 | "version": "5.1.0", 4019 | "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz", 4020 | "integrity": "sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==", 4021 | "requires": { 4022 | "@types/unist": "^2.0.0", 4023 | "unist-util-is": "^5.0.0" 4024 | } 4025 | }, 4026 | "uuid": { 4027 | "version": "8.3.2", 4028 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", 4029 | "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" 4030 | }, 4031 | "uvu": { 4032 | "version": "0.5.3", 4033 | "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.3.tgz", 4034 | "integrity": "sha512-brFwqA3FXzilmtnIyJ+CxdkInkY/i4ErvP7uV0DnUVxQcQ55reuHphorpF+tZoVHK2MniZ/VJzI7zJQoc9T9Yw==", 4035 | "requires": { 4036 | "dequal": "^2.0.0", 4037 | "diff": "^5.0.0", 4038 | "kleur": "^4.0.3", 4039 | "sade": "^1.7.3" 4040 | }, 4041 | "dependencies": { 4042 | "diff": { 4043 | "version": "5.0.0", 4044 | "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", 4045 | "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" 4046 | } 4047 | } 4048 | }, 4049 | "v8-compile-cache-lib": { 4050 | "version": "3.0.0", 4051 | "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz", 4052 | "integrity": "sha512-mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==", 4053 | "dev": true 4054 | }, 4055 | "vfile": { 4056 | "version": "5.3.2", 4057 | "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.2.tgz", 4058 | "integrity": "sha512-w0PLIugRY3Crkgw89TeMvHCzqCs/zpreR31hl4D92y6SOE07+bfJe+dK5Q2akwS+i/c801kzjoOr9gMcTe6IAA==", 4059 | "requires": { 4060 | "@types/unist": "^2.0.0", 4061 | "is-buffer": "^2.0.0", 4062 | "unist-util-stringify-position": "^3.0.0", 4063 | "vfile-message": "^3.0.0" 4064 | } 4065 | }, 4066 | "vfile-message": { 4067 | "version": "3.1.2", 4068 | "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.2.tgz", 4069 | "integrity": "sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==", 4070 | "requires": { 4071 | "@types/unist": "^2.0.0", 4072 | "unist-util-stringify-position": "^3.0.0" 4073 | } 4074 | }, 4075 | "wrap-ansi": { 4076 | "version": "7.0.0", 4077 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 4078 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 4079 | "dev": true, 4080 | "requires": { 4081 | "ansi-styles": "^4.0.0", 4082 | "string-width": "^4.1.0", 4083 | "strip-ansi": "^6.0.0" 4084 | } 4085 | }, 4086 | "wrappy": { 4087 | "version": "1.0.2", 4088 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 4089 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 4090 | "dev": true 4091 | }, 4092 | "xml2js": { 4093 | "version": "0.4.23", 4094 | "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", 4095 | "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", 4096 | "dev": true, 4097 | "requires": { 4098 | "sax": ">=0.6.0", 4099 | "xmlbuilder": "~11.0.0" 4100 | } 4101 | }, 4102 | "xmlbuilder": { 4103 | "version": "11.0.1", 4104 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", 4105 | "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", 4106 | "dev": true 4107 | }, 4108 | "y18n": { 4109 | "version": "5.0.8", 4110 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 4111 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", 4112 | "dev": true 4113 | }, 4114 | "yallist": { 4115 | "version": "4.0.0", 4116 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 4117 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" 4118 | }, 4119 | "yargs": { 4120 | "version": "17.4.0", 4121 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.0.tgz", 4122 | "integrity": "sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA==", 4123 | "dev": true, 4124 | "requires": { 4125 | "cliui": "^7.0.2", 4126 | "escalade": "^3.1.1", 4127 | "get-caller-file": "^2.0.5", 4128 | "require-directory": "^2.1.1", 4129 | "string-width": "^4.2.3", 4130 | "y18n": "^5.0.5", 4131 | "yargs-parser": "^21.0.0" 4132 | } 4133 | }, 4134 | "yargs-parser": { 4135 | "version": "21.0.1", 4136 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", 4137 | "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", 4138 | "dev": true 4139 | }, 4140 | "yn": { 4141 | "version": "3.1.1", 4142 | "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", 4143 | "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", 4144 | "dev": true 4145 | }, 4146 | "zen-observable": { 4147 | "version": "0.8.15", 4148 | "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", 4149 | "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==", 4150 | "dev": true 4151 | }, 4152 | "zen-observable-ts": { 4153 | "version": "1.1.0", 4154 | "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.1.0.tgz", 4155 | "integrity": "sha512-1h4zlLSqI2cRLPJUHJFL8bCWHhkpuXkF+dbGkRaWjgDIG26DmzyshUMrdV/rL3UnR+mhaX4fRq8LPouq0MYYIA==", 4156 | "dev": true, 4157 | "requires": { 4158 | "@types/zen-observable": "0.8.3", 4159 | "zen-observable": "0.8.15" 4160 | } 4161 | } 4162 | } 4163 | } 4164 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hello-next", 3 | "version": "1.0.0", 4 | "description": "", 5 | "keywords": [], 6 | "license": "MIT", 7 | "author": "", 8 | "scripts": { 9 | "dev": "next", 10 | "build": "npx prisma migrate deploy && next build", 11 | "start": "next start", 12 | "db:up": "docker compose up -d", 13 | "db:down": "docker compose down" 14 | }, 15 | "dependencies": { 16 | "@next-auth/prisma-adapter": "1.0.3", 17 | "@prisma/client": "4.10.1", 18 | "next": "12.1.4", 19 | "next-auth": "4.3.1", 20 | "react": "18.2.0", 21 | "react-dom": "18.2.0", 22 | "react-markdown": "8.0.2" 23 | }, 24 | "devDependencies": { 25 | "@types/next-auth": "3.13.0", 26 | "@types/node": "16.18.66", 27 | "@types/react": "17.0.44", 28 | "prisma": "4.10.1", 29 | "ts-node": "10.7.0", 30 | "typescript": "4.6.3" 31 | }, 32 | "prisma": { 33 | "seed": "ts-node prisma/seed.ts" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /pages/_app.tsx: -------------------------------------------------------------------------------- 1 | import { SessionProvider } from "next-auth/react"; 2 | import { AppProps } from "next/app"; 3 | 4 | const App = ({ Component, pageProps }: AppProps) => { 5 | return ( 6 | 7 | 8 | 9 | ); 10 | }; 11 | 12 | export default App; 13 | -------------------------------------------------------------------------------- /pages/api/auth/[...nextauth].ts: -------------------------------------------------------------------------------- 1 | import { NextApiHandler } from "next"; 2 | import NextAuth from "next-auth"; 3 | import { PrismaAdapter } from '@next-auth/prisma-adapter' 4 | import GitHubProvider from 'next-auth/providers/github' 5 | import prisma from '../../../lib/prisma' 6 | 7 | 8 | const authHandler: NextApiHandler = (req, res) => NextAuth(req, res, options); 9 | export default authHandler; 10 | 11 | const options = { 12 | providers: [ 13 | GitHubProvider({ 14 | clientId: process.env.GITHUB_ID, 15 | clientSecret: process.env.GITHUB_SECRET, 16 | }), 17 | ], 18 | adapter: PrismaAdapter(prisma), 19 | secret: process.env.SECRET, 20 | }; 21 | -------------------------------------------------------------------------------- /pages/api/post/[id].ts: -------------------------------------------------------------------------------- 1 | import type { NextApiRequest, NextApiResponse } from 'next' 2 | import { getSession } from 'next-auth/react'; 3 | import prisma from '../../../lib/prisma' 4 | 5 | 6 | // DELETE /api/post/:id 7 | export default async function handle(req: NextApiRequest, res: NextApiResponse) { 8 | const postId = req.query.id; 9 | 10 | const session = await getSession({ req }) 11 | 12 | if (req.method === "DELETE") { 13 | if (session) { 14 | const post = await prisma.post.delete({ 15 | where: { id: String(postId) }, 16 | }); 17 | res.json(post); 18 | } else { 19 | res.status(401).send({ message: 'Unauthorized' }) 20 | } 21 | } else { 22 | throw new Error( 23 | `The HTTP ${req.method} method is not supported at this route.` 24 | ); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /pages/api/post/index.ts: -------------------------------------------------------------------------------- 1 | import type { NextApiRequest, NextApiResponse } from 'next' 2 | import prisma from '../../../lib/prisma' 3 | import { getSession } from 'next-auth/react' 4 | 5 | 6 | // POST /api/post 7 | // Required fields in body: title 8 | // Optional fields in body: content 9 | export default async function handle(req: NextApiRequest, res: NextApiResponse) { 10 | const { title, content } = req.body; 11 | 12 | const session = await getSession({ req }); 13 | if (session) { 14 | const result = await prisma.post.create({ 15 | data: { 16 | title: title, 17 | content: content, 18 | author: { connect: { email: session?.user?.email } }, 19 | }, 20 | }); 21 | res.json(result); 22 | } else { 23 | res.status(401).send({ message: 'Unauthorized' }) 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /pages/api/publish/[id].ts: -------------------------------------------------------------------------------- 1 | import type { NextApiRequest, NextApiResponse } from 'next' 2 | import { getSession } from 'next-auth/react'; 3 | import prisma from '../../../lib/prisma' 4 | 5 | // PUT /api/publish/:id 6 | export default async function handle(req: NextApiRequest, res: NextApiResponse) { 7 | const postId = req.query.id; 8 | const session = await getSession({ req }) 9 | 10 | if (session) { 11 | const post = await prisma.post.update({ 12 | where: { id: String(postId) }, 13 | data: { published: true }, 14 | }); 15 | res.json(post); 16 | } else { 17 | res.status(401).send({ message: 'Unauthorized' }) 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /pages/create.tsx: -------------------------------------------------------------------------------- 1 | import React, { useState } from "react"; 2 | import Layout from "../components/Layout"; 3 | import Router from "next/router"; 4 | 5 | const Draft: React.FC = () => { 6 | const [title, setTitle] = useState(""); 7 | const [content, setContent] = useState(""); 8 | 9 | const submitData = async (e: React.SyntheticEvent) => { 10 | e.preventDefault(); 11 | try { 12 | const body = { title, content }; 13 | await fetch(`/api/post`, { 14 | method: "POST", 15 | headers: { "Content-Type": "application/json" }, 16 | body: JSON.stringify(body), 17 | }); 18 | await Router.push("/drafts"); 19 | } catch (error) { 20 | console.error(error); 21 | } 22 | }; 23 | 24 | return ( 25 | 26 |
27 |
28 |

New Draft

29 | setTitle(e.target.value)} 32 | placeholder="Title" 33 | type="text" 34 | value={title} 35 | /> 36 |