From ef8695a84b89986ab1bc9c3ca06b6d1f704d188f Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Sat, 18 Jun 2022 21:28:48 -0400 Subject: [PATCH 01/32] chore(global): :hammer: debug config --- .vscode/launch.json | 70 ++++++++++++++++++++++++++++----------------- 1 file changed, 44 insertions(+), 26 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 2162ab4..d7a49f8 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,41 +1,59 @@ { - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", "configurations": [ { - "name": "Next.js: debug server-side", + "name": "Next.js: app:web", "type": "node-terminal", "request": "launch", - "command": "pnpm dev" + "command": "pnpx turbo run dev --filter '!*docs'", + // "cwd": "${workspaceFolder:✨ @joekarow/netwerkr}", + "sourceMaps": true, }, { - "name": "Next.js: debug client-side", + "type": "firefox", "request": "launch", - "type": "chrome", - "runtimeExecutable": "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser", - // "runtimeArgs": ["--remote-debugging-port=9222"], - "port": 9222, + "reAttach": true, + "name": "Launch Firefox Dev", "url": "http://localhost:3000", - "webRoot": "${workspaceFolder}", - "outFiles": [ - "${workspaceFolder}/**/*.js", - "!**/node_modules/**" + "webRoot": "${workspaceFolder:🚀 @joekarow/netwerkr-web}/", + "enableCRAWorkaround": true, + "skipFiles": [ + "**/node_modules/**", + "/**/*.js" + ], + "showConsoleCallLocation": true, + "suggestPathMappingWizard": true, + "pathMappings": [ + { + "url": "webpack://_n_e/packages", + "path": "${workspaceFolder}/packages" + } ] }, + // { + // "name": "Next.js: debug web", + // "request": "launch", + // "type": "chrome", + // "runtimeExecutable": "/Applications/Brave Browser.app/Contents/MacOS/Brave Browser", + // "port": 9222, + // "url": "http://localhost:3000", + // "cwd": "${workspaceFolder:🚀 @joekarow/netwerkr-web}", + // "webRoot": "${workspaceFolder:🚀 @joekarow/netwerkr-web}/", + // "sourceMaps": true, + // "resolveSourceMapLocations": [ + // "${webRoot}", + // "${workspaceFolder}", + // "!node_modules" + // ] + // }, + ], + "compounds": [ { - "name": "Next.js: debug full stack", - "type": "node-terminal", - "request": "launch", - "command": "pnpm run dev", - "outputCapture": "std", - // "console": "integratedTerminal", - "serverReadyAction": { - "pattern": "started server on .+, url: (https?://.+)", - "action": "startDebugging", - "name": "Next.js: debug client-side", - } + "name": "Debug netwerkr w/ Firefox Dev", + "configurations": [ + "Next.js: app:web", + "Launch Firefox Dev" + ], + "stopAll": true } ] } \ No newline at end of file From 08a649068c1c2060421b9520b17da0b78984fc57 Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Sat, 18 Jun 2022 23:29:06 -0400 Subject: [PATCH 02/32] chore(web): :hammer: prisma seed instruction --- apps/web/package.json | 3 +++ pnpm-lock.yaml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/web/package.json b/apps/web/package.json index e4625a2..26838fc 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -17,6 +17,9 @@ "lint-staged": { "*": "next lint" }, + "prisma": { + "seed": "node prisma/seed.js" + }, "dependencies": { "@joekarow/eslint-config-netwerkr": "workspace:^1.0.0", "@joekarow/netwerkr-lib": "workspace:^1.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 27c8e33..f0063c8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -103,7 +103,7 @@ importers: axios: 0.27.2 dotenv: 16.0.1 mongodb: 4.7.0 - next: 12.1.6_biqbaboplfbrettd7655fr4n2y + next: 12.1.6_4cc5zw5azim2bix77d63le72su next-auth: 4.5.0_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 From 62c869300e7f7f5d6798f66b35f73fb655195ea0 Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Sat, 18 Jun 2022 23:29:51 -0400 Subject: [PATCH 03/32] chore(web): :hammer: prisma seed script --- apps/web/prisma/seed.js | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 apps/web/prisma/seed.js diff --git a/apps/web/prisma/seed.js b/apps/web/prisma/seed.js new file mode 100644 index 0000000..aa39a05 --- /dev/null +++ b/apps/web/prisma/seed.js @@ -0,0 +1,36 @@ +const { PrismaClient } = require( '@prisma/client' ) +const prisma = new PrismaClient() + +const main = async () => { + + const twitterUrlBase = await prisma.SocialMediaService.upsert( { + where: { name: 'Twitter' }, + update: { + urlbase: 'https://www.twitter.com/' + }, + create: { + name: 'Twitter', + urlbase: 'https://www.twitter.com/' + } + } ) + + const linkedinUrlBase = await prisma.SocialMediaService.upsert( { + where: { name: 'LinkedIn' }, + update: { + urlbase: 'https://www.linkedin.com/in/' + }, + create: { + name: 'LinkedIn', + urlbase: 'https://www.linkedin.com/in/' + } + } ) + +} + + +main().catch( ( e ) => { + console.error( e ) + process.exit( 1 ) +} ).finally( async () => { + await prisma.$disconnect() +} ) \ No newline at end of file From e3b71696ad14d038ba2ef887cb25d7d36592a5b6 Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Sat, 18 Jun 2022 23:52:33 -0400 Subject: [PATCH 04/32] chore(web): :hammer: prisma schema building --- apps/web/package.json | 1 + apps/web/prisma/schema.prisma | 132 ++++++++++++++++-- package.json | 1 + ...ackage: kakaaw! stackhawk isnt a workflow! | 20 --- stackhawk.yml~develop | 20 --- turbo.json | 9 ++ 6 files changed, 134 insertions(+), 49 deletions(-) delete mode 100644 stackhawk.yml~build(global): :package: kakaaw! stackhawk isnt a workflow! delete mode 100644 stackhawk.yml~develop diff --git a/apps/web/package.json b/apps/web/package.json index 26838fc..89769da 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -10,6 +10,7 @@ "db": "", "db:push": "prisma db push", "db:generate": "prisma generate", + "db:seed": "prisma db seed", "db:studio": "prisma studio", "test": "jest", "postinstall": "pnpm db:generate" diff --git a/apps/web/prisma/schema.prisma b/apps/web/prisma/schema.prisma index bca6442..b831e8d 100644 --- a/apps/web/prisma/schema.prisma +++ b/apps/web/prisma/schema.prisma @@ -7,9 +7,13 @@ datasource db { url = env("MONGODB_URI") } +model netwerkr { + id String @id @default(auto()) @map("_id") @db.ObjectId +} + model Account { - id String @id @default(auto()) @map("_id") @db.ObjectId - userId String @db.ObjectId + id String @id @default(auto()) @map("_id") @db.ObjectId + userId String @db.ObjectId type String provider String providerAccountId String @@ -20,17 +24,13 @@ model Account { scope String? id_token String? session_state String? - - user User @relation(fields: [userId], references: [id], onDelete: Cascade) - + user User @relation(fields: [userId], references: [id], onDelete: Cascade) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt @@unique([provider, providerAccountId]) } -model netwerkr { - id String @id @default(auto()) @map("_id") @db.ObjectId -} - model Session { id String @id @default(auto()) @map("_id") @db.ObjectId sessionToken String @unique @@ -45,6 +45,120 @@ model User { email String? @unique emailVerified DateTime? image String? + twitterList String? accounts Account[] sessions Session[] + contacts Contact[] + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt +} + +model Contact { + id String @id @default(auto()) @map("_id") @db.ObjectId + firstName String? + lastName String? + email ContactEmail[] + phone ContactPhone[] + photo String + socialMedia SocialMedia[] + interactions Interactions[] + onTwitterList Boolean + + associatedUser User @relation(fields: [associatedUserId], references: [id], onDelete: Cascade) + associatedUserId String @db.ObjectId + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt +} + +model ContactEmail { + id String @id @default(auto()) @map("_id") @db.ObjectId + email String + label EmailLabel @default(Home) + contact Contact @relation(fields: [contactId], references: [id], onDelete: Cascade, onUpdate: Cascade) + contactId String @db.ObjectId + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + + @@unique([email, contactId]) +} + +enum EmailLabel { + Home + Work + Other +} + +model ContactPhone { + id String @id @default(auto()) @map("_id") @db.ObjectId + number String + label PhoneLabel + contact Contact @relation(fields: [contactId], references: [id], onDelete: Cascade, onUpdate: Cascade) + contactId String @db.ObjectId + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt +} + +enum PhoneLabel { + Home + Work + Mobile + Other +} + +model SocialMedia { + id String @id @default(auto()) @map("_id") @db.ObjectId + contact Contact @relation(fields: [contactId], references: [id], onDelete: Cascade, onUpdate: Cascade) + contactId String @db.ObjectId + service SocialMediaService @relation(fields: [socialMediaServiceId], references: [id]) + userId String + displayName String + username String + protected Boolean + profileImg String? + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + socialMediaServiceId String @db.ObjectId +} + +model SocialMediaService { + id String @id @default(auto()) @map("_id") @db.ObjectId + name String @unique + urlbase String + + + Interactions Interactions[] + SocialMedia SocialMedia[] +} + +model Interactions { + id String @id @default(auto()) @map("_id") @db.ObjectId + Contact Contact @relation(fields: [contactId], references: [id]) + contactId String @db.ObjectId + source InteractionSource + sourceSocial SocialMediaService? @relation(fields: [socialMediaServiceId], references: [id]) + time DateTime + content String + extPostId String? + conversationId Conversation[] + + socialMediaServiceId String @db.ObjectId +} + +enum InteractionSource { + Twitter + LinkedIn + PhoneCall + SMS + Email + DM + InPerson +} + +model Conversation { + id String @id @default(auto()) @map("_id") @db.ObjectId + twitterConvoId String? + + + Interactions Interactions? @relation(fields: [interactionsId], references: [id]) + interactionsId String? @db.ObjectId } diff --git a/package.json b/package.json index 1e93de2..4dc2147 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "db": "turbo run db", "db:push": "turbo run db:push", "db:generate": "turbo run db:generate", + "db:seed": "turbo run db:seed", "db:studio": "turbo run db:studio", "test": "turbo run test" }, diff --git a/stackhawk.yml~build(global): :package: kakaaw! stackhawk isnt a workflow! b/stackhawk.yml~build(global): :package: kakaaw! stackhawk isnt a workflow! deleted file mode 100644 index f9582e9..0000000 --- a/stackhawk.yml~build(global): :package: kakaaw! stackhawk isnt a workflow! +++ /dev/null @@ -1,20 +0,0 @@ -# -- stackhawk configuration for netwerkr -- -app: - # -- An applicationId obtained from the StackHawk platform. -- - applicationId: fe4bdb94-5f1c-4de0-8dab-ff4ba2cd3540 # (required) - # -- The environment for the applicationId defined in the StackHawk platform. -- - env: Development # (required) - # -- The url of your application to scan -- - host: http://localhost:3000 # (required) - - -# -- Customized Configuration for GraphQL/SOAP/OpenAPI, add here -- - # Configuration Docs: https://docs.stackhawk.com/hawkscan/configuration/ - -# -- If Authenticated Scanning is needed, add here -- - # Authenticated Scanning Docs: https://docs.stackhawk.com/hawkscan/authenticated-scanning.html - # Authenticated Scanning Repo: https://github.com/kaakaww/scan-configuration/tree/main/Authentication - -# -- Help Section -- - # Docs: https://docs.stackhawk.com/ - # Contact Support: support@stackhawk.com \ No newline at end of file diff --git a/stackhawk.yml~develop b/stackhawk.yml~develop deleted file mode 100644 index f9582e9..0000000 --- a/stackhawk.yml~develop +++ /dev/null @@ -1,20 +0,0 @@ -# -- stackhawk configuration for netwerkr -- -app: - # -- An applicationId obtained from the StackHawk platform. -- - applicationId: fe4bdb94-5f1c-4de0-8dab-ff4ba2cd3540 # (required) - # -- The environment for the applicationId defined in the StackHawk platform. -- - env: Development # (required) - # -- The url of your application to scan -- - host: http://localhost:3000 # (required) - - -# -- Customized Configuration for GraphQL/SOAP/OpenAPI, add here -- - # Configuration Docs: https://docs.stackhawk.com/hawkscan/configuration/ - -# -- If Authenticated Scanning is needed, add here -- - # Authenticated Scanning Docs: https://docs.stackhawk.com/hawkscan/authenticated-scanning.html - # Authenticated Scanning Repo: https://github.com/kaakaww/scan-configuration/tree/main/Authentication - -# -- Help Section -- - # Docs: https://docs.stackhawk.com/ - # Contact Support: support@stackhawk.com \ No newline at end of file diff --git a/turbo.json b/turbo.json index 7c2c3c3..8e8042c 100644 --- a/turbo.json +++ b/turbo.json @@ -23,6 +23,15 @@ "db:generate": { "outputs": [] }, + "db:push": { + "outputs": [] + }, + "db:seed": { + "outputs": [] + }, + "db:studio": { + "outputs": [] + }, "test": { "outputs": [] } From 3b9629376982703c264e3c935fde28368b6fc9b2 Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Sun, 19 Jun 2022 15:38:16 -0400 Subject: [PATCH 05/32] feat(ui): :sparkles: getProviders hook for login button --- packages/ui/hooks/index.js | 2 ++ packages/ui/hooks/useProviders.js | 60 +++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 packages/ui/hooks/index.js create mode 100644 packages/ui/hooks/useProviders.js diff --git a/packages/ui/hooks/index.js b/packages/ui/hooks/index.js new file mode 100644 index 0000000..94a6edf --- /dev/null +++ b/packages/ui/hooks/index.js @@ -0,0 +1,2 @@ +// @index('./**/*.{js*,(ts* && !d.*)}', f => `export * from '${f.path}'`) +export * from './useProviders' diff --git a/packages/ui/hooks/useProviders.js b/packages/ui/hooks/useProviders.js new file mode 100644 index 0000000..fb9b229 --- /dev/null +++ b/packages/ui/hooks/useProviders.js @@ -0,0 +1,60 @@ +import { useState, useEffect } from 'react' +import { getProviders } from 'next-auth/react' +import { Icon, BrandTwitter, Key } from 'tabler-icons-react' + + +/** + * It's an async function that calls the getProviders() function, which returns a promise. + * + * If the promise resolves, the response is returned. If the promise rejects, the error is logged to + * the console + * @returns The response from the getProviders() function. + */ +async function fetchProviders () { + try { + const response = await getProviders() + return response + } catch ( err ) { + console.error( err ) + } +} + +/* It's an async function that calls the getProviders() function, which returns a promise. */ +const providers = fetchProviders() + +const providerFormatter = ( data ) => { + const Icons = { + twitter: BrandTwitter, + auth0: Key + } + return Object.keys( data ).map( ( item ) => { + const ServiceIcon = Icons[ item ] + const name = data[ item ].name + return ( + { + name, + icon: , + } + ) + } ) +} + + + + +export function useProviders () { + const [ list, setList ] = useState( [] ) + + + + useEffect( () => { + providers.then( data => { + //@ts-ignore + const dataFormatted = providerFormatter( data ) + + setList( dataFormatted ) + } ).catch( err => console.error( err ) ) + }, [] ) + + return list +} \ No newline at end of file From 5f0ade02191dc692512e92ae87648f91d6097e5e Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Sun, 19 Jun 2022 15:39:10 -0400 Subject: [PATCH 06/32] feat(ui): :sparkles: make UserButton dynamic based off session status --- packages/ui/components/UserButton.tsx | 54 +++++++++++++++++++++------ 1 file changed, 42 insertions(+), 12 deletions(-) diff --git a/packages/ui/components/UserButton.tsx b/packages/ui/components/UserButton.tsx index 72430e8..a866cea 100644 --- a/packages/ui/components/UserButton.tsx +++ b/packages/ui/components/UserButton.tsx @@ -14,11 +14,12 @@ import { Star, Message, Settings, - PlayerPause, - Trash, SwitchHorizontal, ChevronDown, } from 'tabler-icons-react'; +import {useSession} from 'next-auth/react' +import {useProviders} from '../hooks' +import { signIn, signOut } from 'next-auth/react'; //TODO: Change menu items @@ -54,9 +55,45 @@ export interface UserButton { } } +interface LoginProvider { + name: String, + icon: JSX.Element +} + export function UserButton ( { user }: UserButton ) { const { classes, cx, theme } = useStyles(); const [ userMenuOpened, setUserMenuOpened ] = useState( false ); + const {data: session, status } = useSession() + const loginProviders = useProviders().map((provider: LoginProvider) => ( + signIn(provider.name.toLowerCase())}> + {provider.name} + )) + if (status !== 'authenticated') { + return ( + setUserMenuOpened( false ) } + onOpen={ () => setUserMenuOpened( true ) } + control={ + + + + Log In + + + + + } + > + {loginProviders} + + ) + } return ( - + - { user.name } + { session.user.name } @@ -93,15 +130,8 @@ export function UserButton ( { user }: UserButton ) { Settings }>Account settings }>Change account - }>Logout - - + } onClick={() => signOut()}>Logout - Danger zone - }>Pause subscription - }> - Delete account - ); } \ No newline at end of file From df82bb47923b4736184a69284986601fa6bf50c7 Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Sun, 19 Jun 2022 15:41:20 -0400 Subject: [PATCH 07/32] refactor(ui): :recycle: use UserButton in main page header --- packages/ui/section/HeaderAction.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/ui/section/HeaderAction.jsx b/packages/ui/section/HeaderAction.jsx index 04ee6f1..5bef207 100644 --- a/packages/ui/section/HeaderAction.jsx +++ b/packages/ui/section/HeaderAction.jsx @@ -10,8 +10,8 @@ import { Burger, } from '@mantine/core'; import { useBooleanToggle } from '@mantine/hooks'; -import { ChevronDown } from 'tabler-icons-react'; -import { LoginProvider } from '../components' +import { ChevronDown, User } from 'tabler-icons-react'; +import { UserButton } from '../components' const HEADER_HEIGHT = 60; @@ -121,7 +121,7 @@ export function HeaderAction ( { links } ) { { items } - + ); From 764b8e337ededd6613d79a09721f2d3f7f840476 Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Sun, 19 Jun 2022 17:16:07 -0400 Subject: [PATCH 08/32] chore(web): :hammer: install zod for validation --- apps/web/package.json | 4 +- pnpm-lock.yaml | 104 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+), 1 deletion(-) diff --git a/apps/web/package.json b/apps/web/package.json index 89769da..39850bc 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -51,6 +51,8 @@ "msw": "^0.42.1", "next-transpile-modules": "9.0.0", "prisma": "^3.15.2", - "typescript": "^4.7.3" + "typescript": "^4.7.3", + "zod": "^3.17.3", + "zod-prisma": "^0.5.4" } } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f0063c8..6aabcb1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -93,6 +93,8 @@ importers: react-dom: ^18.1.0 swr: ^1.3.0 typescript: ^4.7.3 + zod: ^3.17.3 + zod-prisma: ^0.5.4 dependencies: '@joekarow/eslint-config-netwerkr': link:../../packages/eslint-config-netwerkr '@joekarow/netwerkr-lib': link:../../packages/lib @@ -123,6 +125,8 @@ importers: next-transpile-modules: 9.0.0 prisma: 3.15.2 typescript: 4.7.3 + zod: 3.17.3 + zod-prisma: 0.5.4_prisma@3.15.2+zod@3.17.3 design/diagrams: specifiers: {} @@ -1515,6 +1519,14 @@ packages: prisma: 3.15.2 dev: false + /@prisma/debug/3.8.1: + resolution: {integrity: sha512-ft4VPTYME1UBJ7trfrBuF2w9jX1ipDy786T9fAEskNGb+y26gPDqz5fiEWc2kgHNeVdz/qTI/V3wXILRyEcgxQ==} + dependencies: + '@types/debug': 4.1.7 + ms: 2.1.3 + strip-ansi: 6.0.1 + dev: true + /@prisma/engines-version/3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e: resolution: {integrity: sha512-e3k2Vd606efd1ZYy2NQKkT4C/pn31nehyLhVug6To/q8JT8FpiMrDy7zmm3KLF0L98NOQQcutaVtAPhzKhzn9w==} dev: false @@ -1523,6 +1535,15 @@ packages: resolution: {integrity: sha512-NHlojO1DFTsSi3FtEleL9QWXeSF/UjhCW0fgpi7bumnNZ4wj/eQ+BJJ5n2pgoOliTOGv9nX2qXvmHap7rJMNmg==} requiresBuild: true + /@prisma/generator-helper/3.8.1: + resolution: {integrity: sha512-3zSy+XTEjmjLj6NO+/YPN1Cu7or3xA11TOoOnLRJ9G4pTT67RJXjK0L9Xy5n+3I0Xlb7xrWCgo8MvQQLMWzxPA==} + dependencies: + '@prisma/debug': 3.8.1 + '@types/cross-spawn': 6.0.2 + chalk: 4.1.2 + cross-spawn: 7.0.3 + dev: true + /@radix-ui/number/0.1.0: resolution: {integrity: sha512-rpf6QiOWLHAkM4FEMYu9i+5Jr8cKT893+R4mPpcdsy4LD7omr9JfdOqj/h/xPA5+EcVrpMMlU6rrRYpUB5UI8g==} dependencies: @@ -1724,6 +1745,15 @@ packages: engines: {node: '>= 10'} dev: true + /@ts-morph/common/0.12.3: + resolution: {integrity: sha512-4tUmeLyXJnJWvTFOKtcNJ1yh0a3SsTLi2MUoyj8iUNznFRN1ZquaNe7Oukqrnki2FzZkm0J9adCNLDZxUzvj+w==} + dependencies: + fast-glob: 3.2.11 + minimatch: 3.1.2 + mkdirp: 1.0.4 + path-browserify: 1.0.1 + dev: true + /@tsconfig/node10/1.0.8: resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==} dev: true @@ -1794,6 +1824,18 @@ packages: resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} dev: true + /@types/cross-spawn/6.0.2: + resolution: {integrity: sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==} + dependencies: + '@types/node': 18.0.0 + dev: true + + /@types/debug/4.1.7: + resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} + dependencies: + '@types/ms': 0.7.31 + dev: true + /@types/graceful-fs/4.1.5: resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} dependencies: @@ -1842,6 +1884,10 @@ packages: resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true + /@types/ms/0.7.31: + resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} + dev: true + /@types/node/17.0.45: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} dev: true @@ -2644,6 +2690,12 @@ packages: engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} dev: true + /code-block-writer/11.0.0: + resolution: {integrity: sha512-GEqWvEWWsOvER+g9keO4ohFoD3ymwyCnqY3hoTr7GZipYFwEhMHJw+TtV0rfgRhNImM6QWZGO2XYjlJVyYT62w==} + dependencies: + tslib: 2.3.1 + dev: true + /collect-v8-coverage/1.0.1: resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} dev: true @@ -5418,6 +5470,12 @@ packages: /minimist/1.2.6: resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} + /mkdirp/1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + dev: true + /mongodb-connection-string-url/2.5.2: resolution: {integrity: sha512-tWDyIG8cQlI5k3skB6ywaEA5F9f5OntrKKsT/Lteub2zgwSUlhqEN2inGgBTm8bpYJf8QYBdA/5naz65XDpczA==} dependencies: @@ -5443,6 +5501,10 @@ packages: /ms/2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms/2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + /msw/0.42.1_typescript@4.7.3: resolution: {integrity: sha512-LZZuz7VddL45gCBgfBWHyXj6a4W7OTJY0mZPoipJ3P/xwbuJwrtwB3IJrWlqBM8aink/eTKlRxwzmtIAwCj5yQ==} engines: {node: '>=14'} @@ -5903,6 +5965,10 @@ packages: dependencies: callsites: 3.1.0 + /parenthesis/3.1.8: + resolution: {integrity: sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==} + dev: true + /parse-json/5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -5922,6 +5988,10 @@ packages: resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} dev: true + /path-browserify/1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + dev: true + /path-exists/3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} @@ -6968,6 +7038,13 @@ packages: engines: {node: '>=8'} dev: true + /ts-morph/13.0.3: + resolution: {integrity: sha512-pSOfUMx8Ld/WUreoSzvMFQG5i9uEiWIsBYjpU9+TTASOeUa89j5HykomeqVULm1oqWtBdleI3KEFRLrlA3zGIw==} + dependencies: + '@ts-morph/common': 0.12.3 + code-block-writer: 11.0.0 + dev: true + /ts-node/10.8.0_ulc3d5rlymqegdowsm6lrv2bhq: resolution: {integrity: sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==} hasBin: true @@ -7010,6 +7087,10 @@ packages: /tslib/1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + /tslib/2.3.1: + resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} + dev: true + /tslib/2.4.0: resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} @@ -7508,3 +7589,26 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} dev: true + + /zod-prisma/0.5.4_prisma@3.15.2+zod@3.17.3: + resolution: {integrity: sha512-5Ca4Qd1a1jy1T/NqCEpbr0c+EsbjJfJ/7euEHob3zDvtUK2rTuD1Rc/vfzH8q8PtaR2TZbysD88NHmrLwpv3Xg==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + decimal.js: ^10.0.0 + prisma: ^3.0.0 + zod: ^3.0.0 + peerDependenciesMeta: + decimal.js: + optional: true + dependencies: + '@prisma/generator-helper': 3.8.1 + parenthesis: 3.1.8 + prisma: 3.15.2 + ts-morph: 13.0.3 + zod: 3.17.3 + dev: true + + /zod/3.17.3: + resolution: {integrity: sha512-4oKP5zvG6GGbMlqBkI5FESOAweldEhSOZ6LI6cG+JzUT7ofj1ZOC0PJudpQOpT1iqOFpYYtX5Pw0+o403y4bcg==} + dev: true From 0e572ec666c1955a771a6403ad64a94a27051c38 Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Sun, 19 Jun 2022 17:17:26 -0400 Subject: [PATCH 09/32] chore(web): :hammer: generate zod schemas --- apps/web/lib/zod-prisma.ts | 7 +++++ apps/web/prisma/schema.prisma | 8 +++++- apps/web/prisma/zod/account.ts | 33 +++++++++++++++++++++ apps/web/prisma/zod/contact.ts | 35 +++++++++++++++++++++++ apps/web/prisma/zod/contactemail.ts | 26 +++++++++++++++++ apps/web/prisma/zod/contactphone.ts | 26 +++++++++++++++++ apps/web/prisma/zod/conversation.ts | 22 ++++++++++++++ apps/web/prisma/zod/index.ts | 11 +++++++ apps/web/prisma/zod/interactions.ts | 31 ++++++++++++++++++++ apps/web/prisma/zod/netwerkr.ts | 6 ++++ apps/web/prisma/zod/session.ts | 23 +++++++++++++++ apps/web/prisma/zod/socialmedia.ts | 31 ++++++++++++++++++++ apps/web/prisma/zod/socialmediaservice.ts | 24 ++++++++++++++++ apps/web/prisma/zod/user.ts | 31 ++++++++++++++++++++ 14 files changed, 313 insertions(+), 1 deletion(-) create mode 100644 apps/web/lib/zod-prisma.ts create mode 100644 apps/web/prisma/zod/account.ts create mode 100644 apps/web/prisma/zod/contact.ts create mode 100644 apps/web/prisma/zod/contactemail.ts create mode 100644 apps/web/prisma/zod/contactphone.ts create mode 100644 apps/web/prisma/zod/conversation.ts create mode 100644 apps/web/prisma/zod/index.ts create mode 100644 apps/web/prisma/zod/interactions.ts create mode 100644 apps/web/prisma/zod/netwerkr.ts create mode 100644 apps/web/prisma/zod/session.ts create mode 100644 apps/web/prisma/zod/socialmedia.ts create mode 100644 apps/web/prisma/zod/socialmediaservice.ts create mode 100644 apps/web/prisma/zod/user.ts diff --git a/apps/web/lib/zod-prisma.ts b/apps/web/lib/zod-prisma.ts new file mode 100644 index 0000000..3bbb457 --- /dev/null +++ b/apps/web/lib/zod-prisma.ts @@ -0,0 +1,7 @@ +import { ObjectId } from "mongodb"; + + + +export const mongoId = ( str: string ): boolean => { + return ObjectId.isValid( str ) +} \ No newline at end of file diff --git a/apps/web/prisma/schema.prisma b/apps/web/prisma/schema.prisma index b831e8d..51f9866 100644 --- a/apps/web/prisma/schema.prisma +++ b/apps/web/prisma/schema.prisma @@ -2,6 +2,12 @@ generator client { provider = "prisma-client-js" } +generator zod { + provider = "zod-prisma" + output = "./zod" + imports = "../lib/zod-prisma" +} + datasource db { provider = "mongodb" url = env("MONGODB_URI") @@ -54,7 +60,7 @@ model User { } model Contact { - id String @id @default(auto()) @map("_id") @db.ObjectId + id String @id @default(auto()) @map("_id") @db.ObjectId /// @zod.refine(imports.mongoId) firstName String? lastName String? email ContactEmail[] diff --git a/apps/web/prisma/zod/account.ts b/apps/web/prisma/zod/account.ts new file mode 100644 index 0000000..4b58f44 --- /dev/null +++ b/apps/web/prisma/zod/account.ts @@ -0,0 +1,33 @@ +import * as z from "zod" +import * as imports from "../../lib/zod-prisma" +import { CompleteUser, RelatedUserModel } from "./index" + +export const AccountModel = z.object({ + id: z.string(), + userId: z.string(), + type: z.string(), + provider: z.string(), + providerAccountId: z.string(), + refresh_token: z.string().nullish(), + access_token: z.string().nullish(), + expires_at: z.number().int().nullish(), + token_type: z.string().nullish(), + scope: z.string().nullish(), + id_token: z.string().nullish(), + session_state: z.string().nullish(), + createdAt: z.date(), + updatedAt: z.date(), +}) + +export interface CompleteAccount extends z.infer { + user: CompleteUser +} + +/** + * RelatedAccountModel contains all relations on your model in addition to the scalars + * + * NOTE: Lazy required in case of potential circular dependencies within schema + */ +export const RelatedAccountModel: z.ZodSchema = z.lazy(() => AccountModel.extend({ + user: RelatedUserModel, +})) diff --git a/apps/web/prisma/zod/contact.ts b/apps/web/prisma/zod/contact.ts new file mode 100644 index 0000000..31e066f --- /dev/null +++ b/apps/web/prisma/zod/contact.ts @@ -0,0 +1,35 @@ +import * as z from "zod" +import * as imports from "../../lib/zod-prisma" +import { CompleteContactEmail, RelatedContactEmailModel, CompleteContactPhone, RelatedContactPhoneModel, CompleteSocialMedia, RelatedSocialMediaModel, CompleteInteractions, RelatedInteractionsModel, CompleteUser, RelatedUserModel } from "./index" + +export const ContactModel = z.object({ + id: z.string().refine(imports.mongoId), + firstName: z.string().nullish(), + lastName: z.string().nullish(), + photo: z.string(), + onTwitterList: z.boolean(), + associatedUserId: z.string(), + createdAt: z.date(), + updatedAt: z.date(), +}) + +export interface CompleteContact extends z.infer { + email: CompleteContactEmail[] + phone: CompleteContactPhone[] + socialMedia: CompleteSocialMedia[] + interactions: CompleteInteractions[] + associatedUser: CompleteUser +} + +/** + * RelatedContactModel contains all relations on your model in addition to the scalars + * + * NOTE: Lazy required in case of potential circular dependencies within schema + */ +export const RelatedContactModel: z.ZodSchema = z.lazy(() => ContactModel.extend({ + email: RelatedContactEmailModel.array(), + phone: RelatedContactPhoneModel.array(), + socialMedia: RelatedSocialMediaModel.array(), + interactions: RelatedInteractionsModel.array(), + associatedUser: RelatedUserModel, +})) diff --git a/apps/web/prisma/zod/contactemail.ts b/apps/web/prisma/zod/contactemail.ts new file mode 100644 index 0000000..9f0e0df --- /dev/null +++ b/apps/web/prisma/zod/contactemail.ts @@ -0,0 +1,26 @@ +import * as z from "zod" +import * as imports from "../../lib/zod-prisma" +import { EmailLabel } from "@prisma/client" +import { CompleteContact, RelatedContactModel } from "./index" + +export const ContactEmailModel = z.object({ + id: z.string(), + email: z.string(), + label: z.nativeEnum(EmailLabel), + contactId: z.string(), + createdAt: z.date(), + updatedAt: z.date(), +}) + +export interface CompleteContactEmail extends z.infer { + contact: CompleteContact +} + +/** + * RelatedContactEmailModel contains all relations on your model in addition to the scalars + * + * NOTE: Lazy required in case of potential circular dependencies within schema + */ +export const RelatedContactEmailModel: z.ZodSchema = z.lazy(() => ContactEmailModel.extend({ + contact: RelatedContactModel, +})) diff --git a/apps/web/prisma/zod/contactphone.ts b/apps/web/prisma/zod/contactphone.ts new file mode 100644 index 0000000..521f397 --- /dev/null +++ b/apps/web/prisma/zod/contactphone.ts @@ -0,0 +1,26 @@ +import * as z from "zod" +import * as imports from "../../lib/zod-prisma" +import { PhoneLabel } from "@prisma/client" +import { CompleteContact, RelatedContactModel } from "./index" + +export const ContactPhoneModel = z.object({ + id: z.string(), + number: z.string(), + label: z.nativeEnum(PhoneLabel), + contactId: z.string(), + createdAt: z.date(), + updatedAt: z.date(), +}) + +export interface CompleteContactPhone extends z.infer { + contact: CompleteContact +} + +/** + * RelatedContactPhoneModel contains all relations on your model in addition to the scalars + * + * NOTE: Lazy required in case of potential circular dependencies within schema + */ +export const RelatedContactPhoneModel: z.ZodSchema = z.lazy(() => ContactPhoneModel.extend({ + contact: RelatedContactModel, +})) diff --git a/apps/web/prisma/zod/conversation.ts b/apps/web/prisma/zod/conversation.ts new file mode 100644 index 0000000..8354ee4 --- /dev/null +++ b/apps/web/prisma/zod/conversation.ts @@ -0,0 +1,22 @@ +import * as z from "zod" +import * as imports from "../../lib/zod-prisma" +import { CompleteInteractions, RelatedInteractionsModel } from "./index" + +export const ConversationModel = z.object({ + id: z.string(), + twitterConvoId: z.string().nullish(), + interactionsId: z.string().nullish(), +}) + +export interface CompleteConversation extends z.infer { + Interactions?: CompleteInteractions | null +} + +/** + * RelatedConversationModel contains all relations on your model in addition to the scalars + * + * NOTE: Lazy required in case of potential circular dependencies within schema + */ +export const RelatedConversationModel: z.ZodSchema = z.lazy(() => ConversationModel.extend({ + Interactions: RelatedInteractionsModel.nullish(), +})) diff --git a/apps/web/prisma/zod/index.ts b/apps/web/prisma/zod/index.ts new file mode 100644 index 0000000..3b69224 --- /dev/null +++ b/apps/web/prisma/zod/index.ts @@ -0,0 +1,11 @@ +export * from "./netwerkr" +export * from "./account" +export * from "./session" +export * from "./user" +export * from "./contact" +export * from "./contactemail" +export * from "./contactphone" +export * from "./socialmedia" +export * from "./socialmediaservice" +export * from "./interactions" +export * from "./conversation" diff --git a/apps/web/prisma/zod/interactions.ts b/apps/web/prisma/zod/interactions.ts new file mode 100644 index 0000000..7918127 --- /dev/null +++ b/apps/web/prisma/zod/interactions.ts @@ -0,0 +1,31 @@ +import * as z from "zod" +import * as imports from "../../lib/zod-prisma" +import { InteractionSource } from "@prisma/client" +import { CompleteContact, RelatedContactModel, CompleteSocialMediaService, RelatedSocialMediaServiceModel, CompleteConversation, RelatedConversationModel } from "./index" + +export const InteractionsModel = z.object({ + id: z.string(), + contactId: z.string(), + source: z.nativeEnum(InteractionSource), + time: z.date(), + content: z.string(), + extPostId: z.string().nullish(), + socialMediaServiceId: z.string(), +}) + +export interface CompleteInteractions extends z.infer { + Contact: CompleteContact + sourceSocial?: CompleteSocialMediaService | null + conversationId: CompleteConversation[] +} + +/** + * RelatedInteractionsModel contains all relations on your model in addition to the scalars + * + * NOTE: Lazy required in case of potential circular dependencies within schema + */ +export const RelatedInteractionsModel: z.ZodSchema = z.lazy(() => InteractionsModel.extend({ + Contact: RelatedContactModel, + sourceSocial: RelatedSocialMediaServiceModel.nullish(), + conversationId: RelatedConversationModel.array(), +})) diff --git a/apps/web/prisma/zod/netwerkr.ts b/apps/web/prisma/zod/netwerkr.ts new file mode 100644 index 0000000..1d186e3 --- /dev/null +++ b/apps/web/prisma/zod/netwerkr.ts @@ -0,0 +1,6 @@ +import * as z from "zod" +import * as imports from "../../lib/zod-prisma" + +export const netwerkrModel = z.object({ + id: z.string(), +}) diff --git a/apps/web/prisma/zod/session.ts b/apps/web/prisma/zod/session.ts new file mode 100644 index 0000000..261df11 --- /dev/null +++ b/apps/web/prisma/zod/session.ts @@ -0,0 +1,23 @@ +import * as z from "zod" +import * as imports from "../../lib/zod-prisma" +import { CompleteUser, RelatedUserModel } from "./index" + +export const SessionModel = z.object({ + id: z.string(), + sessionToken: z.string(), + userId: z.string(), + expires: z.date(), +}) + +export interface CompleteSession extends z.infer { + user: CompleteUser +} + +/** + * RelatedSessionModel contains all relations on your model in addition to the scalars + * + * NOTE: Lazy required in case of potential circular dependencies within schema + */ +export const RelatedSessionModel: z.ZodSchema = z.lazy(() => SessionModel.extend({ + user: RelatedUserModel, +})) diff --git a/apps/web/prisma/zod/socialmedia.ts b/apps/web/prisma/zod/socialmedia.ts new file mode 100644 index 0000000..90d4ff7 --- /dev/null +++ b/apps/web/prisma/zod/socialmedia.ts @@ -0,0 +1,31 @@ +import * as z from "zod" +import * as imports from "../../lib/zod-prisma" +import { CompleteContact, RelatedContactModel, CompleteSocialMediaService, RelatedSocialMediaServiceModel } from "./index" + +export const SocialMediaModel = z.object({ + id: z.string(), + contactId: z.string(), + userId: z.string(), + displayName: z.string(), + username: z.string(), + protected: z.boolean(), + profileImg: z.string().nullish(), + createdAt: z.date(), + updatedAt: z.date(), + socialMediaServiceId: z.string(), +}) + +export interface CompleteSocialMedia extends z.infer { + contact: CompleteContact + service: CompleteSocialMediaService +} + +/** + * RelatedSocialMediaModel contains all relations on your model in addition to the scalars + * + * NOTE: Lazy required in case of potential circular dependencies within schema + */ +export const RelatedSocialMediaModel: z.ZodSchema = z.lazy(() => SocialMediaModel.extend({ + contact: RelatedContactModel, + service: RelatedSocialMediaServiceModel, +})) diff --git a/apps/web/prisma/zod/socialmediaservice.ts b/apps/web/prisma/zod/socialmediaservice.ts new file mode 100644 index 0000000..691a6bf --- /dev/null +++ b/apps/web/prisma/zod/socialmediaservice.ts @@ -0,0 +1,24 @@ +import * as z from "zod" +import * as imports from "../../lib/zod-prisma" +import { CompleteInteractions, RelatedInteractionsModel, CompleteSocialMedia, RelatedSocialMediaModel } from "./index" + +export const SocialMediaServiceModel = z.object({ + id: z.string(), + name: z.string(), + urlbase: z.string(), +}) + +export interface CompleteSocialMediaService extends z.infer { + Interactions: CompleteInteractions[] + SocialMedia: CompleteSocialMedia[] +} + +/** + * RelatedSocialMediaServiceModel contains all relations on your model in addition to the scalars + * + * NOTE: Lazy required in case of potential circular dependencies within schema + */ +export const RelatedSocialMediaServiceModel: z.ZodSchema = z.lazy(() => SocialMediaServiceModel.extend({ + Interactions: RelatedInteractionsModel.array(), + SocialMedia: RelatedSocialMediaModel.array(), +})) diff --git a/apps/web/prisma/zod/user.ts b/apps/web/prisma/zod/user.ts new file mode 100644 index 0000000..9e1875b --- /dev/null +++ b/apps/web/prisma/zod/user.ts @@ -0,0 +1,31 @@ +import * as z from "zod" +import * as imports from "../../lib/zod-prisma" +import { CompleteAccount, RelatedAccountModel, CompleteSession, RelatedSessionModel, CompleteContact, RelatedContactModel } from "./index" + +export const UserModel = z.object({ + id: z.string(), + name: z.string().nullish(), + email: z.string().nullish(), + emailVerified: z.date().nullish(), + image: z.string().nullish(), + twitterList: z.string().nullish(), + createdAt: z.date(), + updatedAt: z.date(), +}) + +export interface CompleteUser extends z.infer { + accounts: CompleteAccount[] + sessions: CompleteSession[] + contacts: CompleteContact[] +} + +/** + * RelatedUserModel contains all relations on your model in addition to the scalars + * + * NOTE: Lazy required in case of potential circular dependencies within schema + */ +export const RelatedUserModel: z.ZodSchema = z.lazy(() => UserModel.extend({ + accounts: RelatedAccountModel.array(), + sessions: RelatedSessionModel.array(), + contacts: RelatedContactModel.array(), +})) From eb24f7faa9f109c779306ad5a4bfa176d44a5103 Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Sun, 19 Jun 2022 17:17:56 -0400 Subject: [PATCH 10/32] feat(web): :sparkles: start profile page & api call --- apps/web/pages/api/profile/[uid].js | 43 +++++++++++++++++++++++++ apps/web/pages/dash/[profile]/index.jsx | 14 ++++++++ 2 files changed, 57 insertions(+) create mode 100644 apps/web/pages/api/profile/[uid].js create mode 100644 apps/web/pages/dash/[profile]/index.jsx diff --git a/apps/web/pages/api/profile/[uid].js b/apps/web/pages/api/profile/[uid].js new file mode 100644 index 0000000..d803ab8 --- /dev/null +++ b/apps/web/pages/api/profile/[uid].js @@ -0,0 +1,43 @@ +import { PrismaClient } from "@prisma/client"; +import { getSession } from 'next-auth/react' +import * as z from 'zod' +import { ObjectId } from "mongodb"; + +// TODO: Check if this actually returns a profile. +const validator = z.string().refine( str => ObjectId.isValid( str ) ) + +const prisma = new PrismaClient() + +const handler = async ( req, res ) => { + const { uid } = req.query + const session = await getSession( { req } ) + if ( !session ) res.status( 401 ) + + try { + + if ( req.method === "GET" ) { + const profile = await prisma.Contact.findUnique( { + where: { + id: uid + }, + select: { + firstName: true, + lastName: true, + email: true, + phone: true, + photo: true, + socialMedia: true, + interactions: true, + + } + } ) + res.send( profile ) + } + } catch ( err ) { + res.status( 400 ).send( err ) + } + + +} + +export default handler \ No newline at end of file diff --git a/apps/web/pages/dash/[profile]/index.jsx b/apps/web/pages/dash/[profile]/index.jsx new file mode 100644 index 0000000..757168f --- /dev/null +++ b/apps/web/pages/dash/[profile]/index.jsx @@ -0,0 +1,14 @@ +import React from "react"; +import { useRouter } from "next/router"; + + + +export const Profile = () => { + const route = useRouter() + const uid = route.query.profile + + + + + +} \ No newline at end of file From 9cd5eda105d72ec89c1f184015a68603d13ef27b Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Mon, 20 Jun 2022 19:11:53 -0400 Subject: [PATCH 11/32] chore(web): :hammer: create fake db seed generator --- apps/web/package.json | 1 + apps/web/prisma/schema.prisma | 32 +++++---- apps/web/prisma/seed.js | 40 ++++++----- apps/web/prisma/seed/fakedata.js | 88 ++++++++++++++++++++++++ apps/web/prisma/seed/socialMediaSetup.js | 23 +++++++ apps/web/prisma/zod/contactemail.ts | 2 +- apps/web/prisma/zod/interactions.ts | 2 +- apps/web/prisma/zod/socialmedia.ts | 2 +- pnpm-lock.yaml | 7 ++ 9 files changed, 161 insertions(+), 36 deletions(-) create mode 100644 apps/web/prisma/seed/fakedata.js create mode 100644 apps/web/prisma/seed/socialMediaSetup.js diff --git a/apps/web/package.json b/apps/web/package.json index 39850bc..3dfb9e9 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -38,6 +38,7 @@ "swr": "^1.3.0" }, "devDependencies": { + "@faker-js/faker": "^7.3.0", "@joekarow/netwerkr-config": "workspace:*", "@simbathesailor/babel-plugin-use-what-changed": "^2.1.0", "@simbathesailor/use-what-changed": "^2.0.0", diff --git a/apps/web/prisma/schema.prisma b/apps/web/prisma/schema.prisma index 51f9866..82a6c3d 100644 --- a/apps/web/prisma/schema.prisma +++ b/apps/web/prisma/schema.prisma @@ -10,7 +10,7 @@ generator zod { datasource db { provider = "mongodb" - url = env("MONGODB_URI") + url = env("MONGODB_CONN") } model netwerkr { @@ -81,10 +81,10 @@ model ContactEmail { email String label EmailLabel @default(Home) contact Contact @relation(fields: [contactId], references: [id], onDelete: Cascade, onUpdate: Cascade) - contactId String @db.ObjectId createdAt DateTime @default(now()) updatedAt DateTime @updatedAt + contactId String @db.ObjectId @@unique([email, contactId]) } @@ -112,18 +112,20 @@ enum PhoneLabel { } model SocialMedia { - id String @id @default(auto()) @map("_id") @db.ObjectId - contact Contact @relation(fields: [contactId], references: [id], onDelete: Cascade, onUpdate: Cascade) - contactId String @db.ObjectId - service SocialMediaService @relation(fields: [socialMediaServiceId], references: [id]) - userId String - displayName String - username String - protected Boolean - profileImg String? - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt - socialMediaServiceId String @db.ObjectId + id String @id @default(auto()) @map("_id") @db.ObjectId + contact Contact @relation(fields: [contactId], references: [id], onDelete: Cascade, onUpdate: Cascade) + service SocialMediaService @relation(fields: [socialMediaServiceId], references: [id]) + userId String + displayName String + username String + protected Boolean + profileImg String? + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + + + contactId String @db.ObjectId + socialMediaServiceId String @db.ObjectId } model SocialMediaService { @@ -147,7 +149,7 @@ model Interactions { extPostId String? conversationId Conversation[] - socialMediaServiceId String @db.ObjectId + socialMediaServiceId String? @db.ObjectId } enum InteractionSource { diff --git a/apps/web/prisma/seed.js b/apps/web/prisma/seed.js index aa39a05..09dac95 100644 --- a/apps/web/prisma/seed.js +++ b/apps/web/prisma/seed.js @@ -1,30 +1,34 @@ const { PrismaClient } = require( '@prisma/client' ) const prisma = new PrismaClient() +const { twitterUrlBase, linkedInUrlBase } = require( './seed/socialMediaSetup' ) +const generateFakeContact = require( './seed/fakedata' ) + +const fakeContacts = 21 + const main = async () => { + if ( !fakeContacts ) throw new Error( `variable 'fakeContacts' must be set` ) - const twitterUrlBase = await prisma.SocialMediaService.upsert( { - where: { name: 'Twitter' }, - update: { - urlbase: 'https://www.twitter.com/' - }, - create: { - name: 'Twitter', - urlbase: 'https://www.twitter.com/' - } - } ) + await prisma.SocialMediaService.upsert( twitterUrlBase ) + await prisma.SocialMediaService.upsert( linkedInUrlBase ) - const linkedinUrlBase = await prisma.SocialMediaService.upsert( { - where: { name: 'LinkedIn' }, - update: { - urlbase: 'https://www.linkedin.com/in/' - }, - create: { - name: 'LinkedIn', - urlbase: 'https://www.linkedin.com/in/' + const socialMediaIds = await prisma.SocialMediaService.findMany( { + select: { + id: true } } ) + for ( let i = 0; i < fakeContacts; i++ ) { + console.info( `Generating fake contact ${ i + 1 } of ${ fakeContacts }` ) + console.log( socialMediaIds ) + await prisma.Contact.create( { + data: generateFakeContact( socialMediaIds ) + } ) + } + + + + } diff --git a/apps/web/prisma/seed/fakedata.js b/apps/web/prisma/seed/fakedata.js new file mode 100644 index 0000000..d9efad6 --- /dev/null +++ b/apps/web/prisma/seed/fakedata.js @@ -0,0 +1,88 @@ +const { faker } = require( '@faker-js/faker' ) + +const fakeInteractionCount = 15 + + +const fakeContact = () => { + return { + firstName: faker.name.firstName(), + lastName: faker.name.lastName(), + photo: faker.image.avatar(), + onTwitterList: false + } +} +const fakeEmail = ( max ) => { + const result = [] + for ( let i = 0; i < faker.mersenne.rand( 1, max ); i++ ) { + result.push( { + email: faker.internet.email(), + label: faker.helpers.arrayElement( [ 'Home', 'Work', 'Other' ] ) + } ) + } + return result +} + +const fakePhone = ( max ) => { + const result = [] + for ( let i = 0; i < faker.mersenne.rand( 1, max ); i++ ) { + result.push( { + number: faker.phone.number( '###-###-####' ), + label: faker.helpers.arrayElement( [ 'Home', 'Work', 'Mobile', 'Other' ] ) + } ) + } + return result +} +const fakeSocial = ( first, last, ids ) => { + return { + userId: faker.random.numeric( 7 ), + displayName: `${ first } ${ last }`, + username: faker.internet.userName( first, last ), + // service: { + // connect: [ { SocialMediaServiceId: faker.helpers.arrayElement( ids ).id } ] + // }, + socialMediaServiceId: faker.helpers.arrayElement( ids ).id, + protected: false, + profileImg: faker.internet.avatar() + } +} +const fakeInteraction = ( max ) => { + const result = [] + for ( let i = 0; i < faker.mersenne.rand( 1, max ); i++ ) { + result.push( { + source: faker.helpers.arrayElement( [ 'Twitter', 'LinkedIn', 'PhoneCall', 'SMS', 'Email', 'DM', 'InPerson' ] ), + time: faker.date.past(), + content: faker.lorem.sentences() + } ) + } + + return result +} + + +const generateFakeContact = ( socialMediaIds ) => { + const contact = fakeContact() + const email = fakeEmail( 3 ) + const phone = fakePhone( 3 ) + const interaction = fakeInteraction( 15 ) + + return ( { + ...contact, + socialMedia: { + create: fakeSocial( contact.firstName, contact.lastName, socialMediaIds ) + }, + associatedUserId: "62a5615ce93818b48983ac9b", + email: { + create: email + }, + phone: { + create: phone + }, + interactions: { + create: interaction + } + } ) + // console.log( result[ i ] ) +} + + +module.exports = generateFakeContact \ No newline at end of file diff --git a/apps/web/prisma/seed/socialMediaSetup.js b/apps/web/prisma/seed/socialMediaSetup.js new file mode 100644 index 0000000..3ac74e3 --- /dev/null +++ b/apps/web/prisma/seed/socialMediaSetup.js @@ -0,0 +1,23 @@ +const twitterUrlBase = { + where: { name: 'Twitter' }, + update: { + urlbase: 'https://www.twitter.com/' + }, + create: { + name: 'Twitter', + urlbase: 'https://www.twitter.com/' + } +} + +const linkedInUrlBase = { + where: { name: 'LinkedIn' }, + update: { + urlbase: 'https://www.linkedin.com/in/' + }, + create: { + name: 'LinkedIn', + urlbase: 'https://www.linkedin.com/in/' + } +} + +module.exports = { twitterUrlBase, linkedInUrlBase } diff --git a/apps/web/prisma/zod/contactemail.ts b/apps/web/prisma/zod/contactemail.ts index 9f0e0df..ef1007b 100644 --- a/apps/web/prisma/zod/contactemail.ts +++ b/apps/web/prisma/zod/contactemail.ts @@ -7,9 +7,9 @@ export const ContactEmailModel = z.object({ id: z.string(), email: z.string(), label: z.nativeEnum(EmailLabel), - contactId: z.string(), createdAt: z.date(), updatedAt: z.date(), + contactId: z.string(), }) export interface CompleteContactEmail extends z.infer { diff --git a/apps/web/prisma/zod/interactions.ts b/apps/web/prisma/zod/interactions.ts index 7918127..c806962 100644 --- a/apps/web/prisma/zod/interactions.ts +++ b/apps/web/prisma/zod/interactions.ts @@ -10,7 +10,7 @@ export const InteractionsModel = z.object({ time: z.date(), content: z.string(), extPostId: z.string().nullish(), - socialMediaServiceId: z.string(), + socialMediaServiceId: z.string().nullish(), }) export interface CompleteInteractions extends z.infer { diff --git a/apps/web/prisma/zod/socialmedia.ts b/apps/web/prisma/zod/socialmedia.ts index 90d4ff7..e50ac5c 100644 --- a/apps/web/prisma/zod/socialmedia.ts +++ b/apps/web/prisma/zod/socialmedia.ts @@ -4,7 +4,6 @@ import { CompleteContact, RelatedContactModel, CompleteSocialMediaService, Relat export const SocialMediaModel = z.object({ id: z.string(), - contactId: z.string(), userId: z.string(), displayName: z.string(), username: z.string(), @@ -12,6 +11,7 @@ export const SocialMediaModel = z.object({ profileImg: z.string().nullish(), createdAt: z.date(), updatedAt: z.date(), + contactId: z.string(), socialMediaServiceId: z.string(), }) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6aabcb1..66c04b4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -65,6 +65,7 @@ importers: apps/web: specifiers: + '@faker-js/faker': ^7.3.0 '@joekarow/eslint-config-netwerkr': workspace:^1.0.0 '@joekarow/netwerkr-config': workspace:* '@joekarow/netwerkr-lib': workspace:^1.0.0 @@ -111,6 +112,7 @@ importers: react-dom: 18.2.0_react@18.2.0 swr: 1.3.0_react@18.2.0 devDependencies: + '@faker-js/faker': 7.3.0 '@joekarow/netwerkr-config': link:../../packages/netwerkr-config '@simbathesailor/babel-plugin-use-what-changed': 2.1.0_4yskjym75au5lhowg5xeuhaexa '@simbathesailor/use-what-changed': 2.0.0_react@18.2.0 @@ -848,6 +850,11 @@ packages: transitivePeerDependencies: - supports-color + /@faker-js/faker/7.3.0: + resolution: {integrity: sha512-1W0PZezq2rxlAssoWemi9gFRD8IQxvf0FPL5Km3TOmGHFG7ib0TbFBJ0yC7D/1NsxunjNTK6WjUXV8ao/mKZ5w==} + engines: {node: '>=14.0.0', npm: '>=6.0.0'} + dev: true + /@humanwhocodes/config-array/0.9.5: resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} engines: {node: '>=10.10.0'} From c94d189ae846773f8b63a3e3634733eed76950c2 Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Mon, 20 Jun 2022 21:09:58 -0400 Subject: [PATCH 12/32] chore(web): :hammer: db schema updates user table - add in ability to disable user from signin --- apps/web/prisma/schema.prisma | 8 ++++++++ apps/web/prisma/zod/user.ts | 3 +++ 2 files changed, 11 insertions(+) diff --git a/apps/web/prisma/schema.prisma b/apps/web/prisma/schema.prisma index 82a6c3d..b21c39d 100644 --- a/apps/web/prisma/schema.prisma +++ b/apps/web/prisma/schema.prisma @@ -52,11 +52,19 @@ model User { emailVerified DateTime? image String? twitterList String? + role Role @default(USER) + disabled Boolean? accounts Account[] sessions Session[] contacts Contact[] createdAt DateTime @default(now()) updatedAt DateTime @updatedAt + +} + +enum Role { + USER + ADMIN } model Contact { diff --git a/apps/web/prisma/zod/user.ts b/apps/web/prisma/zod/user.ts index 9e1875b..c423c37 100644 --- a/apps/web/prisma/zod/user.ts +++ b/apps/web/prisma/zod/user.ts @@ -1,5 +1,6 @@ import * as z from "zod" import * as imports from "../../lib/zod-prisma" +import { Role } from "@prisma/client" import { CompleteAccount, RelatedAccountModel, CompleteSession, RelatedSessionModel, CompleteContact, RelatedContactModel } from "./index" export const UserModel = z.object({ @@ -9,6 +10,8 @@ export const UserModel = z.object({ emailVerified: z.date().nullish(), image: z.string().nullish(), twitterList: z.string().nullish(), + role: z.nativeEnum(Role), + disabled: z.boolean().nullish(), createdAt: z.date(), updatedAt: z.date(), }) From 297a333b362c6b2dfe6dfbdde01c4f0aae12ead0 Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Mon, 20 Jun 2022 21:10:54 -0400 Subject: [PATCH 13/32] refactor(web): :recycle: nextauth signin - adjusted scope for twitter login - return user id & role properties to session on signin - reject signin if user.disabled === true --- apps/web/pages/api/auth/[...nextauth].js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/apps/web/pages/api/auth/[...nextauth].js b/apps/web/pages/api/auth/[...nextauth].js index fda51d8..161f30f 100644 --- a/apps/web/pages/api/auth/[...nextauth].js +++ b/apps/web/pages/api/auth/[...nextauth].js @@ -19,6 +19,11 @@ export default NextAuth( { clientId: process.env.TWITTER_ID, clientSecret: process.env.TWITTER_SECRET, version: "2.0", + authorization: { + params: { + scope: 'tweet.read users.read list.read list.write' + } + }, } ), Auth0Provider( { clientId: process.env.AUTH0_CLIENT_ID, @@ -30,6 +35,19 @@ export default NextAuth( { maxAge: 7 * 24 * 60 * 60, // 7 days updateAge: 24 * 60 * 60 // 24 hours }, + callbacks: { + async session ( { session, user } ) { + session.user.id = user.id + session.user.role = user.role + return session + }, + async signIn ( { user, account, profile } ) { + if ( user.disabled ) return false + return true + + } + }, + debug: true, } ) From 23f6041ec6aa1841f77a5ef565de1155a3f17e5f Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Mon, 20 Jun 2022 23:26:28 -0400 Subject: [PATCH 14/32] refactor(web,lib): :recycle: move prisma client to netwerkr-lib package This is to centralize the instance if PrismaClient to prevent multiple instances from being spawned --- apps/web/package.json | 20 ++----------------- apps/web/pages/api/auth/[...nextauth].js | 4 ++-- packages/lib/package.json | 19 ++++++++++++++++-- packages/lib/prisma/index.ts | 5 +++++ .../web => packages/lib}/prisma/schema.prisma | 2 +- {apps/web => packages/lib}/prisma/seed.js | 4 ++-- .../lib}/prisma/seed/fakedata.js | 0 .../lib}/prisma/seed/socialMediaSetup.js | 0 .../lib => packages/lib/prisma}/zod-prisma.ts | 0 .../lib}/prisma/zod/account.ts | 2 +- .../lib}/prisma/zod/contact.ts | 2 +- .../lib}/prisma/zod/contactemail.ts | 2 +- .../lib}/prisma/zod/contactphone.ts | 2 +- .../lib}/prisma/zod/conversation.ts | 2 +- .../web => packages/lib}/prisma/zod/index.ts | 0 .../lib}/prisma/zod/interactions.ts | 2 +- .../lib}/prisma/zod/netwerkr.ts | 2 +- .../lib}/prisma/zod/session.ts | 2 +- .../lib}/prisma/zod/socialmedia.ts | 2 +- .../lib}/prisma/zod/socialmediaservice.ts | 2 +- {apps/web => packages/lib}/prisma/zod/user.ts | 2 +- pnpm-lock.yaml | 10 ++++++++++ 22 files changed, 50 insertions(+), 36 deletions(-) create mode 100644 packages/lib/prisma/index.ts rename {apps/web => packages/lib}/prisma/schema.prisma (99%) rename {apps/web => packages/lib}/prisma/seed.js (91%) rename {apps/web => packages/lib}/prisma/seed/fakedata.js (100%) rename {apps/web => packages/lib}/prisma/seed/socialMediaSetup.js (100%) rename {apps/web/lib => packages/lib/prisma}/zod-prisma.ts (100%) rename {apps/web => packages/lib}/prisma/zod/account.ts (95%) rename {apps/web => packages/lib}/prisma/zod/contact.ts (96%) rename {apps/web => packages/lib}/prisma/zod/contactemail.ts (94%) rename {apps/web => packages/lib}/prisma/zod/contactphone.ts (94%) rename {apps/web => packages/lib}/prisma/zod/conversation.ts (93%) rename {apps/web => packages/lib}/prisma/zod/index.ts (100%) rename {apps/web => packages/lib}/prisma/zod/interactions.ts (96%) rename {apps/web => packages/lib}/prisma/zod/netwerkr.ts (64%) rename {apps/web => packages/lib}/prisma/zod/session.ts (92%) rename {apps/web => packages/lib}/prisma/zod/socialmedia.ts (95%) rename {apps/web => packages/lib}/prisma/zod/socialmediaservice.ts (94%) rename {apps/web => packages/lib}/prisma/zod/user.ts (95%) diff --git a/apps/web/package.json b/apps/web/package.json index 3dfb9e9..8f3ef86 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -7,30 +7,18 @@ "build": "next build", "start": "next start", "lint": "next lint", - "db": "", - "db:push": "prisma db push", - "db:generate": "prisma generate", - "db:seed": "prisma db seed", - "db:studio": "prisma studio", - "test": "jest", - "postinstall": "pnpm db:generate" + "test": "jest" }, "lint-staged": { "*": "next lint" }, - "prisma": { - "seed": "node prisma/seed.js" - }, "dependencies": { "@joekarow/eslint-config-netwerkr": "workspace:^1.0.0", "@joekarow/netwerkr-lib": "workspace:^1.0.0", "@joekarow/netwerkr-ui": "workspace:*", - "@next-auth/mongodb-adapter": "^1.0.3", "@next-auth/prisma-adapter": "^1.0.3", - "@prisma/client": "^3.15.2", "axios": "^0.27.2", "dotenv": "^16.0.1", - "mongodb": "^4.7.0", "next": "^12.1.6", "next-auth": "^4.4.0", "react": "^18.1.0", @@ -38,7 +26,6 @@ "swr": "^1.3.0" }, "devDependencies": { - "@faker-js/faker": "^7.3.0", "@joekarow/netwerkr-config": "workspace:*", "@simbathesailor/babel-plugin-use-what-changed": "^2.1.0", "@simbathesailor/use-what-changed": "^2.0.0", @@ -51,9 +38,6 @@ "jest-environment-jsdom": "^28.1.1", "msw": "^0.42.1", "next-transpile-modules": "9.0.0", - "prisma": "^3.15.2", - "typescript": "^4.7.3", - "zod": "^3.17.3", - "zod-prisma": "^0.5.4" + "typescript": "^4.7.3" } } \ No newline at end of file diff --git a/apps/web/pages/api/auth/[...nextauth].js b/apps/web/pages/api/auth/[...nextauth].js index 161f30f..5bd2b29 100644 --- a/apps/web/pages/api/auth/[...nextauth].js +++ b/apps/web/pages/api/auth/[...nextauth].js @@ -2,14 +2,14 @@ import NextAuth from "next-auth" import TwitterProvider from 'next-auth/providers/twitter' import Auth0Provider from 'next-auth/providers/auth0' import { PrismaAdapter } from "@next-auth/prisma-adapter" -import { PrismaClient } from "@prisma/client" +import prisma from '@joekarow/netwerkr-lib/prisma' // For more information on each option (and a full list of options) go to // https://next-auth.js.org/configuration/options -const prisma = new PrismaClient() + export default NextAuth( { adapter: PrismaAdapter( prisma ), diff --git a/packages/lib/package.json b/packages/lib/package.json index 97518b5..1468ad8 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -5,7 +5,17 @@ "private": true, "main": "index.js", "scripts": { - "lint": "eslint . --ext .ts --ext .js" + "lint": "eslint . --ext .ts --ext .js", + "db": "", + "db:push": "prisma db push", + "db:generate": "prisma generate", + "db:seed": "prisma db seed", + "db:studio": "prisma studio", + "test": "jest", + "postinstall": "pnpm db:generate" + }, + "prisma": { + "seed": "node prisma/seed.js" }, "lint-staged": { "*.{ts,js}": "eslint" @@ -14,11 +24,16 @@ "author": "", "license": "ISC", "dependencies": { + "@prisma/client": "^3.15.2", "mongodb": "^4.7.0" }, "devDependencies": { + "@faker-js/faker": "^7.3.0", "@joekarow/eslint-config-netwerkr": "workspace:^1.0.0", "@joekarow/netwerkr-config": "workspace:^0.0.0", - "next": "^12.1.6" + "next": "^12.1.6", + "prisma": "^3.15.2", + "zod": "^3.17.3", + "zod-prisma": "^0.5.4" } } \ No newline at end of file diff --git a/packages/lib/prisma/index.ts b/packages/lib/prisma/index.ts new file mode 100644 index 0000000..107264a --- /dev/null +++ b/packages/lib/prisma/index.ts @@ -0,0 +1,5 @@ +import { PrismaClient } from '@prisma/client' + +let prisma = new PrismaClient() + +export default prisma \ No newline at end of file diff --git a/apps/web/prisma/schema.prisma b/packages/lib/prisma/schema.prisma similarity index 99% rename from apps/web/prisma/schema.prisma rename to packages/lib/prisma/schema.prisma index b21c39d..1fa5a2f 100644 --- a/apps/web/prisma/schema.prisma +++ b/packages/lib/prisma/schema.prisma @@ -5,7 +5,7 @@ generator client { generator zod { provider = "zod-prisma" output = "./zod" - imports = "../lib/zod-prisma" + imports = "./zod-prisma" } datasource db { diff --git a/apps/web/prisma/seed.js b/packages/lib/prisma/seed.js similarity index 91% rename from apps/web/prisma/seed.js rename to packages/lib/prisma/seed.js index 09dac95..1629212 100644 --- a/apps/web/prisma/seed.js +++ b/packages/lib/prisma/seed.js @@ -1,5 +1,5 @@ -const { PrismaClient } = require( '@prisma/client' ) -const prisma = new PrismaClient() + +const prisma = require( './index' ) const { twitterUrlBase, linkedInUrlBase } = require( './seed/socialMediaSetup' ) const generateFakeContact = require( './seed/fakedata' ) diff --git a/apps/web/prisma/seed/fakedata.js b/packages/lib/prisma/seed/fakedata.js similarity index 100% rename from apps/web/prisma/seed/fakedata.js rename to packages/lib/prisma/seed/fakedata.js diff --git a/apps/web/prisma/seed/socialMediaSetup.js b/packages/lib/prisma/seed/socialMediaSetup.js similarity index 100% rename from apps/web/prisma/seed/socialMediaSetup.js rename to packages/lib/prisma/seed/socialMediaSetup.js diff --git a/apps/web/lib/zod-prisma.ts b/packages/lib/prisma/zod-prisma.ts similarity index 100% rename from apps/web/lib/zod-prisma.ts rename to packages/lib/prisma/zod-prisma.ts diff --git a/apps/web/prisma/zod/account.ts b/packages/lib/prisma/zod/account.ts similarity index 95% rename from apps/web/prisma/zod/account.ts rename to packages/lib/prisma/zod/account.ts index 4b58f44..cd6bfa6 100644 --- a/apps/web/prisma/zod/account.ts +++ b/packages/lib/prisma/zod/account.ts @@ -1,5 +1,5 @@ import * as z from "zod" -import * as imports from "../../lib/zod-prisma" +import * as imports from "../zod-prisma" import { CompleteUser, RelatedUserModel } from "./index" export const AccountModel = z.object({ diff --git a/apps/web/prisma/zod/contact.ts b/packages/lib/prisma/zod/contact.ts similarity index 96% rename from apps/web/prisma/zod/contact.ts rename to packages/lib/prisma/zod/contact.ts index 31e066f..15554d0 100644 --- a/apps/web/prisma/zod/contact.ts +++ b/packages/lib/prisma/zod/contact.ts @@ -1,5 +1,5 @@ import * as z from "zod" -import * as imports from "../../lib/zod-prisma" +import * as imports from "../zod-prisma" import { CompleteContactEmail, RelatedContactEmailModel, CompleteContactPhone, RelatedContactPhoneModel, CompleteSocialMedia, RelatedSocialMediaModel, CompleteInteractions, RelatedInteractionsModel, CompleteUser, RelatedUserModel } from "./index" export const ContactModel = z.object({ diff --git a/apps/web/prisma/zod/contactemail.ts b/packages/lib/prisma/zod/contactemail.ts similarity index 94% rename from apps/web/prisma/zod/contactemail.ts rename to packages/lib/prisma/zod/contactemail.ts index ef1007b..2ea0231 100644 --- a/apps/web/prisma/zod/contactemail.ts +++ b/packages/lib/prisma/zod/contactemail.ts @@ -1,5 +1,5 @@ import * as z from "zod" -import * as imports from "../../lib/zod-prisma" +import * as imports from "../zod-prisma" import { EmailLabel } from "@prisma/client" import { CompleteContact, RelatedContactModel } from "./index" diff --git a/apps/web/prisma/zod/contactphone.ts b/packages/lib/prisma/zod/contactphone.ts similarity index 94% rename from apps/web/prisma/zod/contactphone.ts rename to packages/lib/prisma/zod/contactphone.ts index 521f397..720e003 100644 --- a/apps/web/prisma/zod/contactphone.ts +++ b/packages/lib/prisma/zod/contactphone.ts @@ -1,5 +1,5 @@ import * as z from "zod" -import * as imports from "../../lib/zod-prisma" +import * as imports from "../zod-prisma" import { PhoneLabel } from "@prisma/client" import { CompleteContact, RelatedContactModel } from "./index" diff --git a/apps/web/prisma/zod/conversation.ts b/packages/lib/prisma/zod/conversation.ts similarity index 93% rename from apps/web/prisma/zod/conversation.ts rename to packages/lib/prisma/zod/conversation.ts index 8354ee4..f72e803 100644 --- a/apps/web/prisma/zod/conversation.ts +++ b/packages/lib/prisma/zod/conversation.ts @@ -1,5 +1,5 @@ import * as z from "zod" -import * as imports from "../../lib/zod-prisma" +import * as imports from "../zod-prisma" import { CompleteInteractions, RelatedInteractionsModel } from "./index" export const ConversationModel = z.object({ diff --git a/apps/web/prisma/zod/index.ts b/packages/lib/prisma/zod/index.ts similarity index 100% rename from apps/web/prisma/zod/index.ts rename to packages/lib/prisma/zod/index.ts diff --git a/apps/web/prisma/zod/interactions.ts b/packages/lib/prisma/zod/interactions.ts similarity index 96% rename from apps/web/prisma/zod/interactions.ts rename to packages/lib/prisma/zod/interactions.ts index c806962..b294c28 100644 --- a/apps/web/prisma/zod/interactions.ts +++ b/packages/lib/prisma/zod/interactions.ts @@ -1,5 +1,5 @@ import * as z from "zod" -import * as imports from "../../lib/zod-prisma" +import * as imports from "../zod-prisma" import { InteractionSource } from "@prisma/client" import { CompleteContact, RelatedContactModel, CompleteSocialMediaService, RelatedSocialMediaServiceModel, CompleteConversation, RelatedConversationModel } from "./index" diff --git a/apps/web/prisma/zod/netwerkr.ts b/packages/lib/prisma/zod/netwerkr.ts similarity index 64% rename from apps/web/prisma/zod/netwerkr.ts rename to packages/lib/prisma/zod/netwerkr.ts index 1d186e3..05a6137 100644 --- a/apps/web/prisma/zod/netwerkr.ts +++ b/packages/lib/prisma/zod/netwerkr.ts @@ -1,5 +1,5 @@ import * as z from "zod" -import * as imports from "../../lib/zod-prisma" +import * as imports from "../zod-prisma" export const netwerkrModel = z.object({ id: z.string(), diff --git a/apps/web/prisma/zod/session.ts b/packages/lib/prisma/zod/session.ts similarity index 92% rename from apps/web/prisma/zod/session.ts rename to packages/lib/prisma/zod/session.ts index 261df11..773efdc 100644 --- a/apps/web/prisma/zod/session.ts +++ b/packages/lib/prisma/zod/session.ts @@ -1,5 +1,5 @@ import * as z from "zod" -import * as imports from "../../lib/zod-prisma" +import * as imports from "../zod-prisma" import { CompleteUser, RelatedUserModel } from "./index" export const SessionModel = z.object({ diff --git a/apps/web/prisma/zod/socialmedia.ts b/packages/lib/prisma/zod/socialmedia.ts similarity index 95% rename from apps/web/prisma/zod/socialmedia.ts rename to packages/lib/prisma/zod/socialmedia.ts index e50ac5c..206a4e9 100644 --- a/apps/web/prisma/zod/socialmedia.ts +++ b/packages/lib/prisma/zod/socialmedia.ts @@ -1,5 +1,5 @@ import * as z from "zod" -import * as imports from "../../lib/zod-prisma" +import * as imports from "../zod-prisma" import { CompleteContact, RelatedContactModel, CompleteSocialMediaService, RelatedSocialMediaServiceModel } from "./index" export const SocialMediaModel = z.object({ diff --git a/apps/web/prisma/zod/socialmediaservice.ts b/packages/lib/prisma/zod/socialmediaservice.ts similarity index 94% rename from apps/web/prisma/zod/socialmediaservice.ts rename to packages/lib/prisma/zod/socialmediaservice.ts index 691a6bf..7e4e6cf 100644 --- a/apps/web/prisma/zod/socialmediaservice.ts +++ b/packages/lib/prisma/zod/socialmediaservice.ts @@ -1,5 +1,5 @@ import * as z from "zod" -import * as imports from "../../lib/zod-prisma" +import * as imports from "../zod-prisma" import { CompleteInteractions, RelatedInteractionsModel, CompleteSocialMedia, RelatedSocialMediaModel } from "./index" export const SocialMediaServiceModel = z.object({ diff --git a/apps/web/prisma/zod/user.ts b/packages/lib/prisma/zod/user.ts similarity index 95% rename from apps/web/prisma/zod/user.ts rename to packages/lib/prisma/zod/user.ts index c423c37..b5833b9 100644 --- a/apps/web/prisma/zod/user.ts +++ b/packages/lib/prisma/zod/user.ts @@ -1,5 +1,5 @@ import * as z from "zod" -import * as imports from "../../lib/zod-prisma" +import * as imports from "../zod-prisma" import { Role } from "@prisma/client" import { CompleteAccount, RelatedAccountModel, CompleteSession, RelatedSessionModel, CompleteContact, RelatedContactModel } from "./index" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 66c04b4..d53aaf1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -152,16 +152,26 @@ importers: packages/lib: specifiers: + '@faker-js/faker': ^7.3.0 '@joekarow/eslint-config-netwerkr': workspace:^1.0.0 '@joekarow/netwerkr-config': workspace:^0.0.0 + '@prisma/client': ^3.15.2 mongodb: ^4.7.0 next: ^12.1.6 + prisma: ^3.15.2 + zod: ^3.17.3 + zod-prisma: ^0.5.4 dependencies: + '@prisma/client': 3.15.2_prisma@3.15.2 mongodb: 4.7.0 devDependencies: + '@faker-js/faker': 7.3.0 '@joekarow/eslint-config-netwerkr': link:../eslint-config-netwerkr '@joekarow/netwerkr-config': link:../netwerkr-config next: 12.1.6_biqbaboplfbrettd7655fr4n2y + prisma: 3.15.2 + zod: 3.17.3 + zod-prisma: 0.5.4_prisma@3.15.2+zod@3.17.3 packages/netwerkr-config: specifiers: From c7ce4ebb93ec6ba3c5fb179089bcf975863fe17b Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Tue, 21 Jun 2022 20:02:41 -0400 Subject: [PATCH 15/32] refactor(web): :recycle: profile page from api -> getServerSideProps --- apps/web/pages/api/profile/[uid].js | 43 ------------------------- apps/web/pages/dash/[profile]/index.jsx | 14 -------- apps/web/pages/dash/profile/[uid].jsx | 37 +++++++++++++++++++++ 3 files changed, 37 insertions(+), 57 deletions(-) delete mode 100644 apps/web/pages/api/profile/[uid].js delete mode 100644 apps/web/pages/dash/[profile]/index.jsx create mode 100644 apps/web/pages/dash/profile/[uid].jsx diff --git a/apps/web/pages/api/profile/[uid].js b/apps/web/pages/api/profile/[uid].js deleted file mode 100644 index d803ab8..0000000 --- a/apps/web/pages/api/profile/[uid].js +++ /dev/null @@ -1,43 +0,0 @@ -import { PrismaClient } from "@prisma/client"; -import { getSession } from 'next-auth/react' -import * as z from 'zod' -import { ObjectId } from "mongodb"; - -// TODO: Check if this actually returns a profile. -const validator = z.string().refine( str => ObjectId.isValid( str ) ) - -const prisma = new PrismaClient() - -const handler = async ( req, res ) => { - const { uid } = req.query - const session = await getSession( { req } ) - if ( !session ) res.status( 401 ) - - try { - - if ( req.method === "GET" ) { - const profile = await prisma.Contact.findUnique( { - where: { - id: uid - }, - select: { - firstName: true, - lastName: true, - email: true, - phone: true, - photo: true, - socialMedia: true, - interactions: true, - - } - } ) - res.send( profile ) - } - } catch ( err ) { - res.status( 400 ).send( err ) - } - - -} - -export default handler \ No newline at end of file diff --git a/apps/web/pages/dash/[profile]/index.jsx b/apps/web/pages/dash/[profile]/index.jsx deleted file mode 100644 index 757168f..0000000 --- a/apps/web/pages/dash/[profile]/index.jsx +++ /dev/null @@ -1,14 +0,0 @@ -import React from "react"; -import { useRouter } from "next/router"; - - - -export const Profile = () => { - const route = useRouter() - const uid = route.query.profile - - - - - -} \ No newline at end of file diff --git a/apps/web/pages/dash/profile/[uid].jsx b/apps/web/pages/dash/profile/[uid].jsx new file mode 100644 index 0000000..51a4a5e --- /dev/null +++ b/apps/web/pages/dash/profile/[uid].jsx @@ -0,0 +1,37 @@ +import React from "react"; +import { getContact } from '@joekarow/netwerkr-lib/db' +import { DashLayout } from '@joekarow/netwerkr-ui/layout' + + + +const Profile = ( props ) => { + const { data } = props + console.log( data ) + return ( + <> + { JSON.stringify( data ) } + + ) + + + + +} +Profile.getLayout = ( page ) => { + return ( + + { page } + + ) +} + +export const getServerSideProps = async ( { params } ) => { + const data = await getContact( params.uid ) + + if ( !data ) return { notFound: true } + + return { + props: { data } + } +} +export default Profile From 4b71390d40e110f38dbdb9a9d0ad96cc798c4b54 Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Tue, 21 Jun 2022 20:04:10 -0400 Subject: [PATCH 16/32] chore(lib): :hammer: index file generation --- packages/lib/db/index.js | 3 +++ packages/lib/package.json | 1 + 2 files changed, 4 insertions(+) create mode 100644 packages/lib/db/index.js diff --git a/packages/lib/db/index.js b/packages/lib/db/index.js new file mode 100644 index 0000000..8d8b54a --- /dev/null +++ b/packages/lib/db/index.js @@ -0,0 +1,3 @@ +// @index('./**/*.{js*,(ts* && !d.*)}', f => `export * from '${f.path}'`) +export * from './convertDateTime' +export * from './getContact' diff --git a/packages/lib/package.json b/packages/lib/package.json index 1468ad8..232614b 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -11,6 +11,7 @@ "db:generate": "prisma generate", "db:seed": "prisma db seed", "db:studio": "prisma studio", + "dev": "vscode-generate-index-standalone ./{**,!node_modules}/*.{js*,ts*} -w ./{**,!node_modules}/", "test": "jest", "postinstall": "pnpm db:generate" }, From a513f4e00657d9262e89daec118f304175cba28a Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Tue, 21 Jun 2022 20:04:57 -0400 Subject: [PATCH 17/32] feat(lib): :sparkles: prisma data transformation prisma returns dates as objects, which Next does not like This helper function converts given object keys to strings --- packages/lib/db/convertDateTime.js | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 packages/lib/db/convertDateTime.js diff --git a/packages/lib/db/convertDateTime.js b/packages/lib/db/convertDateTime.js new file mode 100644 index 0000000..d398353 --- /dev/null +++ b/packages/lib/db/convertDateTime.js @@ -0,0 +1,9 @@ +const convertDateTime = ( data, [ ...keys ] ) => { + const convertedData = keys.forEach( key => { + data[ key ] = data[ key ].toString() + } ) + + return data +} + +export { convertDateTime } \ No newline at end of file From 9f90de071668ab3ce9fa23e2acaf4294d35c1f33 Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Tue, 21 Jun 2022 20:07:23 -0400 Subject: [PATCH 18/32] refactor(ui): :recycle: removed some prop drilling for session params This should be okay - useSession hook shouldn't cause any additional renders --- packages/ui/components/UserButton.tsx | 155 +++++++++++++------------- packages/ui/layout/dash.jsx | 4 +- packages/ui/section/HeaderUser.tsx | 4 +- 3 files changed, 83 insertions(+), 80 deletions(-) diff --git a/packages/ui/components/UserButton.tsx b/packages/ui/components/UserButton.tsx index a866cea..99de9d4 100644 --- a/packages/ui/components/UserButton.tsx +++ b/packages/ui/components/UserButton.tsx @@ -1,13 +1,13 @@ -import React, {useState} from 'react'; +import React, { useState } from 'react'; import { UnstyledButton, Group, Avatar, Text, createStyles, - Menu, - Divider + Menu } from '@mantine/core'; +import { NextLink } from '@mantine/next' import { Logout, Heart, @@ -17,35 +17,37 @@ import { SwitchHorizontal, ChevronDown, } from 'tabler-icons-react'; -import {useSession} from 'next-auth/react' -import {useProviders} from '../hooks' +import { useSession } from 'next-auth/react' +import { useProviders } from '../hooks' import { signIn, signOut } from 'next-auth/react'; +import { randomId } from '@mantine/hooks'; + //TODO: Change menu items -const useStyles = createStyles( ( theme ) => ( { - userMenu: { +const useStyles = createStyles((theme) => ({ + userMenu: { // [ theme.fn.smallerThan( 'xs' ) ]: { // display: 'none', // }, }, user: { - color: theme.colorScheme === 'dark' ? theme.colors.dark[ 0 ] : theme.black, - padding: `${ theme.spacing.xs }px ${ theme.spacing.sm }px`, + color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black, + padding: `${theme.spacing.xs}px ${theme.spacing.sm}px`, borderRadius: theme.radius.sm, transition: 'background-color 100ms ease', '&:hover': { - backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[ 8 ] : theme.white, + backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[8] : theme.white, }, }, - userActive: { - backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[ 8 ] : theme.white, + userActive: { + backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[8] : theme.white, }, -} ) ); +})); export interface UserButton { @@ -60,78 +62,81 @@ interface LoginProvider { icon: JSX.Element } -export function UserButton ( { user }: UserButton ) { +export function UserButton() { const { classes, cx, theme } = useStyles(); - const [ userMenuOpened, setUserMenuOpened ] = useState( false ); - const {data: session, status } = useSession() - const loginProviders = useProviders().map((provider: LoginProvider) => ( - signIn(provider.name.toLowerCase())}> + const [userMenuOpened, setUserMenuOpened] = useState(false); + const { data: session, status } = useSession() + const loginCallback = { callbackUrl: '/dash' } + const loginProviders = useProviders().map((provider: LoginProvider) => { + const randId = randomId() + return ( signIn(provider.name.toLowerCase(), loginCallback)}> {provider.name} - )) + ) + }) if (status !== 'authenticated') { return ( - setUserMenuOpened( false ) } - onOpen={ () => setUserMenuOpened( true ) } - control={ - - - - Log In - - - - - } + setUserMenuOpened(false)} + onOpen={() => setUserMenuOpened(true)} + control={ + - {loginProviders} - + + + Log In + + + + + } + > + {loginProviders} + ) } return ( - setUserMenuOpened( false ) } - onOpen={ () => setUserMenuOpened( true ) } - control={ - - - - - { session.user.name } - - - - - } - > - }> - Liked posts - - }> - Saved posts - - }> - Your comments - + setUserMenuOpened(false)} + onOpen={() => setUserMenuOpened(true)} + control={ + + + + + {session.user.name} + + + + + } + > + }> + Liked posts + + }> + Saved posts + + }> + Your comments + - Settings - }>Account settings - }>Change account - } onClick={() => signOut()}>Logout + Settings + }>Account settings + }>Change account + } onClick={() => signOut()}>Logout - + ); } \ No newline at end of file diff --git a/packages/ui/layout/dash.jsx b/packages/ui/layout/dash.jsx index 988311e..98a566b 100644 --- a/packages/ui/layout/dash.jsx +++ b/packages/ui/layout/dash.jsx @@ -1,14 +1,12 @@ import React from 'react' import { NavbarNested, HeaderUser } from '../section' -import { links } from './navLinks' import { AppShell, Container } from '@mantine/core' -import { user } from '../mockdata' export const DashLayout = ( { children } ) => { return ( } + header={ } navbar={ } > diff --git a/packages/ui/section/HeaderUser.tsx b/packages/ui/section/HeaderUser.tsx index 9034ffb..08149c0 100644 --- a/packages/ui/section/HeaderUser.tsx +++ b/packages/ui/section/HeaderUser.tsx @@ -69,7 +69,7 @@ interface HeaderProps { user: { name: string; image: string }; } -export function HeaderUser ( { user }: HeaderProps ) { +export function HeaderUser () { const { classes, theme, cx } = useStyles(); // const [ opened, toggleOpened ] = useBooleanToggle( false ); const [ userMenuOpened, setUserMenuOpened ] = useState( false ); @@ -80,7 +80,7 @@ export function HeaderUser ( { user }: HeaderProps ) {

netwerkr

- +
From dc9a6578c1ae981b11a524afd34865b349de8365 Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Tue, 21 Jun 2022 20:10:28 -0400 Subject: [PATCH 19/32] feat(lib): :sparkles: getter - basic contact info --- packages/lib/db/getContact.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 packages/lib/db/getContact.js diff --git a/packages/lib/db/getContact.js b/packages/lib/db/getContact.js new file mode 100644 index 0000000..e1cdc03 --- /dev/null +++ b/packages/lib/db/getContact.js @@ -0,0 +1,16 @@ +import prisma from '../prisma' +import { convertDateTime } from './' + + +const getContact = async ( uid ) => { + const data = await prisma.Contact.findUnique( { + where: { + id: uid + } + } ) + + console.log( data ) + return convertDateTime( data, [ 'createdAt', 'updatedAt' ] ) +} + +export { getContact } \ No newline at end of file From 41f9a75652167098a96431a0c575fac75108334c Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Tue, 21 Jun 2022 22:09:36 -0400 Subject: [PATCH 20/32] chore(global): :hammer: stop yelling, eslint. You can find next/babel! --- packages/eslint-config-netwerkr/package.json | 2 + packages/netwerkr-config/eslint/index.js | 2 +- packages/ui/babel.config.js | 20 +++++ packages/ui/package.json | 1 + pnpm-lock.yaml | 80 ++++++++++++++++++-- 5 files changed, 98 insertions(+), 7 deletions(-) create mode 100644 packages/ui/babel.config.js diff --git a/packages/eslint-config-netwerkr/package.json b/packages/eslint-config-netwerkr/package.json index f40dc41..102bdf5 100644 --- a/packages/eslint-config-netwerkr/package.json +++ b/packages/eslint-config-netwerkr/package.json @@ -11,9 +11,11 @@ "@joekarow/netwerkr-config": "workspace:^0.0.0" }, "devDependencies": { + "@babel/core": "^7.18.5", "@next/eslint-plugin-next": "^12.1.6", "eslint": "^8.17.0", "eslint-config-next": "^12.1.6", + "eslint-plugin-next": "^0.0.0", "next": "^12.1.6", "typescript": "^4.7.3" } diff --git a/packages/netwerkr-config/eslint/index.js b/packages/netwerkr-config/eslint/index.js index 2983bdc..68311e1 100644 --- a/packages/netwerkr-config/eslint/index.js +++ b/packages/netwerkr-config/eslint/index.js @@ -1,5 +1,5 @@ module.exports = { - extends: [ "next", "prettier" ], + extends: [ "prettier", "next" ], rules: { "@next/next/no-html-link-for-pages": "off", "react/jsx-key": "off", diff --git a/packages/ui/babel.config.js b/packages/ui/babel.config.js new file mode 100644 index 0000000..35329bd --- /dev/null +++ b/packages/ui/babel.config.js @@ -0,0 +1,20 @@ +module.exports = function ( api ) { + api.cache( true ); + + const presets = [ + "next/babel" + ]; + const plugins = [ + // [ + // "@simbathesailor/babel-plugin-use-what-changed", + // { + // active: process.env.NODE_ENV === "development", // boolean + // }, + // ], + ]; + + return { + presets, + plugins, + }; +}; \ No newline at end of file diff --git a/packages/ui/package.json b/packages/ui/package.json index bc89033..bc407d8 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -22,6 +22,7 @@ "eslint": "^8.17.0", "jest": "^28.1.1", "jest-environment-jsdom": "^28.1.1", + "next": "^12.1.6", "react": "^18.1.0", "react-dom": "^18.1.0", "typescript": "^4.7.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d53aaf1..37b49c1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,6 +15,9 @@ importers: '@joekarow/netwerkr-config': workspace:^0.0.0 commitizen: ^4.2.4 cz-git: ^1.3.5 + eslint: ^8.18.0 + eslint-plugin-import: ^2.26.0 + eslint-plugin-next: ^0.0.0 husky: ^8.0.1 lint-staged: ^13.0.2 prettier: latest @@ -30,6 +33,9 @@ importers: '@joekarow/netwerkr-config': link:packages/netwerkr-config commitizen: 4.2.4 cz-git: 1.3.5 + eslint: 8.18.0 + eslint-plugin-import: 2.26.0_eslint@8.18.0 + eslint-plugin-next: 0.0.0 husky: 8.0.1 lint-staged: 13.0.2 prettier: 2.7.1 @@ -135,19 +141,23 @@ importers: packages/eslint-config-netwerkr: specifiers: + '@babel/core': ^7.18.5 '@joekarow/netwerkr-config': workspace:^0.0.0 '@next/eslint-plugin-next': ^12.1.6 eslint: ^8.17.0 eslint-config-next: ^12.1.6 + eslint-plugin-next: ^0.0.0 next: ^12.1.6 typescript: ^4.7.3 dependencies: '@joekarow/netwerkr-config': link:../netwerkr-config devDependencies: + '@babel/core': 7.18.5 '@next/eslint-plugin-next': 12.1.6 eslint: 8.17.0 eslint-config-next: 12.1.6_qwqcuvhue6diaz4jqbkm5dp3pa - next: 12.1.6_biqbaboplfbrettd7655fr4n2y + eslint-plugin-next: 0.0.0 + next: 12.1.6_4cc5zw5azim2bix77d63le72su typescript: 4.7.3 packages/lib: @@ -218,6 +228,7 @@ importers: eslint: ^8.17.0 jest: ^28.1.1 jest-environment-jsdom: ^28.1.1 + next: ^12.1.6 next-auth: ^4.4.0 react: ^18.1.0 react-dom: ^18.1.0 @@ -252,6 +263,7 @@ importers: eslint: 8.17.0 jest: 28.1.1 jest-environment-jsdom: 28.1.1 + next: 12.1.6_4cc5zw5azim2bix77d63le72su react: 18.2.0 react-dom: 18.2.0_react@18.2.0 typescript: 4.7.3 @@ -2973,7 +2985,7 @@ packages: supports-color: optional: true dependencies: - ms: 2.1.2 + ms: 2.1.3 /debug/4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} @@ -3292,7 +3304,7 @@ packages: eslint-plugin-jsx-a11y: 6.5.1_eslint@8.17.0 eslint-plugin-react: 7.30.0_eslint@8.17.0 eslint-plugin-react-hooks: 4.5.0_eslint@8.17.0 - next: 12.1.6_biqbaboplfbrettd7655fr4n2y + next: 12.1.6_4cc5zw5azim2bix77d63le72su typescript: 4.7.3 transitivePeerDependencies: - eslint-import-resolver-webpack @@ -3358,6 +3370,61 @@ packages: transitivePeerDependencies: - supports-color + /eslint-module-utils/2.7.3_ulu2225r2ychl26a37c6o2rfje: + resolution: {integrity: sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + debug: 3.2.7 + eslint-import-resolver-node: 0.3.6 + find-up: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-import/2.26.0_eslint@8.18.0: + resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + array-includes: 3.1.5 + array.prototype.flat: 1.3.0 + debug: 2.6.9 + doctrine: 2.1.0 + eslint: 8.18.0 + eslint-import-resolver-node: 0.3.6 + eslint-module-utils: 2.7.3_ulu2225r2ychl26a37c6o2rfje + has: 1.0.3 + is-core-module: 2.9.0 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.values: 1.1.5 + resolve: 1.22.0 + tsconfig-paths: 3.14.1 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + /eslint-plugin-import/2.26.0_sjsolishy5r5hg73i5w4jemvma: resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} engines: {node: '>=4'} @@ -3408,6 +3475,10 @@ packages: language-tags: 1.0.5 minimatch: 3.1.2 + /eslint-plugin-next/0.0.0: + resolution: {integrity: sha512-IldNDVb6WNduggwRbYzSGZhaskUwVecJ6fhmqwX01+S1aohwAWNzU4me6y47DDzpD/g0fdayNBGxEdt9vKkUtg==} + dev: true + /eslint-plugin-react-hooks/4.5.0_eslint@8.17.0: resolution: {integrity: sha512-8k1gRt7D7h03kd+SAAlzXkQwWK22BnK6GKZG+FJA6BAGy22CFvl8kCIXKpVux0cCxMWDQUPqSok0LKaZ0aOcCw==} engines: {node: '>=10'} @@ -5520,7 +5591,6 @@ packages: /ms/2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true /msw/0.42.1_typescript@4.7.3: resolution: {integrity: sha512-LZZuz7VddL45gCBgfBWHyXj6a4W7OTJY0mZPoipJ3P/xwbuJwrtwB3IJrWlqBM8aink/eTKlRxwzmtIAwCj5yQ==} @@ -5653,7 +5723,6 @@ packages: transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - dev: false /next/12.1.6_biqbaboplfbrettd7655fr4n2y: resolution: {integrity: sha512-cebwKxL3/DhNKfg9tPZDQmbRKjueqykHHbgaoG4VBRH3AHQJ2HO0dbKFiS1hPhe1/qgc2d/hFeadsbPicmLD+A==} @@ -6878,7 +6947,6 @@ packages: dependencies: '@babel/core': 7.18.5 react: 18.2.0 - dev: false /styled-jsx/5.0.2_react@18.2.0: resolution: {integrity: sha512-LqPQrbBh3egD57NBcHET4qcgshPks+yblyhPlH2GY8oaDgKs8SK4C3dBh3oSJjgzJ3G5t1SYEZGHkP+QEpX9EQ==} From 21fd3556c6fa126341e7425f119a49ba75e4d370 Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Wed, 22 Jun 2022 01:17:47 -0400 Subject: [PATCH 21/32] chore(global): :hammer: added: luxon; cross-installed other deps --- package.json | 3 +++ packages/lib/package.json | 2 ++ packages/ui/package.json | 4 +++- pnpm-lock.yaml | 13 +++++++++++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 4dc2147..280960c 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,9 @@ "@joekarow/netwerkr-config": "workspace:^0.0.0", "commitizen": "^4.2.4", "cz-git": "^1.3.5", + "eslint": "^8.18.0", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-next": "^0.0.0", "husky": "^8.0.1", "lint-staged": "^13.0.2", "prettier": "latest", diff --git a/packages/lib/package.json b/packages/lib/package.json index 232614b..02c6497 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -32,8 +32,10 @@ "@faker-js/faker": "^7.3.0", "@joekarow/eslint-config-netwerkr": "workspace:^1.0.0", "@joekarow/netwerkr-config": "workspace:^0.0.0", + "luxon": "^2.4.0", "next": "^12.1.6", "prisma": "^3.15.2", + "vscode-generate-index-standalone": "^1.6.0", "zod": "^3.17.3", "zod-prisma": "^0.5.4" } diff --git a/packages/ui/package.json b/packages/ui/package.json index bc407d8..90bc097 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -14,6 +14,7 @@ }, "devDependencies": { "@joekarow/netwerkr-config": "workspace:*", + "@joekarow/netwerkr-lib": "workspace:^1.0.0", "@testing-library/jest-dom": "^5.16.4", "@testing-library/react": "^13.3.0", "@types/jest": "^28.1.1", @@ -26,7 +27,8 @@ "react": "^18.1.0", "react-dom": "^18.1.0", "typescript": "^4.7.3", - "vscode-generate-index-standalone": "^1.6.0" + "vscode-generate-index-standalone": "^1.6.0", + "zod": "^3.17.3" }, "dependencies": { "@joekarow/eslint-config-netwerkr": "workspace:^1.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 37b49c1..9135630 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -166,9 +166,11 @@ importers: '@joekarow/eslint-config-netwerkr': workspace:^1.0.0 '@joekarow/netwerkr-config': workspace:^0.0.0 '@prisma/client': ^3.15.2 + luxon: ^2.4.0 mongodb: ^4.7.0 next: ^12.1.6 prisma: ^3.15.2 + vscode-generate-index-standalone: ^1.6.0 zod: ^3.17.3 zod-prisma: ^0.5.4 dependencies: @@ -178,8 +180,10 @@ importers: '@faker-js/faker': 7.3.0 '@joekarow/eslint-config-netwerkr': link:../eslint-config-netwerkr '@joekarow/netwerkr-config': link:../netwerkr-config + luxon: 2.4.0 next: 12.1.6_biqbaboplfbrettd7655fr4n2y prisma: 3.15.2 + vscode-generate-index-standalone: 1.6.0 zod: 3.17.3 zod-prisma: 0.5.4_prisma@3.15.2+zod@3.17.3 @@ -208,6 +212,7 @@ importers: specifiers: '@joekarow/eslint-config-netwerkr': workspace:^1.0.0 '@joekarow/netwerkr-config': workspace:* + '@joekarow/netwerkr-lib': workspace:^1.0.0 '@mantine/core': ^4.2.8 '@mantine/dates': ^4.2.8 '@mantine/dropzone': ^4.2.8 @@ -236,6 +241,7 @@ importers: tabler-icons-react: ^1.49.0 typescript: ^4.7.3 vscode-generate-index-standalone: ^1.6.0 + zod: ^3.17.3 dependencies: '@joekarow/eslint-config-netwerkr': link:../eslint-config-netwerkr '@mantine/core': 4.2.9_k5qmd4pret6g27b3vdtxxoxgem @@ -255,6 +261,7 @@ importers: tabler-icons-react: 1.49.0_react@18.2.0 devDependencies: '@joekarow/netwerkr-config': link:../netwerkr-config + '@joekarow/netwerkr-lib': link:../lib '@testing-library/jest-dom': 5.16.4 '@testing-library/react': 13.3.0_biqbaboplfbrettd7655fr4n2y '@types/jest': 28.1.1 @@ -268,6 +275,7 @@ importers: react-dom: 18.2.0_react@18.2.0 typescript: 4.7.3 vscode-generate-index-standalone: 1.6.0 + zod: 3.17.3 packages: @@ -5438,6 +5446,11 @@ packages: dependencies: yallist: 4.0.0 + /luxon/2.4.0: + resolution: {integrity: sha512-w+NAwWOUL5hO0SgwOHsMBAmZ15SoknmQXhSO0hIbJCAmPKSsGeK8MlmhYh2w6Iib38IxN2M+/ooXWLbeis7GuA==} + engines: {node: '>=12'} + dev: true + /lz-string/1.4.4: resolution: {integrity: sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==} hasBin: true From ed38f4866aee57f19fe11bdf288a6dba0a388f28 Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Wed, 22 Jun 2022 01:20:09 -0400 Subject: [PATCH 22/32] chore(lib): :hammer: schema updates - relation/optional fields --- packages/lib/prisma/schema.prisma | 43 ++++++++++++++----------- packages/lib/prisma/zod/account.ts | 4 +-- packages/lib/prisma/zod/contact.ts | 6 ++-- packages/lib/prisma/zod/contactemail.ts | 5 +-- packages/lib/prisma/zod/contactphone.ts | 5 +-- packages/lib/prisma/zod/interactions.ts | 2 ++ packages/lib/prisma/zod/socialmedia.ts | 4 +-- packages/lib/prisma/zod/user.ts | 7 ++-- 8 files changed, 46 insertions(+), 30 deletions(-) diff --git a/packages/lib/prisma/schema.prisma b/packages/lib/prisma/schema.prisma index 1fa5a2f..a3fdcc8 100644 --- a/packages/lib/prisma/schema.prisma +++ b/packages/lib/prisma/schema.prisma @@ -18,8 +18,8 @@ model netwerkr { } model Account { - id String @id @default(auto()) @map("_id") @db.ObjectId - userId String @db.ObjectId + id String @id @default(auto()) @map("_id") @db.ObjectId + userId String @db.ObjectId type String provider String providerAccountId String @@ -30,9 +30,9 @@ model Account { scope String? id_token String? session_state String? - user User @relation(fields: [userId], references: [id], onDelete: Cascade) - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt + user User @relation(fields: [userId], references: [id], onDelete: Cascade) + createdAt DateTime? @default(now()) + updatedAt DateTime? @updatedAt @@unique([provider, providerAccountId]) } @@ -56,9 +56,11 @@ model User { disabled Boolean? accounts Account[] sessions Session[] - contacts Contact[] - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt + contacts Contact[] @relation("contactCollection") + profile Contact? @relation("userProfile", fields: [profileId], references: [id], onDelete: NoAction, onUpdate: NoAction) + profileId String? @unique @db.ObjectId + createdAt DateTime? @default(now()) + updatedAt DateTime? @updatedAt } @@ -78,19 +80,21 @@ model Contact { interactions Interactions[] onTwitterList Boolean - associatedUser User @relation(fields: [associatedUserId], references: [id], onDelete: Cascade) - associatedUserId String @db.ObjectId - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt + associatedUser User @relation("contactCollection", fields: [associatedUserId], references: [id], onDelete: Cascade) + associatedUserId String @db.ObjectId + profileForUser User? @relation("userProfile") + createdAt DateTime? @default(now()) + updatedAt DateTime? @updatedAt } model ContactEmail { id String @id @default(auto()) @map("_id") @db.ObjectId email String + primary Boolean? label EmailLabel @default(Home) contact Contact @relation(fields: [contactId], references: [id], onDelete: Cascade, onUpdate: Cascade) - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt + createdAt DateTime? @default(now()) + updatedAt DateTime? @updatedAt contactId String @db.ObjectId @@unique([email, contactId]) @@ -106,10 +110,11 @@ model ContactPhone { id String @id @default(auto()) @map("_id") @db.ObjectId number String label PhoneLabel + primary Boolean? contact Contact @relation(fields: [contactId], references: [id], onDelete: Cascade, onUpdate: Cascade) contactId String @db.ObjectId - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt + createdAt DateTime? @default(now()) + updatedAt DateTime? @updatedAt } enum PhoneLabel { @@ -128,8 +133,8 @@ model SocialMedia { username String protected Boolean profileImg String? - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt + createdAt DateTime? @default(now()) + updatedAt DateTime? @updatedAt contactId String @db.ObjectId @@ -156,6 +161,8 @@ model Interactions { content String extPostId String? conversationId Conversation[] + createdAt DateTime? @default(now()) + updatedAt DateTime? @updatedAt socialMediaServiceId String? @db.ObjectId } diff --git a/packages/lib/prisma/zod/account.ts b/packages/lib/prisma/zod/account.ts index cd6bfa6..d3cfcc6 100644 --- a/packages/lib/prisma/zod/account.ts +++ b/packages/lib/prisma/zod/account.ts @@ -15,8 +15,8 @@ export const AccountModel = z.object({ scope: z.string().nullish(), id_token: z.string().nullish(), session_state: z.string().nullish(), - createdAt: z.date(), - updatedAt: z.date(), + createdAt: z.date().nullish(), + updatedAt: z.date().nullish(), }) export interface CompleteAccount extends z.infer { diff --git a/packages/lib/prisma/zod/contact.ts b/packages/lib/prisma/zod/contact.ts index 15554d0..03e0626 100644 --- a/packages/lib/prisma/zod/contact.ts +++ b/packages/lib/prisma/zod/contact.ts @@ -9,8 +9,8 @@ export const ContactModel = z.object({ photo: z.string(), onTwitterList: z.boolean(), associatedUserId: z.string(), - createdAt: z.date(), - updatedAt: z.date(), + createdAt: z.date().nullish(), + updatedAt: z.date().nullish(), }) export interface CompleteContact extends z.infer { @@ -19,6 +19,7 @@ export interface CompleteContact extends z.infer { socialMedia: CompleteSocialMedia[] interactions: CompleteInteractions[] associatedUser: CompleteUser + profileForUser?: CompleteUser | null } /** @@ -32,4 +33,5 @@ export const RelatedContactModel: z.ZodSchema = z.lazy(() => Co socialMedia: RelatedSocialMediaModel.array(), interactions: RelatedInteractionsModel.array(), associatedUser: RelatedUserModel, + profileForUser: RelatedUserModel.nullish(), })) diff --git a/packages/lib/prisma/zod/contactemail.ts b/packages/lib/prisma/zod/contactemail.ts index 2ea0231..8c227a9 100644 --- a/packages/lib/prisma/zod/contactemail.ts +++ b/packages/lib/prisma/zod/contactemail.ts @@ -6,9 +6,10 @@ import { CompleteContact, RelatedContactModel } from "./index" export const ContactEmailModel = z.object({ id: z.string(), email: z.string(), + primary: z.boolean().nullish(), label: z.nativeEnum(EmailLabel), - createdAt: z.date(), - updatedAt: z.date(), + createdAt: z.date().nullish(), + updatedAt: z.date().nullish(), contactId: z.string(), }) diff --git a/packages/lib/prisma/zod/contactphone.ts b/packages/lib/prisma/zod/contactphone.ts index 720e003..d3b584a 100644 --- a/packages/lib/prisma/zod/contactphone.ts +++ b/packages/lib/prisma/zod/contactphone.ts @@ -7,9 +7,10 @@ export const ContactPhoneModel = z.object({ id: z.string(), number: z.string(), label: z.nativeEnum(PhoneLabel), + primary: z.boolean().nullish(), contactId: z.string(), - createdAt: z.date(), - updatedAt: z.date(), + createdAt: z.date().nullish(), + updatedAt: z.date().nullish(), }) export interface CompleteContactPhone extends z.infer { diff --git a/packages/lib/prisma/zod/interactions.ts b/packages/lib/prisma/zod/interactions.ts index b294c28..691bee7 100644 --- a/packages/lib/prisma/zod/interactions.ts +++ b/packages/lib/prisma/zod/interactions.ts @@ -10,6 +10,8 @@ export const InteractionsModel = z.object({ time: z.date(), content: z.string(), extPostId: z.string().nullish(), + createdAt: z.date().nullish(), + updatedAt: z.date().nullish(), socialMediaServiceId: z.string().nullish(), }) diff --git a/packages/lib/prisma/zod/socialmedia.ts b/packages/lib/prisma/zod/socialmedia.ts index 206a4e9..2cb5693 100644 --- a/packages/lib/prisma/zod/socialmedia.ts +++ b/packages/lib/prisma/zod/socialmedia.ts @@ -9,8 +9,8 @@ export const SocialMediaModel = z.object({ username: z.string(), protected: z.boolean(), profileImg: z.string().nullish(), - createdAt: z.date(), - updatedAt: z.date(), + createdAt: z.date().nullish(), + updatedAt: z.date().nullish(), contactId: z.string(), socialMediaServiceId: z.string(), }) diff --git a/packages/lib/prisma/zod/user.ts b/packages/lib/prisma/zod/user.ts index b5833b9..7e15b7a 100644 --- a/packages/lib/prisma/zod/user.ts +++ b/packages/lib/prisma/zod/user.ts @@ -12,14 +12,16 @@ export const UserModel = z.object({ twitterList: z.string().nullish(), role: z.nativeEnum(Role), disabled: z.boolean().nullish(), - createdAt: z.date(), - updatedAt: z.date(), + profileId: z.string().nullish(), + createdAt: z.date().nullish(), + updatedAt: z.date().nullish(), }) export interface CompleteUser extends z.infer { accounts: CompleteAccount[] sessions: CompleteSession[] contacts: CompleteContact[] + profile?: CompleteContact | null } /** @@ -31,4 +33,5 @@ export const RelatedUserModel: z.ZodSchema = z.lazy(() => UserMode accounts: RelatedAccountModel.array(), sessions: RelatedSessionModel.array(), contacts: RelatedContactModel.array(), + profile: RelatedContactModel.nullish(), })) From 87c8f5d180230b95a049c51f2acb4c4d10252878 Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Wed, 22 Jun 2022 01:21:05 -0400 Subject: [PATCH 23/32] feat(ui): :sparkles: janky devtools - json viewer component --- packages/ui/devtools.js | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 packages/ui/devtools.js diff --git a/packages/ui/devtools.js b/packages/ui/devtools.js new file mode 100644 index 0000000..2c9153c --- /dev/null +++ b/packages/ui/devtools.js @@ -0,0 +1,9 @@ +import { Container, Text } from "@mantine/core" + +export const JsonView = ( data ) => { + return ( + + { JSON.stringify( data, null, 2 ) } + + ) +} \ No newline at end of file From da4c1b3fd1ec9ffae817c79807befc03cee955d7 Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Wed, 22 Jun 2022 01:22:21 -0400 Subject: [PATCH 24/32] refactor(lib): :recycle: contact getter & DateTime -> string converter --- packages/lib/db/convertDateTime.js | 30 ++++++++++++++++++++++++++---- packages/lib/db/getContact.js | 18 ++++++++++++++++-- 2 files changed, 42 insertions(+), 6 deletions(-) diff --git a/packages/lib/db/convertDateTime.js b/packages/lib/db/convertDateTime.js index d398353..a514481 100644 --- a/packages/lib/db/convertDateTime.js +++ b/packages/lib/db/convertDateTime.js @@ -1,8 +1,30 @@ -const convertDateTime = ( data, [ ...keys ] ) => { - const convertedData = keys.forEach( key => { - data[ key ] = data[ key ].toString() - } ) +import { DateTime as dt } from 'luxon' +const convertDateTime = ( data, [ ...keysToReplace ] ) => { + try { + // keys.forEach( key => { + // data[ key ] = data[ key ].toString() + // } ) + + const seeker = ( obj ) => { + Object.keys( obj ).forEach( key => { + if ( keysToReplace.includes( key ) ) { + if ( obj[ key ] ) { + // obj[ key ] = obj[ key ].toString() + obj[ key ] = dt.fromJSDate( obj[ key ] ).toUTC().toISO() + } + } + if ( typeof obj[ key ] === 'object' && obj[ key ] !== null ) { + seeker( obj[ key ] ) + } + } ) + } + seeker( data ) + + } catch ( err ) { + throw new Error( err ) + } + // console.log( data ) return data } diff --git a/packages/lib/db/getContact.js b/packages/lib/db/getContact.js index e1cdc03..d32b768 100644 --- a/packages/lib/db/getContact.js +++ b/packages/lib/db/getContact.js @@ -6,11 +6,25 @@ const getContact = async ( uid ) => { const data = await prisma.Contact.findUnique( { where: { id: uid + }, + include: { + email: true, + phone: true, + interactions: { + include: { + conversationId: true, + sourceSocial: { + select: { name: true } + } + + + } + } } } ) - console.log( data ) - return convertDateTime( data, [ 'createdAt', 'updatedAt' ] ) + // console.log( typeof data.createdAt ) + return convertDateTime( data, [ 'createdAt', 'updatedAt', 'time' ] ) } export { getContact } \ No newline at end of file From ea731ee236781f1d8f037c5df4fd6b364099a88c Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Wed, 22 Jun 2022 01:23:45 -0400 Subject: [PATCH 25/32] feat(ui): :sparkles: start of contact profile display --- apps/web/pages/dash/profile/[uid].jsx | 9 ++++---- packages/ui/components/ContactInfo.tsx | 28 +++++++++++++++++++++++++ packages/ui/components/index.ts | 1 + packages/ui/section/ProfileGrid.jsx | 29 ++++++++++++++++++++++++++ packages/ui/section/index.js | 1 + 5 files changed, 64 insertions(+), 4 deletions(-) create mode 100644 packages/ui/components/ContactInfo.tsx create mode 100644 packages/ui/section/ProfileGrid.jsx diff --git a/apps/web/pages/dash/profile/[uid].jsx b/apps/web/pages/dash/profile/[uid].jsx index 51a4a5e..b10473c 100644 --- a/apps/web/pages/dash/profile/[uid].jsx +++ b/apps/web/pages/dash/profile/[uid].jsx @@ -1,15 +1,16 @@ import React from "react"; import { getContact } from '@joekarow/netwerkr-lib/db' import { DashLayout } from '@joekarow/netwerkr-ui/layout' - - +import { ProfileGrid } from '@joekarow/netwerkr-ui/section' +import { JsonView } from '@joekarow/netwerkr-ui/devtools' const Profile = ( props ) => { const { data } = props - console.log( data ) + // console.log( data ) return ( <> - { JSON.stringify( data ) } + + ) diff --git a/packages/ui/components/ContactInfo.tsx b/packages/ui/components/ContactInfo.tsx new file mode 100644 index 0000000..585023b --- /dev/null +++ b/packages/ui/components/ContactInfo.tsx @@ -0,0 +1,28 @@ +import { createStyles, Avatar, Text, Group } from '@mantine/core'; +import {RelatedContactModel} from '@joekarow/netwerkr-lib/prisma/zod' +import * as z from 'zod' + + +type Contact = z.infer + + +const useStyles = createStyles((theme) => ({ + icon: { + color: theme.colorScheme === 'dark' ? theme.colors.dark[3] : theme.colors.gray[5], + }, + + name: { + fontFamily: `Greycliff CF, ${theme.fontFamily}`, + }, +})); + +const ContactInfo = ({firstName,lastName,photo, phone, email, socialMedia,onTwitterList }:Contact) => { + return ( + + + + + ) +} + +export default ContactInfo \ No newline at end of file diff --git a/packages/ui/components/index.ts b/packages/ui/components/index.ts index c45de81..6876770 100644 --- a/packages/ui/components/index.ts +++ b/packages/ui/components/index.ts @@ -1,5 +1,6 @@ // @index('./**/*.{jsx,tsx}', f => `export * from '${f.path}'`) export * from './AuthSessionStatus' +export * from './ContactInfo' export * from './ContactTable' export * from './LinksGroup' export * from './LoginProvider' diff --git a/packages/ui/section/ProfileGrid.jsx b/packages/ui/section/ProfileGrid.jsx new file mode 100644 index 0000000..82be91a --- /dev/null +++ b/packages/ui/section/ProfileGrid.jsx @@ -0,0 +1,29 @@ +import React from 'react'; +import { Grid, SimpleGrid, Skeleton, useMantineTheme } from '@mantine/core'; + +const PRIMARY_COL_HEIGHT = 600; + +export function ProfileGrid () { + const theme = useMantineTheme(); + const SECONDARY_COL_HEIGHT = PRIMARY_COL_HEIGHT / 2 - theme.spacing.md / 2; + + return ( + + + + + + + + + + + + + + + + + + ); +} \ No newline at end of file diff --git a/packages/ui/section/index.js b/packages/ui/section/index.js index d8e1b09..c3c4b9c 100644 --- a/packages/ui/section/index.js +++ b/packages/ui/section/index.js @@ -4,3 +4,4 @@ export * from './HeaderAction' export * from './HeaderUser' export * from './HeroImageRight' export * from './NavbarNested' +export * from './ProfileGrid' From 5839c27fc9d2c74ca5720857ff61cd41997e3e5e Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Wed, 22 Jun 2022 16:48:23 -0400 Subject: [PATCH 26/32] fix(global): :bug: correct boolean on todo workflow --- .github/workflows/issues-from-TODO-comments.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/issues-from-TODO-comments.yml b/.github/workflows/issues-from-TODO-comments.yml index 26030a3..aece011 100644 --- a/.github/workflows/issues-from-TODO-comments.yml +++ b/.github/workflows/issues-from-TODO-comments.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: inputs: importAll: - default: 'false' + default: false required: false type: boolean description: Enable, if you want to import all TODOs. Runs on checked out branch! Only use if you're sure what you are doing. @@ -27,6 +27,6 @@ jobs: - name: Run Issue Bot uses: derjuulsn/todo-issue@main with: - excludePattern: '^(node_modules/)' + excludePattern: "^(node_modules/)" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 73595cd4d5b34821811cd35775d77e070431ee33 Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Wed, 22 Jun 2022 18:45:49 -0400 Subject: [PATCH 27/32] chore(global): :hammer: update min node ver --- package.json | 2 +- pnpm-lock.yaml | 43 ++++++++++++++++--------------------------- 2 files changed, 17 insertions(+), 28 deletions(-) diff --git a/package.json b/package.json index 280960c..064585c 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ }, "engines": { "pnpm": ">=7.1.7", - "node": ">=14.0.0" + "node": ">=16.0.0" }, "packageManager": "pnpm@7.3.0", "config": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9135630..8ba1c4f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -71,14 +71,11 @@ importers: apps/web: specifiers: - '@faker-js/faker': ^7.3.0 '@joekarow/eslint-config-netwerkr': workspace:^1.0.0 '@joekarow/netwerkr-config': workspace:* '@joekarow/netwerkr-lib': workspace:^1.0.0 '@joekarow/netwerkr-ui': workspace:* - '@next-auth/mongodb-adapter': ^1.0.3 '@next-auth/prisma-adapter': ^1.0.3 - '@prisma/client': ^3.15.2 '@simbathesailor/babel-plugin-use-what-changed': ^2.1.0 '@simbathesailor/use-what-changed': ^2.0.0 '@testing-library/jest-dom': ^5.16.4 @@ -90,35 +87,27 @@ importers: eslint: 8.18.0 jest: ^28.1.1 jest-environment-jsdom: ^28.1.1 - mongodb: ^4.7.0 msw: ^0.42.1 next: ^12.1.6 next-auth: ^4.4.0 next-transpile-modules: 9.0.0 - prisma: ^3.15.2 react: ^18.1.0 react-dom: ^18.1.0 swr: ^1.3.0 typescript: ^4.7.3 - zod: ^3.17.3 - zod-prisma: ^0.5.4 dependencies: '@joekarow/eslint-config-netwerkr': link:../../packages/eslint-config-netwerkr '@joekarow/netwerkr-lib': link:../../packages/lib '@joekarow/netwerkr-ui': link:../../packages/ui - '@next-auth/mongodb-adapter': 1.0.3_h3jvr4sw33dco7uklkcksh3gvi '@next-auth/prisma-adapter': 1.0.3_3pq3kxnod62bzywextqtouqueq - '@prisma/client': 3.15.2_prisma@3.15.2 axios: 0.27.2 dotenv: 16.0.1 - mongodb: 4.7.0 - next: 12.1.6_4cc5zw5azim2bix77d63le72su + next: 12.1.6_biqbaboplfbrettd7655fr4n2y next-auth: 4.5.0_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 swr: 1.3.0_react@18.2.0 devDependencies: - '@faker-js/faker': 7.3.0 '@joekarow/netwerkr-config': link:../../packages/netwerkr-config '@simbathesailor/babel-plugin-use-what-changed': 2.1.0_4yskjym75au5lhowg5xeuhaexa '@simbathesailor/use-what-changed': 2.0.0_react@18.2.0 @@ -131,10 +120,7 @@ importers: jest-environment-jsdom: 28.1.1 msw: 0.42.1_typescript@4.7.3 next-transpile-modules: 9.0.0 - prisma: 3.15.2 typescript: 4.7.3 - zod: 3.17.3 - zod-prisma: 0.5.4_prisma@3.15.2+zod@3.17.3 design/diagrams: specifiers: {} @@ -1388,23 +1374,13 @@ packages: - supports-color dev: true - /@next-auth/mongodb-adapter/1.0.3_h3jvr4sw33dco7uklkcksh3gvi: - resolution: {integrity: sha512-oO8OYjMhYx8s5qsdWWD+yNCqszCO7ewg6UkDhvfY0KhJRbcoOAwOgYYH5Bo4ZGJDqmIw8g6JeGipP7+xLa2Ynw==} - peerDependencies: - mongodb: ^4.1.1 - next-auth: ^4.0.1 - dependencies: - mongodb: 4.7.0 - next-auth: 4.5.0_biqbaboplfbrettd7655fr4n2y - dev: false - /@next-auth/prisma-adapter/1.0.3_3pq3kxnod62bzywextqtouqueq: resolution: {integrity: sha512-3Lq1cD3ytKM3EGKJZ4UZvlqshLtlPvYxLeCrUV9ifYwYlq51kmDaHjsIawlp8EbH5pE1UhlsvtlXMery7RghtA==} peerDependencies: '@prisma/client': '>=2.26.0 || >=3' next-auth: ^4.0.1 dependencies: - '@prisma/client': 3.15.2_prisma@3.15.2 + '@prisma/client': 3.15.2 next-auth: 4.5.0_biqbaboplfbrettd7655fr4n2y dev: false @@ -1542,6 +1518,19 @@ packages: resolution: {integrity: sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==} dev: false + /@prisma/client/3.15.2: + resolution: {integrity: sha512-ErqtwhX12ubPhU4d++30uFY/rPcyvjk+mdifaZO5SeM21zS3t4jQrscy8+6IyB0GIYshl5ldTq6JSBo1d63i8w==} + engines: {node: '>=12.6'} + requiresBuild: true + peerDependencies: + prisma: '*' + peerDependenciesMeta: + prisma: + optional: true + dependencies: + '@prisma/engines-version': 3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e + dev: false + /@prisma/client/3.15.2_prisma@3.15.2: resolution: {integrity: sha512-ErqtwhX12ubPhU4d++30uFY/rPcyvjk+mdifaZO5SeM21zS3t4jQrscy8+6IyB0GIYshl5ldTq6JSBo1d63i8w==} engines: {node: '>=12.6'} @@ -3312,7 +3301,7 @@ packages: eslint-plugin-jsx-a11y: 6.5.1_eslint@8.17.0 eslint-plugin-react: 7.30.0_eslint@8.17.0 eslint-plugin-react-hooks: 4.5.0_eslint@8.17.0 - next: 12.1.6_4cc5zw5azim2bix77d63le72su + next: 12.1.6_biqbaboplfbrettd7655fr4n2y typescript: 4.7.3 transitivePeerDependencies: - eslint-import-resolver-webpack From b97fd0de409db2e9b546602bf5bd7100c3f7f884 Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Wed, 22 Jun 2022 21:38:16 -0400 Subject: [PATCH 28/32] build(global): :package: set up semantic-release --- .github/workflows/codeql.yml | 8 +- .github/workflows/release.yml | 45 ++ package.json | 33 +- pnpm-lock.yaml | 894 +++++++++++++++++++++++++++++++++- 4 files changed, 968 insertions(+), 12 deletions(-) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index f07f4a4..0c006ab 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -4,7 +4,7 @@ name: CodeQL on: push: pull_request: - types: ready_for_review + types: [ready_for_review] schedule: - cron: "30 1 * * 0" @@ -20,15 +20,15 @@ jobs: uses: fkirc/skip-duplicate-actions@v4 with: # All of these options are optional, so you can remove them if you are happy with the defaults - concurrent_skipping: 'same_content' -# paths_ignore: '["**/README.md", "**/docs/**"]' + concurrent_skipping: "same_content" + # paths_ignore: '["**/README.md", "**/docs/**"]' do_not_skip: '["pull_request"]' codeql: needs: preflight # If 'skip-duplicate-actions' terminates before the paths checks are performed (for example, when a successful duplicate run has # been found) 'paths_result' outputs an empty object ('{}'). This can be easily intercepted in the if condition of a job # by checking the result of the "global" 'should_skip' output first. - if: needs.preflight.outputs.should_skip != 'true' + if: needs.preflight.outputs.should_skip != 'true' name: 🏭 Scanning runs-on: ubuntu-latest steps: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..7748066 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,45 @@ +name: Release +on: + push: + branches: + - main +jobs: + release: + name: Release + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: "lts/*" + - uses: pnpm/action-setup@v2.0.1 + name: Install pnpm + id: pnpm-install + with: + version: 7 + run_install: false + + - name: Get pnpm store directory + id: pnpm-cache + run: | + echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" + + - uses: actions/cache@v3 + name: Setup pnpm cache + with: + path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} + key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + ${{ runner.os }}-pnpm-store- + + - name: Install dependencies + run: pnpm install + + - name: Release + env: + GITHUB_TOKEN: ${{ secrets.GH_PAT }} + run: pnpx semantic-release diff --git a/package.json b/package.json index 064585c..3aeba55 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@joekarow/netwerkr", - "version": "0.0.0", + "version": "0.0.0-development", "private": true, "workspaces": [ "apps/*", @@ -19,7 +19,8 @@ "db:generate": "turbo run db:generate", "db:seed": "turbo run db:seed", "db:studio": "turbo run db:studio", - "test": "turbo run test" + "test": "turbo run test", + "semantic-release": "semantic-release" }, "devDependencies": { "@commitlint/cli": "^17.0.2", @@ -27,6 +28,8 @@ "@commitlint/cz-commitlint": "^17.0.0", "@jest/types": "^28.1.1", "@joekarow/netwerkr-config": "workspace:^0.0.0", + "@semantic-release/changelog": "^6.0.1", + "@semantic-release/git": "^10.0.1", "commitizen": "^4.2.4", "cz-git": "^1.3.5", "eslint": "^8.18.0", @@ -36,6 +39,7 @@ "lint-staged": "^13.0.2", "prettier": "latest", "rimraf": "^3.0.2", + "semantic-release": "^19.0.3", "turbo": "^1.2.16" }, "engines": { @@ -61,5 +65,30 @@ }, "dependencies": { "@joekarow/eslint-config-netwerkr": "workspace:^1.0.0" + }, + "repository": { + "type": "git", + "url": "https://github.com/JoeKarow/netwerkr.git" + }, + "release": { + "branches": [ + "main" + ], + "plugins": [ + "@semantic-release/commit-analyzer", + "@semantic-release/release-notes-generator", + "@semantic-release/changelog", + "@semantic-release/github", + [ + "@semantic-release/git", + { + "assets": [ + "package.json", + "CHANGELOG.md" + ], + "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" + } + ] + ] } } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8ba1c4f..368c051 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,6 +13,8 @@ importers: '@jest/types': ^28.1.1 '@joekarow/eslint-config-netwerkr': workspace:^1.0.0 '@joekarow/netwerkr-config': workspace:^0.0.0 + '@semantic-release/changelog': ^6.0.1 + '@semantic-release/git': ^10.0.1 commitizen: ^4.2.4 cz-git: ^1.3.5 eslint: ^8.18.0 @@ -22,6 +24,7 @@ importers: lint-staged: ^13.0.2 prettier: latest rimraf: ^3.0.2 + semantic-release: ^19.0.3 turbo: ^1.2.16 dependencies: '@joekarow/eslint-config-netwerkr': link:packages/eslint-config-netwerkr @@ -31,6 +34,8 @@ importers: '@commitlint/cz-commitlint': 17.0.0_nlwf7yf5555jiq2ch63nbqq5xy '@jest/types': 28.1.1 '@joekarow/netwerkr-config': link:packages/netwerkr-config + '@semantic-release/changelog': 6.0.1_semantic-release@19.0.3 + '@semantic-release/git': 10.0.1_semantic-release@19.0.3 commitizen: 4.2.4 cz-git: 1.3.5 eslint: 8.18.0 @@ -40,6 +45,7 @@ importers: lint-staged: 13.0.2 prettier: 2.7.1 rimraf: 3.0.2 + semantic-release: 19.0.3 turbo: 1.2.16 apps/docs: @@ -580,6 +586,13 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true + /@colors/colors/1.5.0: + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + requiresBuild: true + dev: true + optional: true + /@commitlint/cli/17.0.2: resolution: {integrity: sha512-Axe89Js0YzGGd4gxo3JLlF7yIdjOVpG1LbOorGc6PfYF+drBh14PvarSDLzyd2TNqdylUCq9wb9/A88ZjIdyhA==} engines: {node: '>=v14'} @@ -1506,6 +1519,113 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.13.0 + /@octokit/auth-token/2.5.0: + resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==} + dependencies: + '@octokit/types': 6.37.0 + dev: true + + /@octokit/core/3.6.0: + resolution: {integrity: sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==} + dependencies: + '@octokit/auth-token': 2.5.0 + '@octokit/graphql': 4.8.0 + '@octokit/request': 5.6.3 + '@octokit/request-error': 2.1.0 + '@octokit/types': 6.37.0 + before-after-hook: 2.2.2 + universal-user-agent: 6.0.0 + transitivePeerDependencies: + - encoding + dev: true + + /@octokit/endpoint/6.0.12: + resolution: {integrity: sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==} + dependencies: + '@octokit/types': 6.37.0 + is-plain-object: 5.0.0 + universal-user-agent: 6.0.0 + dev: true + + /@octokit/graphql/4.8.0: + resolution: {integrity: sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==} + dependencies: + '@octokit/request': 5.6.3 + '@octokit/types': 6.37.0 + universal-user-agent: 6.0.0 + transitivePeerDependencies: + - encoding + dev: true + + /@octokit/openapi-types/12.4.0: + resolution: {integrity: sha512-Npcb7Pv30b33U04jvcD7l75yLU0mxhuX2Xqrn51YyZ5WTkF04bpbxLaZ6GcaTqu03WZQHoO/Gbfp95NGRueDUA==} + dev: true + + /@octokit/plugin-paginate-rest/2.19.0_@octokit+core@3.6.0: + resolution: {integrity: sha512-hQ4Qysg2hNmEMuZeJkvyzM4eSZiTifOKqYAMsW8FnxFKowhuwWICSgBQ9Gn9GpUmgKB7qaf1hFvMjYaTAg5jQA==} + peerDependencies: + '@octokit/core': '>=2' + dependencies: + '@octokit/core': 3.6.0 + '@octokit/types': 6.37.0 + dev: true + + /@octokit/plugin-request-log/1.0.4_@octokit+core@3.6.0: + resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==} + peerDependencies: + '@octokit/core': '>=3' + dependencies: + '@octokit/core': 3.6.0 + dev: true + + /@octokit/plugin-rest-endpoint-methods/5.15.0_@octokit+core@3.6.0: + resolution: {integrity: sha512-Gsw9+Xm56jVhfbJoy4pt6eOOyf8/3K6CAnx1Sl7U2GhZWcg8MR6YgXWnpfdF69S2ViMXLA7nfvTDAsZpFlkLRw==} + peerDependencies: + '@octokit/core': '>=3' + dependencies: + '@octokit/core': 3.6.0 + '@octokit/types': 6.37.0 + deprecation: 2.3.1 + dev: true + + /@octokit/request-error/2.1.0: + resolution: {integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==} + dependencies: + '@octokit/types': 6.37.0 + deprecation: 2.3.1 + once: 1.4.0 + dev: true + + /@octokit/request/5.6.3: + resolution: {integrity: sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==} + dependencies: + '@octokit/endpoint': 6.0.12 + '@octokit/request-error': 2.1.0 + '@octokit/types': 6.37.0 + is-plain-object: 5.0.0 + node-fetch: 2.6.7 + universal-user-agent: 6.0.0 + transitivePeerDependencies: + - encoding + dev: true + + /@octokit/rest/18.12.0: + resolution: {integrity: sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==} + dependencies: + '@octokit/core': 3.6.0 + '@octokit/plugin-paginate-rest': 2.19.0_@octokit+core@3.6.0 + '@octokit/plugin-request-log': 1.0.4_@octokit+core@3.6.0 + '@octokit/plugin-rest-endpoint-methods': 5.15.0_@octokit+core@3.6.0 + transitivePeerDependencies: + - encoding + dev: true + + /@octokit/types/6.37.0: + resolution: {integrity: sha512-BXWQhFKRkjX4dVW5L2oYa0hzWOAqsEsujXsQLSdepPoDZfYdubrD1KDGpyNldGXtR8QM/WezDcxcIN1UKJMGPA==} + dependencies: + '@octokit/openapi-types': 12.4.0 + dev: true + /@open-draft/until/1.0.3: resolution: {integrity: sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q==} dev: true @@ -1679,6 +1799,136 @@ packages: /@rushstack/eslint-patch/1.1.3: resolution: {integrity: sha512-WiBSI6JBIhC6LRIsB2Kwh8DsGTlbBU+mLRxJmAe3LjHTdkDpwIbEOZgoXBbZilk/vlfjK8i6nKRAvIRn1XaIMw==} + /@semantic-release/changelog/6.0.1_semantic-release@19.0.3: + resolution: {integrity: sha512-FT+tAGdWHr0RCM3EpWegWnvXJ05LQtBkQUaQRIExONoXjVjLuOILNm4DEKNaV+GAQyJjbLRVs57ti//GypH6PA==} + engines: {node: '>=14.17'} + peerDependencies: + semantic-release: '>=18.0.0' + dependencies: + '@semantic-release/error': 3.0.0 + aggregate-error: 3.1.0 + fs-extra: 9.1.0 + lodash: 4.17.21 + semantic-release: 19.0.3 + dev: true + + /@semantic-release/commit-analyzer/9.0.2_semantic-release@19.0.3: + resolution: {integrity: sha512-E+dr6L+xIHZkX4zNMe6Rnwg4YQrWNXK+rNsvwOPpdFppvZO1olE2fIgWhv89TkQErygevbjsZFSIxp+u6w2e5g==} + engines: {node: '>=14.17'} + peerDependencies: + semantic-release: '>=18.0.0-beta.1' + dependencies: + conventional-changelog-angular: 5.0.13 + conventional-commits-filter: 2.0.7 + conventional-commits-parser: 3.2.4 + debug: 4.3.4 + import-from: 4.0.0 + lodash: 4.17.21 + micromatch: 4.0.5 + semantic-release: 19.0.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@semantic-release/error/2.2.0: + resolution: {integrity: sha512-9Tj/qn+y2j+sjCI3Jd+qseGtHjOAeg7dU2/lVcqIQ9TV3QDaDXDYXcoOHU+7o2Hwh8L8ymL4gfuO7KxDs3q2zg==} + dev: true + + /@semantic-release/error/3.0.0: + resolution: {integrity: sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==} + engines: {node: '>=14.17'} + dev: true + + /@semantic-release/git/10.0.1_semantic-release@19.0.3: + resolution: {integrity: sha512-eWrx5KguUcU2wUPaO6sfvZI0wPafUKAMNC18aXY4EnNcrZL86dEmpNVnC9uMpGZkmZJ9EfCVJBQx4pV4EMGT1w==} + engines: {node: '>=14.17'} + peerDependencies: + semantic-release: '>=18.0.0' + dependencies: + '@semantic-release/error': 3.0.0 + aggregate-error: 3.1.0 + debug: 4.3.4 + dir-glob: 3.0.1 + execa: 5.1.1 + lodash: 4.17.21 + micromatch: 4.0.5 + p-reduce: 2.1.0 + semantic-release: 19.0.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@semantic-release/github/8.0.4_semantic-release@19.0.3: + resolution: {integrity: sha512-But4e8oqqP3anZI5tjzZssZc2J6eoUdeeE0s7LVKKwyiAXJiQDWNNvtPOpgG2DsIz4+Exuse7cEQgjGMxwtLmg==} + engines: {node: '>=14.17'} + peerDependencies: + semantic-release: '>=18.0.0-beta.1' + dependencies: + '@octokit/rest': 18.12.0 + '@semantic-release/error': 2.2.0 + aggregate-error: 3.1.0 + bottleneck: 2.19.5 + debug: 4.3.4 + dir-glob: 3.0.1 + fs-extra: 10.1.0 + globby: 11.1.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + issue-parser: 6.0.0 + lodash: 4.17.21 + mime: 3.0.0 + p-filter: 2.1.0 + p-retry: 4.6.2 + semantic-release: 19.0.3 + url-join: 4.0.1 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + /@semantic-release/npm/9.0.1_semantic-release@19.0.3: + resolution: {integrity: sha512-I5nVZklxBzfMFwemhRNbSrkiN/dsH3c7K9+KSk6jUnq0rdLFUuJt7EBsysq4Ir3moajQgFkfEryEHPqiKJj20g==} + engines: {node: '>=16 || ^14.17'} + peerDependencies: + semantic-release: '>=19.0.0' + dependencies: + '@semantic-release/error': 3.0.0 + aggregate-error: 3.1.0 + execa: 5.1.1 + fs-extra: 10.1.0 + lodash: 4.17.21 + nerf-dart: 1.0.0 + normalize-url: 6.1.0 + npm: 8.13.0 + rc: 1.2.8 + read-pkg: 5.2.0 + registry-auth-token: 4.2.2 + semantic-release: 19.0.3 + semver: 7.3.7 + tempy: 1.0.1 + dev: true + + /@semantic-release/release-notes-generator/10.0.3_semantic-release@19.0.3: + resolution: {integrity: sha512-k4x4VhIKneOWoBGHkx0qZogNjCldLPRiAjnIpMnlUh6PtaWXp/T+C9U7/TaNDDtgDa5HMbHl4WlREdxHio6/3w==} + engines: {node: '>=14.17'} + peerDependencies: + semantic-release: '>=18.0.0-beta.1' + dependencies: + conventional-changelog-angular: 5.0.13 + conventional-changelog-writer: 5.0.1 + conventional-commits-filter: 2.0.7 + conventional-commits-parser: 3.2.4 + debug: 4.3.4 + get-stream: 6.0.1 + import-from: 4.0.0 + into-stream: 6.0.0 + lodash: 4.17.21 + read-pkg-up: 7.0.1 + semantic-release: 19.0.3 + transitivePeerDependencies: + - supports-color + dev: true + /@simbathesailor/babel-plugin-use-what-changed/2.1.0_4yskjym75au5lhowg5xeuhaexa: resolution: {integrity: sha512-BXK3kzSWI+WvJzgn4ZCZvu6qjXE/XvL6hLpAMpWsH4qHgaLf0KShQcXG2qb8KWdS/amg3lENSDB0xpjp2A8wNQ==} peerDependencies: @@ -1967,6 +2217,10 @@ packages: csstype: 3.1.0 dev: true + /@types/retry/0.12.0: + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + dev: true + /@types/scheduler/0.16.2: resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} @@ -2157,6 +2411,13 @@ packages: type-fest: 0.21.3 dev: true + /ansi-escapes/5.0.0: + resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} + engines: {node: '>=12'} + dependencies: + type-fest: 1.4.0 + dev: true + /ansi-regex/2.1.1: resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} engines: {node: '>=0.10.0'} @@ -2208,6 +2469,10 @@ packages: engines: {node: '>=12'} dev: true + /ansicolors/0.3.2: + resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} + dev: true + /anymatch/3.1.2: resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} engines: {node: '>= 8'} @@ -2229,6 +2494,10 @@ packages: /argparse/2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + /argv-formatter/1.0.0: + resolution: {integrity: sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==} + dev: true + /aria-query/4.2.2: resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==} engines: {node: '>=6.0'} @@ -2293,6 +2562,11 @@ packages: /asynckit/0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + /at-least-node/1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + dev: true + /atob/2.1.2: resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} engines: {node: '>= 4.5.0'} @@ -2461,6 +2735,10 @@ packages: /base64-js/1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + /before-after-hook/2.2.2: + resolution: {integrity: sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==} + dev: true + /binary-extensions/2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} @@ -2474,6 +2752,10 @@ packages: readable-stream: 3.6.0 dev: true + /bottleneck/2.19.5: + resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} + dev: true + /brace-expansion/1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -2565,6 +2847,14 @@ packages: /caniuse-lite/1.0.30001352: resolution: {integrity: sha512-GUgH8w6YergqPQDGWhJGt8GDRnY0L/iJVQcU3eJ46GYf52R8tk0Wxp0PymuFVZboJYXGiCqwozAYZNRjVj6IcA==} + /cardinal/2.1.1: + resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} + hasBin: true + dependencies: + ansicolors: 0.3.2 + redeyed: 2.1.1 + dev: true + /chalk/1.1.3: resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} engines: {node: '>=0.10.0'} @@ -2607,6 +2897,11 @@ packages: ansi-styles: 4.3.0 supports-color: 7.2.0 + /chalk/5.0.1: + resolution: {integrity: sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true + /char-regex/1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} @@ -2663,6 +2958,15 @@ packages: engines: {node: '>=6'} dev: true + /cli-table3/0.6.2: + resolution: {integrity: sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw==} + engines: {node: 10.* || >= 12.*} + dependencies: + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 + dev: true + /cli-truncate/2.1.0: resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} engines: {node: '>=8'} @@ -2809,10 +3113,34 @@ packages: q: 1.5.1 dev: true + /conventional-changelog-writer/5.0.1: + resolution: {integrity: sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==} + engines: {node: '>=10'} + hasBin: true + dependencies: + conventional-commits-filter: 2.0.7 + dateformat: 3.0.3 + handlebars: 4.7.7 + json-stringify-safe: 5.0.1 + lodash: 4.17.21 + meow: 8.1.2 + semver: 6.3.0 + split: 1.0.1 + through2: 4.0.2 + dev: true + /conventional-commit-types/3.0.0: resolution: {integrity: sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==} dev: true + /conventional-commits-filter/2.0.7: + resolution: {integrity: sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==} + engines: {node: '>=10'} + dependencies: + lodash.ismatch: 4.4.0 + modify-values: 1.0.1 + dev: true + /conventional-commits-parser/3.2.4: resolution: {integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==} engines: {node: '>=10'} @@ -2847,7 +3175,6 @@ packages: /core-util-is/1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - dev: false /cosmiconfig-typescript-loader/2.0.1_ulc3d5rlymqegdowsm6lrv2bhq: resolution: {integrity: sha512-B9s6sX/omXq7I6gC6+YgLmrBFMJhPWew7ty/X5Tuwtd2zOSgWaUdXjkuVwbe3qqcdETo60+1nSVMekq//LIXVA==} @@ -2888,6 +3215,11 @@ packages: shebang-command: 2.0.0 which: 2.0.2 + /crypto-random-string/2.0.0: + resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} + engines: {node: '>=8'} + dev: true + /css.escape/1.5.1: resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} dev: true @@ -2960,6 +3292,10 @@ packages: whatwg-url: 11.0.0 dev: true + /dateformat/3.0.3: + resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} + dev: true + /dayjs/1.11.3: resolution: {integrity: sha512-xxwlswWOlGhzgQ4TKzASQkUhqERI3egRNqgV4ScR8wlANA/A9tZ7miXa44vTTKEq5l7vWoL5G57bG3zA+Kow0A==} dev: false @@ -3032,6 +3368,11 @@ packages: regexp.prototype.flags: 1.4.3 dev: false + /deep-extend/0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + dev: true + /deep-is/0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -3053,6 +3394,20 @@ packages: has-property-descriptors: 1.0.0 object-keys: 1.1.1 + /del/6.1.1: + resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} + engines: {node: '>=10'} + dependencies: + globby: 11.1.0 + graceful-fs: 4.2.10 + is-glob: 4.0.3 + is-path-cwd: 2.2.0 + is-path-inside: 3.0.3 + p-map: 4.0.0 + rimraf: 3.0.2 + slash: 3.0.0 + dev: true + /delayed-stream/1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -3062,6 +3417,10 @@ packages: engines: {node: '>=0.10'} dev: false + /deprecation/2.3.1: + resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} + dev: true + /detect-file/1.0.0: resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} engines: {node: '>=0.10.0'} @@ -3171,7 +3530,6 @@ packages: resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} dependencies: readable-stream: 2.3.7 - dev: false /eastasianwidth/0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -3204,6 +3562,15 @@ packages: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: false + /env-ci/5.5.0: + resolution: {integrity: sha512-o0JdWIbOLP+WJKIUt36hz1ImQQFuN92nhsfTkHHap+J8CiI8WgGpH/a9jEGHh4/TU5BUUGjlnKXNoDb57+ne+A==} + engines: {node: '>=10.17'} + dependencies: + execa: 5.1.1 + fromentries: 1.3.2 + java-properties: 1.0.2 + dev: true + /error-ex/1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: @@ -3836,6 +4203,13 @@ packages: path-exists: 4.0.0 dev: true + /find-versions/4.0.0: + resolution: {integrity: sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==} + engines: {node: '>=10'} + dependencies: + semver-regex: 3.1.4 + dev: true + /findup-sync/4.0.0: resolution: {integrity: sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==} engines: {node: '>= 8'} @@ -3874,6 +4248,17 @@ packages: combined-stream: 1.0.8 mime-types: 2.1.35 + /from2/2.3.0: + resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.7 + dev: true + + /fromentries/1.3.2: + resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} + dev: true + /fs-extra/10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} @@ -3892,6 +4277,16 @@ packages: universalify: 0.1.2 dev: true + /fs-extra/9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.10 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + /fs.realpath/1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -3954,6 +4349,17 @@ packages: call-bind: 1.0.2 get-intrinsic: 1.1.2 + /git-log-parser/1.2.0: + resolution: {integrity: sha512-rnCVNfkTL8tdNryFuaY0fYiBWEBcgF748O6ZI61rslBvr2o7U65c2/6npCRqH40vuAhtgtDiqLTJjBVdrejCzA==} + dependencies: + argv-formatter: 1.0.0 + spawn-error-forwarder: 1.0.0 + split2: 1.0.0 + stream-combiner2: 1.1.1 + through2: 2.0.5 + traverse: 0.6.6 + dev: true + /git-raw-commits/2.0.11: resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} engines: {node: '>=10'} @@ -4071,6 +4477,19 @@ packages: engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} dev: true + /handlebars/4.7.7: + resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} + engines: {node: '>=0.4.7'} + hasBin: true + dependencies: + minimist: 1.2.6 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.16.1 + dev: true + /hard-rejection/2.1.0: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} engines: {node: '>=6'} @@ -4132,6 +4551,11 @@ packages: parse-passwd: 1.0.0 dev: true + /hook-std/2.0.0: + resolution: {integrity: sha512-zZ6T5WcuBMIUVh49iPQS9t977t7C0l7OtHrpeMb5uk48JdflRX0NSFvCekfYNmGQETnLq9W/isMyHl69kxGi8g==} + engines: {node: '>=8'} + dev: true + /hosted-git-info/2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true @@ -4258,6 +4682,11 @@ packages: parent-module: 1.0.1 resolve-from: 4.0.0 + /import-from/4.0.0: + resolution: {integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==} + engines: {node: '>=12.2'} + dev: true + /import-local/3.1.0: resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} engines: {node: '>=8'} @@ -4341,6 +4770,14 @@ packages: has: 1.0.3 side-channel: 1.0.4 + /into-stream/6.0.0: + resolution: {integrity: sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA==} + engines: {node: '>=10'} + dependencies: + from2: 2.3.0 + p-is-promise: 3.0.0 + dev: true + /invariant/2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} dependencies: @@ -4455,11 +4892,26 @@ packages: engines: {node: '>=8'} dev: true + /is-path-cwd/2.2.0: + resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} + engines: {node: '>=6'} + dev: true + + /is-path-inside/3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + /is-plain-obj/1.1.0: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} dev: true + /is-plain-object/5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + dev: true + /is-potential-custom-element-name/1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true @@ -4530,11 +4982,21 @@ packages: /isarray/1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - dev: false /isexe/2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + /issue-parser/6.0.0: + resolution: {integrity: sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==} + engines: {node: '>=10.13'} + dependencies: + lodash.capitalize: 4.2.1 + lodash.escaperegexp: 4.1.2 + lodash.isplainobject: 4.0.6 + lodash.isstring: 4.0.1 + lodash.uniqby: 4.7.0 + dev: true + /istanbul-lib-coverage/3.2.0: resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} engines: {node: '>=8'} @@ -4581,6 +5043,11 @@ packages: istanbul-lib-report: 3.0.0 dev: true + /java-properties/1.0.2: + resolution: {integrity: sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==} + engines: {node: '>= 0.6.0'} + dev: true + /jest-changed-files/28.0.2: resolution: {integrity: sha512-QX9u+5I2s54ZnGoMEjiM2WeBvJR2J7w/8ZUmH2um/WLAuGAYFQcsVXY9+1YL6k0H/AGUdH8pXUAv6erDqEsvIA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -5233,6 +5700,10 @@ packages: engines: {node: '>=4'} hasBin: true + /json-parse-better-errors/1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + dev: true + /json-parse-even-better-errors/2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true @@ -5243,6 +5714,10 @@ packages: /json-stable-stringify-without-jsonify/1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + /json-stringify-safe/5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + dev: true + /json5/1.0.1: resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} hasBin: true @@ -5369,6 +5844,16 @@ packages: wrap-ansi: 7.0.0 dev: true + /load-json-file/4.0.0: + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} + dependencies: + graceful-fs: 4.2.10 + parse-json: 4.0.0 + pify: 3.0.0 + strip-bom: 3.0.0 + dev: true + /locate-path/2.0.0: resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} engines: {node: '>=4'} @@ -5390,6 +5875,26 @@ packages: p-locate: 5.0.0 dev: true + /lodash.capitalize/4.2.1: + resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==} + dev: true + + /lodash.escaperegexp/4.1.2: + resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} + dev: true + + /lodash.ismatch/4.4.0: + resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} + dev: true + + /lodash.isplainobject/4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + dev: true + + /lodash.isstring/4.0.1: + resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} + dev: true + /lodash.map/4.6.0: resolution: {integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==} dev: true @@ -5397,6 +5902,10 @@ packages: /lodash.merge/4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + /lodash.uniqby/4.7.0: + resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==} + dev: true + /lodash/4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -5472,6 +5981,27 @@ packages: engines: {node: '>=8'} dev: true + /marked-terminal/5.1.1_marked@4.0.17: + resolution: {integrity: sha512-+cKTOx9P4l7HwINYhzbrBSyzgxO2HaHKGZGuB1orZsMIgXYaJyfidT81VXRdpelW/PcHEWxywscePVgI/oUF6g==} + engines: {node: '>=14.13.1 || >=16.0.0'} + peerDependencies: + marked: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 + dependencies: + ansi-escapes: 5.0.0 + cardinal: 2.1.1 + chalk: 5.0.1 + cli-table3: 0.6.2 + marked: 4.0.17 + node-emoji: 1.11.0 + supports-hyperlinks: 2.2.0 + dev: true + + /marked/4.0.17: + resolution: {integrity: sha512-Wfk0ATOK5iPxM4ptrORkFemqroz0ZDxp5MWfYA7H/F+wO17NRWV5Ypxi6p3g2Xmw2bKeiYOl6oVnLHKxBA0VhA==} + engines: {node: '>= 12'} + hasBin: true + dev: true + /memory-pager/1.5.0: resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==} dev: false @@ -5523,6 +6053,12 @@ packages: dependencies: mime-db: 1.52.0 + /mime/3.0.0: + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} + hasBin: true + dev: true + /mimic-fn/1.2.0: resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} engines: {node: '>=4'} @@ -5566,6 +6102,11 @@ packages: hasBin: true dev: true + /modify-values/1.0.1: + resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} + engines: {node: '>=0.10.0'} + dev: true + /mongodb-connection-string-url/2.5.2: resolution: {integrity: sha512-tWDyIG8cQlI5k3skB6ywaEA5F9f5OntrKKsT/Lteub2zgwSUlhqEN2inGgBTm8bpYJf8QYBdA/5naz65XDpczA==} dependencies: @@ -5654,6 +6195,14 @@ packages: /natural-compare/1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + /neo-async/2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + dev: true + + /nerf-dart/1.0.0: + resolution: {integrity: sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==} + dev: true + /next-auth/4.5.0_biqbaboplfbrettd7655fr4n2y: resolution: {integrity: sha512-B6gYRIbqtj8nlDsx3y2Ruwp/mvZnItPs7VUULY43QYw+M9xtDPIM9EBZ3ryd/wNYA3MDteBJlzGm/ivseXcmJA==} engines: {node: ^12.19.0 || ^14.15.0 || ^16.13.0} @@ -5767,6 +6316,12 @@ packages: - '@babel/core' - babel-plugin-macros + /node-emoji/1.11.0: + resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} + dependencies: + lodash: 4.17.21 + dev: true + /node-fetch/2.6.7: resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} engines: {node: 4.x || >=6.0.0} @@ -5810,6 +6365,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /normalize-url/6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} + dev: true + /npm-run-path/4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -5824,6 +6384,83 @@ packages: path-key: 4.0.0 dev: true + /npm/8.13.0: + resolution: {integrity: sha512-oQL5LlThFOPccU4hWY4+isIE6W503ed8t0ARAWdB+GfXjHEeL0g8TvKU86Xp0TuTwtS5WSjZ6XnP0xrdqTzQVA==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16} + hasBin: true + dev: true + bundledDependencies: + - '@isaacs/string-locale-compare' + - '@npmcli/arborist' + - '@npmcli/ci-detect' + - '@npmcli/config' + - '@npmcli/fs' + - '@npmcli/map-workspaces' + - '@npmcli/package-json' + - '@npmcli/run-script' + - abbrev + - archy + - cacache + - chalk + - chownr + - cli-columns + - cli-table3 + - columnify + - fastest-levenshtein + - glob + - graceful-fs + - hosted-git-info + - ini + - init-package-json + - is-cidr + - json-parse-even-better-errors + - libnpmaccess + - libnpmdiff + - libnpmexec + - libnpmfund + - libnpmhook + - libnpmorg + - libnpmpack + - libnpmpublish + - libnpmsearch + - libnpmteam + - libnpmversion + - make-fetch-happen + - minipass + - minipass-pipeline + - mkdirp + - mkdirp-infer-owner + - ms + - node-gyp + - nopt + - npm-audit-report + - npm-install-checks + - npm-package-arg + - npm-pick-manifest + - npm-profile + - npm-registry-fetch + - npm-user-validate + - npmlog + - opener + - pacote + - parse-conflict-json + - proc-log + - qrcode-terminal + - read + - read-package-json + - read-package-json-fast + - readdir-scoped-modules + - rimraf + - semver + - ssri + - tar + - text-table + - tiny-relative-date + - treeverse + - validate-npm-package-name + - which + - write-file-atomic + /nwsapi/2.2.0: resolution: {integrity: sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==} dev: true @@ -5987,6 +6624,23 @@ packages: resolution: {integrity: sha512-yeWM9k6UPfG/nzxdaPlJkB2p08hCg4xP6Lx99F+vP8YF7xyZVfTmJjrrNalkmzudD4WFvNLVudQikqUmF8zhVQ==} dev: true + /p-each-series/2.2.0: + resolution: {integrity: sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==} + engines: {node: '>=8'} + dev: true + + /p-filter/2.1.0: + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} + engines: {node: '>=8'} + dependencies: + p-map: 2.1.0 + dev: true + + /p-is-promise/3.0.0: + resolution: {integrity: sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==} + engines: {node: '>=8'} + dev: true + /p-limit/1.3.0: resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} engines: {node: '>=4'} @@ -6027,6 +6681,11 @@ packages: p-limit: 3.1.0 dev: true + /p-map/2.1.0: + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} + dev: true + /p-map/4.0.0: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} @@ -6034,6 +6693,19 @@ packages: aggregate-error: 3.1.0 dev: true + /p-reduce/2.1.0: + resolution: {integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==} + engines: {node: '>=8'} + dev: true + + /p-retry/4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + dependencies: + '@types/retry': 0.12.0 + retry: 0.13.1 + dev: true + /p-try/1.0.0: resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} engines: {node: '>=4'} @@ -6057,6 +6729,14 @@ packages: resolution: {integrity: sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==} dev: true + /parse-json/4.0.0: + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} + dependencies: + error-ex: 1.3.2 + json-parse-better-errors: 1.0.2 + dev: true + /parse-json/5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -6126,11 +6806,24 @@ packages: hasBin: true dev: true + /pify/3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + dev: true + /pirates/4.0.5: resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} engines: {node: '>= 6'} dev: true + /pkg-conf/2.1.0: + resolution: {integrity: sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==} + engines: {node: '>=4'} + dependencies: + find-up: 2.1.0 + load-json-file: 4.0.0 + dev: true + /pkg-dir/4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} @@ -6215,7 +6908,6 @@ packages: /process-nextick-args/2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - dev: false /prompts/2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} @@ -6279,6 +6971,16 @@ packages: quill-delta: 3.6.3 dev: false + /rc/1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.6 + strip-json-comments: 2.0.1 + dev: true + /react-dom/18.2.0_react@18.2.0: resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} peerDependencies: @@ -6418,7 +7120,6 @@ packages: safe-buffer: 5.1.2 string_decoder: 1.1.1 util-deprecate: 1.0.2 - dev: false /readable-stream/3.6.0: resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} @@ -6444,6 +7145,12 @@ packages: strip-indent: 3.0.0 dev: true + /redeyed/2.1.1: + resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} + dependencies: + esprima: 4.0.1 + dev: true + /regenerator-runtime/0.11.1: resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==} dev: true @@ -6463,6 +7170,13 @@ packages: resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} engines: {node: '>=8'} + /registry-auth-token/4.2.2: + resolution: {integrity: sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==} + engines: {node: '>=6.0.0'} + dependencies: + rc: 1.2.8 + dev: true + /require-directory/2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -6534,6 +7248,11 @@ packages: signal-exit: 3.0.7 dev: true + /retry/0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + dev: true + /reusify/1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -6603,6 +7322,56 @@ packages: dependencies: loose-envify: 1.4.0 + /semantic-release/19.0.3: + resolution: {integrity: sha512-HaFbydST1cDKZHuFZxB8DTrBLJVK/AnDExpK0s3EqLIAAUAHUgnd+VSJCUtTYQKkAkauL8G9CucODrVCc7BuAA==} + engines: {node: '>=16 || ^14.17'} + hasBin: true + dependencies: + '@semantic-release/commit-analyzer': 9.0.2_semantic-release@19.0.3 + '@semantic-release/error': 3.0.0 + '@semantic-release/github': 8.0.4_semantic-release@19.0.3 + '@semantic-release/npm': 9.0.1_semantic-release@19.0.3 + '@semantic-release/release-notes-generator': 10.0.3_semantic-release@19.0.3 + aggregate-error: 3.1.0 + cosmiconfig: 7.0.1 + debug: 4.3.4 + env-ci: 5.5.0 + execa: 5.1.1 + figures: 3.2.0 + find-versions: 4.0.0 + get-stream: 6.0.1 + git-log-parser: 1.2.0 + hook-std: 2.0.0 + hosted-git-info: 4.1.0 + lodash: 4.17.21 + marked: 4.0.17 + marked-terminal: 5.1.1_marked@4.0.17 + micromatch: 4.0.5 + p-each-series: 2.2.0 + p-reduce: 2.1.0 + read-pkg-up: 7.0.1 + resolve-from: 5.0.0 + semver: 7.3.7 + semver-diff: 3.1.1 + signale: 1.4.0 + yargs: 16.2.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + /semver-diff/3.1.1: + resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.0 + dev: true + + /semver-regex/3.1.4: + resolution: {integrity: sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==} + engines: {node: '>=8'} + dev: true + /semver/5.7.1: resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true @@ -6644,6 +7413,15 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true + /signale/1.4.0: + resolution: {integrity: sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==} + engines: {node: '>=6'} + dependencies: + chalk: 2.4.2 + figures: 2.0.0 + pkg-conf: 2.1.0 + dev: true + /sisteransi/1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: true @@ -6722,6 +7500,10 @@ packages: dev: false optional: true + /spawn-error-forwarder/1.0.0: + resolution: {integrity: sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==} + dev: true + /spdx-correct/3.1.1: resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} dependencies: @@ -6744,6 +7526,18 @@ packages: resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==} dev: true + /split/1.0.1: + resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} + dependencies: + through: 2.3.8 + dev: true + + /split2/1.0.0: + resolution: {integrity: sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==} + dependencies: + through2: 2.0.5 + dev: true + /split2/3.2.2: resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} dependencies: @@ -6766,6 +7560,13 @@ packages: engines: {node: '>= 0.8'} dev: true + /stream-combiner2/1.1.1: + resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==} + dependencies: + duplexer2: 0.1.4 + readable-stream: 2.3.7 + dev: true + /strict-event-emitter/0.2.4: resolution: {integrity: sha512-xIqTLS5azUH1djSUsLH9DbP6UnM/nI18vu8d43JigCQEoVsnY+mrlE+qv6kYqs6/1OkMnMIiL6ffedQSZStuoQ==} dependencies: @@ -6845,7 +7646,6 @@ packages: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 - dev: false /string_decoder/1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -6913,6 +7713,11 @@ packages: min-indent: 1.0.1 dev: true + /strip-json-comments/2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + dev: true + /strip-json-comments/3.0.1: resolution: {integrity: sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==} engines: {node: '>=8'} @@ -7030,6 +7835,22 @@ packages: engines: {node: '>=6'} dev: true + /temp-dir/2.0.0: + resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} + engines: {node: '>=8'} + dev: true + + /tempy/1.0.1: + resolution: {integrity: sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==} + engines: {node: '>=10'} + dependencies: + del: 6.1.1 + is-stream: 2.0.1 + temp-dir: 2.0.0 + type-fest: 0.16.0 + unique-string: 2.0.0 + dev: true + /terminal-link/2.1.1: resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} engines: {node: '>=8'} @@ -7069,6 +7890,13 @@ packages: xtend: 2.1.2 dev: false + /through2/2.0.5: + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + dependencies: + readable-stream: 2.3.7 + xtend: 4.0.2 + dev: true + /through2/4.0.2: resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} dependencies: @@ -7120,6 +7948,10 @@ packages: dependencies: punycode: 2.1.1 + /traverse/0.6.6: + resolution: {integrity: sha512-kdf4JKs8lbARxWdp7RKdNzoJBhGUcIalSYibuGyHJbmk40pOysQ0+QPvlkCOICOivDWU2IJo2rkrxyTK2AH4fw==} + dev: true + /trim-newlines/3.0.1: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} engines: {node: '>=8'} @@ -7332,6 +8164,11 @@ packages: engines: {node: '>=4'} dev: true + /type-fest/0.16.0: + resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} + engines: {node: '>=10'} + dev: true + /type-fest/0.18.1: resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} engines: {node: '>=10'} @@ -7372,6 +8209,14 @@ packages: engines: {node: '>=4.2.0'} hasBin: true + /uglify-js/3.16.1: + resolution: {integrity: sha512-X5BGTIDH8U6IQ1TIRP62YC36k+ULAa1d59BxlWvPUJ1NkW5L3FwcGfEzuVvGmhJFBu0YJ5Ge25tmRISqCmLiRQ==} + engines: {node: '>=0.8.0'} + hasBin: true + requiresBuild: true + dev: true + optional: true + /unbox-primitive/1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: @@ -7380,6 +8225,17 @@ packages: has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 + /unique-string/2.0.0: + resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} + engines: {node: '>=8'} + dependencies: + crypto-random-string: 2.0.0 + dev: true + + /universal-user-agent/6.0.0: + resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==} + dev: true + /universalify/0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} @@ -7395,6 +8251,10 @@ packages: dependencies: punycode: 2.1.1 + /url-join/4.0.1: + resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} + dev: true + /use-composed-ref/1.3.0_react@18.2.0: resolution: {integrity: sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==} peerDependencies: @@ -7568,6 +8428,10 @@ packages: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} + /wordwrap/1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + dev: true + /wrap-ansi/6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -7626,6 +8490,11 @@ packages: object-keys: 0.4.0 dev: false + /xtend/4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + dev: true + /y18n/5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -7654,6 +8523,19 @@ packages: engines: {node: '>=12'} dev: true + /yargs/16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + dependencies: + cliui: 7.0.4 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + dev: true + /yargs/17.5.1: resolution: {integrity: sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==} engines: {node: '>=12'} From 8e992f5dde2fd952e55c1e2c54025f822368d306 Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Thu, 23 Jun 2022 23:26:01 -0400 Subject: [PATCH 29/32] build(global): :package: uninstall semantic release not good for monorepos, apparently --- package.json | 27 +- pnpm-lock.yaml | 894 +------------------------------------------------ 2 files changed, 7 insertions(+), 914 deletions(-) diff --git a/package.json b/package.json index 3aeba55..955d68b 100644 --- a/package.json +++ b/package.json @@ -19,8 +19,7 @@ "db:generate": "turbo run db:generate", "db:seed": "turbo run db:seed", "db:studio": "turbo run db:studio", - "test": "turbo run test", - "semantic-release": "semantic-release" + "test": "turbo run test" }, "devDependencies": { "@commitlint/cli": "^17.0.2", @@ -28,8 +27,6 @@ "@commitlint/cz-commitlint": "^17.0.0", "@jest/types": "^28.1.1", "@joekarow/netwerkr-config": "workspace:^0.0.0", - "@semantic-release/changelog": "^6.0.1", - "@semantic-release/git": "^10.0.1", "commitizen": "^4.2.4", "cz-git": "^1.3.5", "eslint": "^8.18.0", @@ -39,7 +36,6 @@ "lint-staged": "^13.0.2", "prettier": "latest", "rimraf": "^3.0.2", - "semantic-release": "^19.0.3", "turbo": "^1.2.16" }, "engines": { @@ -69,26 +65,5 @@ "repository": { "type": "git", "url": "https://github.com/JoeKarow/netwerkr.git" - }, - "release": { - "branches": [ - "main" - ], - "plugins": [ - "@semantic-release/commit-analyzer", - "@semantic-release/release-notes-generator", - "@semantic-release/changelog", - "@semantic-release/github", - [ - "@semantic-release/git", - { - "assets": [ - "package.json", - "CHANGELOG.md" - ], - "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}" - } - ] - ] } } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 368c051..8ba1c4f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,8 +13,6 @@ importers: '@jest/types': ^28.1.1 '@joekarow/eslint-config-netwerkr': workspace:^1.0.0 '@joekarow/netwerkr-config': workspace:^0.0.0 - '@semantic-release/changelog': ^6.0.1 - '@semantic-release/git': ^10.0.1 commitizen: ^4.2.4 cz-git: ^1.3.5 eslint: ^8.18.0 @@ -24,7 +22,6 @@ importers: lint-staged: ^13.0.2 prettier: latest rimraf: ^3.0.2 - semantic-release: ^19.0.3 turbo: ^1.2.16 dependencies: '@joekarow/eslint-config-netwerkr': link:packages/eslint-config-netwerkr @@ -34,8 +31,6 @@ importers: '@commitlint/cz-commitlint': 17.0.0_nlwf7yf5555jiq2ch63nbqq5xy '@jest/types': 28.1.1 '@joekarow/netwerkr-config': link:packages/netwerkr-config - '@semantic-release/changelog': 6.0.1_semantic-release@19.0.3 - '@semantic-release/git': 10.0.1_semantic-release@19.0.3 commitizen: 4.2.4 cz-git: 1.3.5 eslint: 8.18.0 @@ -45,7 +40,6 @@ importers: lint-staged: 13.0.2 prettier: 2.7.1 rimraf: 3.0.2 - semantic-release: 19.0.3 turbo: 1.2.16 apps/docs: @@ -586,13 +580,6 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true - /@colors/colors/1.5.0: - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} - requiresBuild: true - dev: true - optional: true - /@commitlint/cli/17.0.2: resolution: {integrity: sha512-Axe89Js0YzGGd4gxo3JLlF7yIdjOVpG1LbOorGc6PfYF+drBh14PvarSDLzyd2TNqdylUCq9wb9/A88ZjIdyhA==} engines: {node: '>=v14'} @@ -1519,113 +1506,6 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.13.0 - /@octokit/auth-token/2.5.0: - resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==} - dependencies: - '@octokit/types': 6.37.0 - dev: true - - /@octokit/core/3.6.0: - resolution: {integrity: sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==} - dependencies: - '@octokit/auth-token': 2.5.0 - '@octokit/graphql': 4.8.0 - '@octokit/request': 5.6.3 - '@octokit/request-error': 2.1.0 - '@octokit/types': 6.37.0 - before-after-hook: 2.2.2 - universal-user-agent: 6.0.0 - transitivePeerDependencies: - - encoding - dev: true - - /@octokit/endpoint/6.0.12: - resolution: {integrity: sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==} - dependencies: - '@octokit/types': 6.37.0 - is-plain-object: 5.0.0 - universal-user-agent: 6.0.0 - dev: true - - /@octokit/graphql/4.8.0: - resolution: {integrity: sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==} - dependencies: - '@octokit/request': 5.6.3 - '@octokit/types': 6.37.0 - universal-user-agent: 6.0.0 - transitivePeerDependencies: - - encoding - dev: true - - /@octokit/openapi-types/12.4.0: - resolution: {integrity: sha512-Npcb7Pv30b33U04jvcD7l75yLU0mxhuX2Xqrn51YyZ5WTkF04bpbxLaZ6GcaTqu03WZQHoO/Gbfp95NGRueDUA==} - dev: true - - /@octokit/plugin-paginate-rest/2.19.0_@octokit+core@3.6.0: - resolution: {integrity: sha512-hQ4Qysg2hNmEMuZeJkvyzM4eSZiTifOKqYAMsW8FnxFKowhuwWICSgBQ9Gn9GpUmgKB7qaf1hFvMjYaTAg5jQA==} - peerDependencies: - '@octokit/core': '>=2' - dependencies: - '@octokit/core': 3.6.0 - '@octokit/types': 6.37.0 - dev: true - - /@octokit/plugin-request-log/1.0.4_@octokit+core@3.6.0: - resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==} - peerDependencies: - '@octokit/core': '>=3' - dependencies: - '@octokit/core': 3.6.0 - dev: true - - /@octokit/plugin-rest-endpoint-methods/5.15.0_@octokit+core@3.6.0: - resolution: {integrity: sha512-Gsw9+Xm56jVhfbJoy4pt6eOOyf8/3K6CAnx1Sl7U2GhZWcg8MR6YgXWnpfdF69S2ViMXLA7nfvTDAsZpFlkLRw==} - peerDependencies: - '@octokit/core': '>=3' - dependencies: - '@octokit/core': 3.6.0 - '@octokit/types': 6.37.0 - deprecation: 2.3.1 - dev: true - - /@octokit/request-error/2.1.0: - resolution: {integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==} - dependencies: - '@octokit/types': 6.37.0 - deprecation: 2.3.1 - once: 1.4.0 - dev: true - - /@octokit/request/5.6.3: - resolution: {integrity: sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==} - dependencies: - '@octokit/endpoint': 6.0.12 - '@octokit/request-error': 2.1.0 - '@octokit/types': 6.37.0 - is-plain-object: 5.0.0 - node-fetch: 2.6.7 - universal-user-agent: 6.0.0 - transitivePeerDependencies: - - encoding - dev: true - - /@octokit/rest/18.12.0: - resolution: {integrity: sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==} - dependencies: - '@octokit/core': 3.6.0 - '@octokit/plugin-paginate-rest': 2.19.0_@octokit+core@3.6.0 - '@octokit/plugin-request-log': 1.0.4_@octokit+core@3.6.0 - '@octokit/plugin-rest-endpoint-methods': 5.15.0_@octokit+core@3.6.0 - transitivePeerDependencies: - - encoding - dev: true - - /@octokit/types/6.37.0: - resolution: {integrity: sha512-BXWQhFKRkjX4dVW5L2oYa0hzWOAqsEsujXsQLSdepPoDZfYdubrD1KDGpyNldGXtR8QM/WezDcxcIN1UKJMGPA==} - dependencies: - '@octokit/openapi-types': 12.4.0 - dev: true - /@open-draft/until/1.0.3: resolution: {integrity: sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q==} dev: true @@ -1799,136 +1679,6 @@ packages: /@rushstack/eslint-patch/1.1.3: resolution: {integrity: sha512-WiBSI6JBIhC6LRIsB2Kwh8DsGTlbBU+mLRxJmAe3LjHTdkDpwIbEOZgoXBbZilk/vlfjK8i6nKRAvIRn1XaIMw==} - /@semantic-release/changelog/6.0.1_semantic-release@19.0.3: - resolution: {integrity: sha512-FT+tAGdWHr0RCM3EpWegWnvXJ05LQtBkQUaQRIExONoXjVjLuOILNm4DEKNaV+GAQyJjbLRVs57ti//GypH6PA==} - engines: {node: '>=14.17'} - peerDependencies: - semantic-release: '>=18.0.0' - dependencies: - '@semantic-release/error': 3.0.0 - aggregate-error: 3.1.0 - fs-extra: 9.1.0 - lodash: 4.17.21 - semantic-release: 19.0.3 - dev: true - - /@semantic-release/commit-analyzer/9.0.2_semantic-release@19.0.3: - resolution: {integrity: sha512-E+dr6L+xIHZkX4zNMe6Rnwg4YQrWNXK+rNsvwOPpdFppvZO1olE2fIgWhv89TkQErygevbjsZFSIxp+u6w2e5g==} - engines: {node: '>=14.17'} - peerDependencies: - semantic-release: '>=18.0.0-beta.1' - dependencies: - conventional-changelog-angular: 5.0.13 - conventional-commits-filter: 2.0.7 - conventional-commits-parser: 3.2.4 - debug: 4.3.4 - import-from: 4.0.0 - lodash: 4.17.21 - micromatch: 4.0.5 - semantic-release: 19.0.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@semantic-release/error/2.2.0: - resolution: {integrity: sha512-9Tj/qn+y2j+sjCI3Jd+qseGtHjOAeg7dU2/lVcqIQ9TV3QDaDXDYXcoOHU+7o2Hwh8L8ymL4gfuO7KxDs3q2zg==} - dev: true - - /@semantic-release/error/3.0.0: - resolution: {integrity: sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==} - engines: {node: '>=14.17'} - dev: true - - /@semantic-release/git/10.0.1_semantic-release@19.0.3: - resolution: {integrity: sha512-eWrx5KguUcU2wUPaO6sfvZI0wPafUKAMNC18aXY4EnNcrZL86dEmpNVnC9uMpGZkmZJ9EfCVJBQx4pV4EMGT1w==} - engines: {node: '>=14.17'} - peerDependencies: - semantic-release: '>=18.0.0' - dependencies: - '@semantic-release/error': 3.0.0 - aggregate-error: 3.1.0 - debug: 4.3.4 - dir-glob: 3.0.1 - execa: 5.1.1 - lodash: 4.17.21 - micromatch: 4.0.5 - p-reduce: 2.1.0 - semantic-release: 19.0.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@semantic-release/github/8.0.4_semantic-release@19.0.3: - resolution: {integrity: sha512-But4e8oqqP3anZI5tjzZssZc2J6eoUdeeE0s7LVKKwyiAXJiQDWNNvtPOpgG2DsIz4+Exuse7cEQgjGMxwtLmg==} - engines: {node: '>=14.17'} - peerDependencies: - semantic-release: '>=18.0.0-beta.1' - dependencies: - '@octokit/rest': 18.12.0 - '@semantic-release/error': 2.2.0 - aggregate-error: 3.1.0 - bottleneck: 2.19.5 - debug: 4.3.4 - dir-glob: 3.0.1 - fs-extra: 10.1.0 - globby: 11.1.0 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - issue-parser: 6.0.0 - lodash: 4.17.21 - mime: 3.0.0 - p-filter: 2.1.0 - p-retry: 4.6.2 - semantic-release: 19.0.3 - url-join: 4.0.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - - /@semantic-release/npm/9.0.1_semantic-release@19.0.3: - resolution: {integrity: sha512-I5nVZklxBzfMFwemhRNbSrkiN/dsH3c7K9+KSk6jUnq0rdLFUuJt7EBsysq4Ir3moajQgFkfEryEHPqiKJj20g==} - engines: {node: '>=16 || ^14.17'} - peerDependencies: - semantic-release: '>=19.0.0' - dependencies: - '@semantic-release/error': 3.0.0 - aggregate-error: 3.1.0 - execa: 5.1.1 - fs-extra: 10.1.0 - lodash: 4.17.21 - nerf-dart: 1.0.0 - normalize-url: 6.1.0 - npm: 8.13.0 - rc: 1.2.8 - read-pkg: 5.2.0 - registry-auth-token: 4.2.2 - semantic-release: 19.0.3 - semver: 7.3.7 - tempy: 1.0.1 - dev: true - - /@semantic-release/release-notes-generator/10.0.3_semantic-release@19.0.3: - resolution: {integrity: sha512-k4x4VhIKneOWoBGHkx0qZogNjCldLPRiAjnIpMnlUh6PtaWXp/T+C9U7/TaNDDtgDa5HMbHl4WlREdxHio6/3w==} - engines: {node: '>=14.17'} - peerDependencies: - semantic-release: '>=18.0.0-beta.1' - dependencies: - conventional-changelog-angular: 5.0.13 - conventional-changelog-writer: 5.0.1 - conventional-commits-filter: 2.0.7 - conventional-commits-parser: 3.2.4 - debug: 4.3.4 - get-stream: 6.0.1 - import-from: 4.0.0 - into-stream: 6.0.0 - lodash: 4.17.21 - read-pkg-up: 7.0.1 - semantic-release: 19.0.3 - transitivePeerDependencies: - - supports-color - dev: true - /@simbathesailor/babel-plugin-use-what-changed/2.1.0_4yskjym75au5lhowg5xeuhaexa: resolution: {integrity: sha512-BXK3kzSWI+WvJzgn4ZCZvu6qjXE/XvL6hLpAMpWsH4qHgaLf0KShQcXG2qb8KWdS/amg3lENSDB0xpjp2A8wNQ==} peerDependencies: @@ -2217,10 +1967,6 @@ packages: csstype: 3.1.0 dev: true - /@types/retry/0.12.0: - resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} - dev: true - /@types/scheduler/0.16.2: resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} @@ -2411,13 +2157,6 @@ packages: type-fest: 0.21.3 dev: true - /ansi-escapes/5.0.0: - resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} - engines: {node: '>=12'} - dependencies: - type-fest: 1.4.0 - dev: true - /ansi-regex/2.1.1: resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} engines: {node: '>=0.10.0'} @@ -2469,10 +2208,6 @@ packages: engines: {node: '>=12'} dev: true - /ansicolors/0.3.2: - resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} - dev: true - /anymatch/3.1.2: resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} engines: {node: '>= 8'} @@ -2494,10 +2229,6 @@ packages: /argparse/2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - /argv-formatter/1.0.0: - resolution: {integrity: sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==} - dev: true - /aria-query/4.2.2: resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==} engines: {node: '>=6.0'} @@ -2562,11 +2293,6 @@ packages: /asynckit/0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - /at-least-node/1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} - dev: true - /atob/2.1.2: resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} engines: {node: '>= 4.5.0'} @@ -2735,10 +2461,6 @@ packages: /base64-js/1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - /before-after-hook/2.2.2: - resolution: {integrity: sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==} - dev: true - /binary-extensions/2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} @@ -2752,10 +2474,6 @@ packages: readable-stream: 3.6.0 dev: true - /bottleneck/2.19.5: - resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} - dev: true - /brace-expansion/1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -2847,14 +2565,6 @@ packages: /caniuse-lite/1.0.30001352: resolution: {integrity: sha512-GUgH8w6YergqPQDGWhJGt8GDRnY0L/iJVQcU3eJ46GYf52R8tk0Wxp0PymuFVZboJYXGiCqwozAYZNRjVj6IcA==} - /cardinal/2.1.1: - resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} - hasBin: true - dependencies: - ansicolors: 0.3.2 - redeyed: 2.1.1 - dev: true - /chalk/1.1.3: resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} engines: {node: '>=0.10.0'} @@ -2897,11 +2607,6 @@ packages: ansi-styles: 4.3.0 supports-color: 7.2.0 - /chalk/5.0.1: - resolution: {integrity: sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: true - /char-regex/1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} @@ -2958,15 +2663,6 @@ packages: engines: {node: '>=6'} dev: true - /cli-table3/0.6.2: - resolution: {integrity: sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw==} - engines: {node: 10.* || >= 12.*} - dependencies: - string-width: 4.2.3 - optionalDependencies: - '@colors/colors': 1.5.0 - dev: true - /cli-truncate/2.1.0: resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} engines: {node: '>=8'} @@ -3113,34 +2809,10 @@ packages: q: 1.5.1 dev: true - /conventional-changelog-writer/5.0.1: - resolution: {integrity: sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==} - engines: {node: '>=10'} - hasBin: true - dependencies: - conventional-commits-filter: 2.0.7 - dateformat: 3.0.3 - handlebars: 4.7.7 - json-stringify-safe: 5.0.1 - lodash: 4.17.21 - meow: 8.1.2 - semver: 6.3.0 - split: 1.0.1 - through2: 4.0.2 - dev: true - /conventional-commit-types/3.0.0: resolution: {integrity: sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==} dev: true - /conventional-commits-filter/2.0.7: - resolution: {integrity: sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==} - engines: {node: '>=10'} - dependencies: - lodash.ismatch: 4.4.0 - modify-values: 1.0.1 - dev: true - /conventional-commits-parser/3.2.4: resolution: {integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==} engines: {node: '>=10'} @@ -3175,6 +2847,7 @@ packages: /core-util-is/1.0.2: resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + dev: false /cosmiconfig-typescript-loader/2.0.1_ulc3d5rlymqegdowsm6lrv2bhq: resolution: {integrity: sha512-B9s6sX/omXq7I6gC6+YgLmrBFMJhPWew7ty/X5Tuwtd2zOSgWaUdXjkuVwbe3qqcdETo60+1nSVMekq//LIXVA==} @@ -3215,11 +2888,6 @@ packages: shebang-command: 2.0.0 which: 2.0.2 - /crypto-random-string/2.0.0: - resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} - engines: {node: '>=8'} - dev: true - /css.escape/1.5.1: resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} dev: true @@ -3292,10 +2960,6 @@ packages: whatwg-url: 11.0.0 dev: true - /dateformat/3.0.3: - resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} - dev: true - /dayjs/1.11.3: resolution: {integrity: sha512-xxwlswWOlGhzgQ4TKzASQkUhqERI3egRNqgV4ScR8wlANA/A9tZ7miXa44vTTKEq5l7vWoL5G57bG3zA+Kow0A==} dev: false @@ -3368,11 +3032,6 @@ packages: regexp.prototype.flags: 1.4.3 dev: false - /deep-extend/0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - dev: true - /deep-is/0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -3394,20 +3053,6 @@ packages: has-property-descriptors: 1.0.0 object-keys: 1.1.1 - /del/6.1.1: - resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} - engines: {node: '>=10'} - dependencies: - globby: 11.1.0 - graceful-fs: 4.2.10 - is-glob: 4.0.3 - is-path-cwd: 2.2.0 - is-path-inside: 3.0.3 - p-map: 4.0.0 - rimraf: 3.0.2 - slash: 3.0.0 - dev: true - /delayed-stream/1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -3417,10 +3062,6 @@ packages: engines: {node: '>=0.10'} dev: false - /deprecation/2.3.1: - resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} - dev: true - /detect-file/1.0.0: resolution: {integrity: sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==} engines: {node: '>=0.10.0'} @@ -3530,6 +3171,7 @@ packages: resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} dependencies: readable-stream: 2.3.7 + dev: false /eastasianwidth/0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -3562,15 +3204,6 @@ packages: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: false - /env-ci/5.5.0: - resolution: {integrity: sha512-o0JdWIbOLP+WJKIUt36hz1ImQQFuN92nhsfTkHHap+J8CiI8WgGpH/a9jEGHh4/TU5BUUGjlnKXNoDb57+ne+A==} - engines: {node: '>=10.17'} - dependencies: - execa: 5.1.1 - fromentries: 1.3.2 - java-properties: 1.0.2 - dev: true - /error-ex/1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: @@ -4203,13 +3836,6 @@ packages: path-exists: 4.0.0 dev: true - /find-versions/4.0.0: - resolution: {integrity: sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==} - engines: {node: '>=10'} - dependencies: - semver-regex: 3.1.4 - dev: true - /findup-sync/4.0.0: resolution: {integrity: sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==} engines: {node: '>= 8'} @@ -4248,17 +3874,6 @@ packages: combined-stream: 1.0.8 mime-types: 2.1.35 - /from2/2.3.0: - resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} - dependencies: - inherits: 2.0.4 - readable-stream: 2.3.7 - dev: true - - /fromentries/1.3.2: - resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} - dev: true - /fs-extra/10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} @@ -4277,16 +3892,6 @@ packages: universalify: 0.1.2 dev: true - /fs-extra/9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} - dependencies: - at-least-node: 1.0.0 - graceful-fs: 4.2.10 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true - /fs.realpath/1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -4349,17 +3954,6 @@ packages: call-bind: 1.0.2 get-intrinsic: 1.1.2 - /git-log-parser/1.2.0: - resolution: {integrity: sha512-rnCVNfkTL8tdNryFuaY0fYiBWEBcgF748O6ZI61rslBvr2o7U65c2/6npCRqH40vuAhtgtDiqLTJjBVdrejCzA==} - dependencies: - argv-formatter: 1.0.0 - spawn-error-forwarder: 1.0.0 - split2: 1.0.0 - stream-combiner2: 1.1.1 - through2: 2.0.5 - traverse: 0.6.6 - dev: true - /git-raw-commits/2.0.11: resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} engines: {node: '>=10'} @@ -4477,19 +4071,6 @@ packages: engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} dev: true - /handlebars/4.7.7: - resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} - engines: {node: '>=0.4.7'} - hasBin: true - dependencies: - minimist: 1.2.6 - neo-async: 2.6.2 - source-map: 0.6.1 - wordwrap: 1.0.0 - optionalDependencies: - uglify-js: 3.16.1 - dev: true - /hard-rejection/2.1.0: resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} engines: {node: '>=6'} @@ -4551,11 +4132,6 @@ packages: parse-passwd: 1.0.0 dev: true - /hook-std/2.0.0: - resolution: {integrity: sha512-zZ6T5WcuBMIUVh49iPQS9t977t7C0l7OtHrpeMb5uk48JdflRX0NSFvCekfYNmGQETnLq9W/isMyHl69kxGi8g==} - engines: {node: '>=8'} - dev: true - /hosted-git-info/2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true @@ -4682,11 +4258,6 @@ packages: parent-module: 1.0.1 resolve-from: 4.0.0 - /import-from/4.0.0: - resolution: {integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==} - engines: {node: '>=12.2'} - dev: true - /import-local/3.1.0: resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} engines: {node: '>=8'} @@ -4770,14 +4341,6 @@ packages: has: 1.0.3 side-channel: 1.0.4 - /into-stream/6.0.0: - resolution: {integrity: sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA==} - engines: {node: '>=10'} - dependencies: - from2: 2.3.0 - p-is-promise: 3.0.0 - dev: true - /invariant/2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} dependencies: @@ -4892,26 +4455,11 @@ packages: engines: {node: '>=8'} dev: true - /is-path-cwd/2.2.0: - resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} - engines: {node: '>=6'} - dev: true - - /is-path-inside/3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true - /is-plain-obj/1.1.0: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} dev: true - /is-plain-object/5.0.0: - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} - engines: {node: '>=0.10.0'} - dev: true - /is-potential-custom-element-name/1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true @@ -4982,21 +4530,11 @@ packages: /isarray/1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: false /isexe/2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - /issue-parser/6.0.0: - resolution: {integrity: sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==} - engines: {node: '>=10.13'} - dependencies: - lodash.capitalize: 4.2.1 - lodash.escaperegexp: 4.1.2 - lodash.isplainobject: 4.0.6 - lodash.isstring: 4.0.1 - lodash.uniqby: 4.7.0 - dev: true - /istanbul-lib-coverage/3.2.0: resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} engines: {node: '>=8'} @@ -5043,11 +4581,6 @@ packages: istanbul-lib-report: 3.0.0 dev: true - /java-properties/1.0.2: - resolution: {integrity: sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==} - engines: {node: '>= 0.6.0'} - dev: true - /jest-changed-files/28.0.2: resolution: {integrity: sha512-QX9u+5I2s54ZnGoMEjiM2WeBvJR2J7w/8ZUmH2um/WLAuGAYFQcsVXY9+1YL6k0H/AGUdH8pXUAv6erDqEsvIA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -5700,10 +5233,6 @@ packages: engines: {node: '>=4'} hasBin: true - /json-parse-better-errors/1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} - dev: true - /json-parse-even-better-errors/2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true @@ -5714,10 +5243,6 @@ packages: /json-stable-stringify-without-jsonify/1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - /json-stringify-safe/5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - dev: true - /json5/1.0.1: resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} hasBin: true @@ -5844,16 +5369,6 @@ packages: wrap-ansi: 7.0.0 dev: true - /load-json-file/4.0.0: - resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} - engines: {node: '>=4'} - dependencies: - graceful-fs: 4.2.10 - parse-json: 4.0.0 - pify: 3.0.0 - strip-bom: 3.0.0 - dev: true - /locate-path/2.0.0: resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} engines: {node: '>=4'} @@ -5875,26 +5390,6 @@ packages: p-locate: 5.0.0 dev: true - /lodash.capitalize/4.2.1: - resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==} - dev: true - - /lodash.escaperegexp/4.1.2: - resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} - dev: true - - /lodash.ismatch/4.4.0: - resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} - dev: true - - /lodash.isplainobject/4.0.6: - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - dev: true - - /lodash.isstring/4.0.1: - resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} - dev: true - /lodash.map/4.6.0: resolution: {integrity: sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==} dev: true @@ -5902,10 +5397,6 @@ packages: /lodash.merge/4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - /lodash.uniqby/4.7.0: - resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==} - dev: true - /lodash/4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -5981,27 +5472,6 @@ packages: engines: {node: '>=8'} dev: true - /marked-terminal/5.1.1_marked@4.0.17: - resolution: {integrity: sha512-+cKTOx9P4l7HwINYhzbrBSyzgxO2HaHKGZGuB1orZsMIgXYaJyfidT81VXRdpelW/PcHEWxywscePVgI/oUF6g==} - engines: {node: '>=14.13.1 || >=16.0.0'} - peerDependencies: - marked: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 - dependencies: - ansi-escapes: 5.0.0 - cardinal: 2.1.1 - chalk: 5.0.1 - cli-table3: 0.6.2 - marked: 4.0.17 - node-emoji: 1.11.0 - supports-hyperlinks: 2.2.0 - dev: true - - /marked/4.0.17: - resolution: {integrity: sha512-Wfk0ATOK5iPxM4ptrORkFemqroz0ZDxp5MWfYA7H/F+wO17NRWV5Ypxi6p3g2Xmw2bKeiYOl6oVnLHKxBA0VhA==} - engines: {node: '>= 12'} - hasBin: true - dev: true - /memory-pager/1.5.0: resolution: {integrity: sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==} dev: false @@ -6053,12 +5523,6 @@ packages: dependencies: mime-db: 1.52.0 - /mime/3.0.0: - resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} - engines: {node: '>=10.0.0'} - hasBin: true - dev: true - /mimic-fn/1.2.0: resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} engines: {node: '>=4'} @@ -6102,11 +5566,6 @@ packages: hasBin: true dev: true - /modify-values/1.0.1: - resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} - engines: {node: '>=0.10.0'} - dev: true - /mongodb-connection-string-url/2.5.2: resolution: {integrity: sha512-tWDyIG8cQlI5k3skB6ywaEA5F9f5OntrKKsT/Lteub2zgwSUlhqEN2inGgBTm8bpYJf8QYBdA/5naz65XDpczA==} dependencies: @@ -6195,14 +5654,6 @@ packages: /natural-compare/1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - /neo-async/2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - dev: true - - /nerf-dart/1.0.0: - resolution: {integrity: sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==} - dev: true - /next-auth/4.5.0_biqbaboplfbrettd7655fr4n2y: resolution: {integrity: sha512-B6gYRIbqtj8nlDsx3y2Ruwp/mvZnItPs7VUULY43QYw+M9xtDPIM9EBZ3ryd/wNYA3MDteBJlzGm/ivseXcmJA==} engines: {node: ^12.19.0 || ^14.15.0 || ^16.13.0} @@ -6316,12 +5767,6 @@ packages: - '@babel/core' - babel-plugin-macros - /node-emoji/1.11.0: - resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} - dependencies: - lodash: 4.17.21 - dev: true - /node-fetch/2.6.7: resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} engines: {node: 4.x || >=6.0.0} @@ -6365,11 +5810,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /normalize-url/6.1.0: - resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} - engines: {node: '>=10'} - dev: true - /npm-run-path/4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -6384,83 +5824,6 @@ packages: path-key: 4.0.0 dev: true - /npm/8.13.0: - resolution: {integrity: sha512-oQL5LlThFOPccU4hWY4+isIE6W503ed8t0ARAWdB+GfXjHEeL0g8TvKU86Xp0TuTwtS5WSjZ6XnP0xrdqTzQVA==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16} - hasBin: true - dev: true - bundledDependencies: - - '@isaacs/string-locale-compare' - - '@npmcli/arborist' - - '@npmcli/ci-detect' - - '@npmcli/config' - - '@npmcli/fs' - - '@npmcli/map-workspaces' - - '@npmcli/package-json' - - '@npmcli/run-script' - - abbrev - - archy - - cacache - - chalk - - chownr - - cli-columns - - cli-table3 - - columnify - - fastest-levenshtein - - glob - - graceful-fs - - hosted-git-info - - ini - - init-package-json - - is-cidr - - json-parse-even-better-errors - - libnpmaccess - - libnpmdiff - - libnpmexec - - libnpmfund - - libnpmhook - - libnpmorg - - libnpmpack - - libnpmpublish - - libnpmsearch - - libnpmteam - - libnpmversion - - make-fetch-happen - - minipass - - minipass-pipeline - - mkdirp - - mkdirp-infer-owner - - ms - - node-gyp - - nopt - - npm-audit-report - - npm-install-checks - - npm-package-arg - - npm-pick-manifest - - npm-profile - - npm-registry-fetch - - npm-user-validate - - npmlog - - opener - - pacote - - parse-conflict-json - - proc-log - - qrcode-terminal - - read - - read-package-json - - read-package-json-fast - - readdir-scoped-modules - - rimraf - - semver - - ssri - - tar - - text-table - - tiny-relative-date - - treeverse - - validate-npm-package-name - - which - - write-file-atomic - /nwsapi/2.2.0: resolution: {integrity: sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==} dev: true @@ -6624,23 +5987,6 @@ packages: resolution: {integrity: sha512-yeWM9k6UPfG/nzxdaPlJkB2p08hCg4xP6Lx99F+vP8YF7xyZVfTmJjrrNalkmzudD4WFvNLVudQikqUmF8zhVQ==} dev: true - /p-each-series/2.2.0: - resolution: {integrity: sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==} - engines: {node: '>=8'} - dev: true - - /p-filter/2.1.0: - resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} - engines: {node: '>=8'} - dependencies: - p-map: 2.1.0 - dev: true - - /p-is-promise/3.0.0: - resolution: {integrity: sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==} - engines: {node: '>=8'} - dev: true - /p-limit/1.3.0: resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} engines: {node: '>=4'} @@ -6681,11 +6027,6 @@ packages: p-limit: 3.1.0 dev: true - /p-map/2.1.0: - resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} - engines: {node: '>=6'} - dev: true - /p-map/4.0.0: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} @@ -6693,19 +6034,6 @@ packages: aggregate-error: 3.1.0 dev: true - /p-reduce/2.1.0: - resolution: {integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==} - engines: {node: '>=8'} - dev: true - - /p-retry/4.6.2: - resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} - engines: {node: '>=8'} - dependencies: - '@types/retry': 0.12.0 - retry: 0.13.1 - dev: true - /p-try/1.0.0: resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} engines: {node: '>=4'} @@ -6729,14 +6057,6 @@ packages: resolution: {integrity: sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==} dev: true - /parse-json/4.0.0: - resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} - engines: {node: '>=4'} - dependencies: - error-ex: 1.3.2 - json-parse-better-errors: 1.0.2 - dev: true - /parse-json/5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -6806,24 +6126,11 @@ packages: hasBin: true dev: true - /pify/3.0.0: - resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} - engines: {node: '>=4'} - dev: true - /pirates/4.0.5: resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} engines: {node: '>= 6'} dev: true - /pkg-conf/2.1.0: - resolution: {integrity: sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==} - engines: {node: '>=4'} - dependencies: - find-up: 2.1.0 - load-json-file: 4.0.0 - dev: true - /pkg-dir/4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} @@ -6908,6 +6215,7 @@ packages: /process-nextick-args/2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: false /prompts/2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} @@ -6971,16 +6279,6 @@ packages: quill-delta: 3.6.3 dev: false - /rc/1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.6 - strip-json-comments: 2.0.1 - dev: true - /react-dom/18.2.0_react@18.2.0: resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} peerDependencies: @@ -7120,6 +6418,7 @@ packages: safe-buffer: 5.1.2 string_decoder: 1.1.1 util-deprecate: 1.0.2 + dev: false /readable-stream/3.6.0: resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} @@ -7145,12 +6444,6 @@ packages: strip-indent: 3.0.0 dev: true - /redeyed/2.1.1: - resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} - dependencies: - esprima: 4.0.1 - dev: true - /regenerator-runtime/0.11.1: resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==} dev: true @@ -7170,13 +6463,6 @@ packages: resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} engines: {node: '>=8'} - /registry-auth-token/4.2.2: - resolution: {integrity: sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==} - engines: {node: '>=6.0.0'} - dependencies: - rc: 1.2.8 - dev: true - /require-directory/2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -7248,11 +6534,6 @@ packages: signal-exit: 3.0.7 dev: true - /retry/0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - engines: {node: '>= 4'} - dev: true - /reusify/1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -7322,56 +6603,6 @@ packages: dependencies: loose-envify: 1.4.0 - /semantic-release/19.0.3: - resolution: {integrity: sha512-HaFbydST1cDKZHuFZxB8DTrBLJVK/AnDExpK0s3EqLIAAUAHUgnd+VSJCUtTYQKkAkauL8G9CucODrVCc7BuAA==} - engines: {node: '>=16 || ^14.17'} - hasBin: true - dependencies: - '@semantic-release/commit-analyzer': 9.0.2_semantic-release@19.0.3 - '@semantic-release/error': 3.0.0 - '@semantic-release/github': 8.0.4_semantic-release@19.0.3 - '@semantic-release/npm': 9.0.1_semantic-release@19.0.3 - '@semantic-release/release-notes-generator': 10.0.3_semantic-release@19.0.3 - aggregate-error: 3.1.0 - cosmiconfig: 7.0.1 - debug: 4.3.4 - env-ci: 5.5.0 - execa: 5.1.1 - figures: 3.2.0 - find-versions: 4.0.0 - get-stream: 6.0.1 - git-log-parser: 1.2.0 - hook-std: 2.0.0 - hosted-git-info: 4.1.0 - lodash: 4.17.21 - marked: 4.0.17 - marked-terminal: 5.1.1_marked@4.0.17 - micromatch: 4.0.5 - p-each-series: 2.2.0 - p-reduce: 2.1.0 - read-pkg-up: 7.0.1 - resolve-from: 5.0.0 - semver: 7.3.7 - semver-diff: 3.1.1 - signale: 1.4.0 - yargs: 16.2.0 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - - /semver-diff/3.1.1: - resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} - engines: {node: '>=8'} - dependencies: - semver: 6.3.0 - dev: true - - /semver-regex/3.1.4: - resolution: {integrity: sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==} - engines: {node: '>=8'} - dev: true - /semver/5.7.1: resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} hasBin: true @@ -7413,15 +6644,6 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true - /signale/1.4.0: - resolution: {integrity: sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==} - engines: {node: '>=6'} - dependencies: - chalk: 2.4.2 - figures: 2.0.0 - pkg-conf: 2.1.0 - dev: true - /sisteransi/1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: true @@ -7500,10 +6722,6 @@ packages: dev: false optional: true - /spawn-error-forwarder/1.0.0: - resolution: {integrity: sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==} - dev: true - /spdx-correct/3.1.1: resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} dependencies: @@ -7526,18 +6744,6 @@ packages: resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==} dev: true - /split/1.0.1: - resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} - dependencies: - through: 2.3.8 - dev: true - - /split2/1.0.0: - resolution: {integrity: sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==} - dependencies: - through2: 2.0.5 - dev: true - /split2/3.2.2: resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} dependencies: @@ -7560,13 +6766,6 @@ packages: engines: {node: '>= 0.8'} dev: true - /stream-combiner2/1.1.1: - resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==} - dependencies: - duplexer2: 0.1.4 - readable-stream: 2.3.7 - dev: true - /strict-event-emitter/0.2.4: resolution: {integrity: sha512-xIqTLS5azUH1djSUsLH9DbP6UnM/nI18vu8d43JigCQEoVsnY+mrlE+qv6kYqs6/1OkMnMIiL6ffedQSZStuoQ==} dependencies: @@ -7646,6 +6845,7 @@ packages: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 + dev: false /string_decoder/1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -7713,11 +6913,6 @@ packages: min-indent: 1.0.1 dev: true - /strip-json-comments/2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - dev: true - /strip-json-comments/3.0.1: resolution: {integrity: sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==} engines: {node: '>=8'} @@ -7835,22 +7030,6 @@ packages: engines: {node: '>=6'} dev: true - /temp-dir/2.0.0: - resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} - engines: {node: '>=8'} - dev: true - - /tempy/1.0.1: - resolution: {integrity: sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==} - engines: {node: '>=10'} - dependencies: - del: 6.1.1 - is-stream: 2.0.1 - temp-dir: 2.0.0 - type-fest: 0.16.0 - unique-string: 2.0.0 - dev: true - /terminal-link/2.1.1: resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} engines: {node: '>=8'} @@ -7890,13 +7069,6 @@ packages: xtend: 2.1.2 dev: false - /through2/2.0.5: - resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} - dependencies: - readable-stream: 2.3.7 - xtend: 4.0.2 - dev: true - /through2/4.0.2: resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} dependencies: @@ -7948,10 +7120,6 @@ packages: dependencies: punycode: 2.1.1 - /traverse/0.6.6: - resolution: {integrity: sha512-kdf4JKs8lbARxWdp7RKdNzoJBhGUcIalSYibuGyHJbmk40pOysQ0+QPvlkCOICOivDWU2IJo2rkrxyTK2AH4fw==} - dev: true - /trim-newlines/3.0.1: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} engines: {node: '>=8'} @@ -8164,11 +7332,6 @@ packages: engines: {node: '>=4'} dev: true - /type-fest/0.16.0: - resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} - engines: {node: '>=10'} - dev: true - /type-fest/0.18.1: resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} engines: {node: '>=10'} @@ -8209,14 +7372,6 @@ packages: engines: {node: '>=4.2.0'} hasBin: true - /uglify-js/3.16.1: - resolution: {integrity: sha512-X5BGTIDH8U6IQ1TIRP62YC36k+ULAa1d59BxlWvPUJ1NkW5L3FwcGfEzuVvGmhJFBu0YJ5Ge25tmRISqCmLiRQ==} - engines: {node: '>=0.8.0'} - hasBin: true - requiresBuild: true - dev: true - optional: true - /unbox-primitive/1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: @@ -8225,17 +7380,6 @@ packages: has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - /unique-string/2.0.0: - resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} - engines: {node: '>=8'} - dependencies: - crypto-random-string: 2.0.0 - dev: true - - /universal-user-agent/6.0.0: - resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==} - dev: true - /universalify/0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} engines: {node: '>= 4.0.0'} @@ -8251,10 +7395,6 @@ packages: dependencies: punycode: 2.1.1 - /url-join/4.0.1: - resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} - dev: true - /use-composed-ref/1.3.0_react@18.2.0: resolution: {integrity: sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==} peerDependencies: @@ -8428,10 +7568,6 @@ packages: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} - /wordwrap/1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - dev: true - /wrap-ansi/6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} @@ -8490,11 +7626,6 @@ packages: object-keys: 0.4.0 dev: false - /xtend/4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - dev: true - /y18n/5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -8523,19 +7654,6 @@ packages: engines: {node: '>=12'} dev: true - /yargs/16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} - dependencies: - cliui: 7.0.4 - escalade: 3.1.1 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 20.2.9 - dev: true - /yargs/17.5.1: resolution: {integrity: sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==} engines: {node: '>=12'} From 660726f76a1db4e395a85bbd1f39401d2060ac62 Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Fri, 24 Jun 2022 15:37:27 -0400 Subject: [PATCH 30/32] chore(global): :hammer: remove docs pkg --- apps/docs/.eslintrc.js | 4 ---- apps/docs/.lintstagedrc.js | 10 ---------- apps/docs/README.md | 30 ------------------------------ apps/docs/next-env.d.ts | 5 ----- apps/docs/next.config.js | 5 ----- apps/docs/package.json | 29 ----------------------------- apps/docs/pages/index.tsx | 10 ---------- apps/docs/tsconfig.json | 11 ----------- 8 files changed, 104 deletions(-) delete mode 100644 apps/docs/.eslintrc.js delete mode 100644 apps/docs/.lintstagedrc.js delete mode 100644 apps/docs/README.md delete mode 100644 apps/docs/next-env.d.ts delete mode 100644 apps/docs/next.config.js delete mode 100644 apps/docs/package.json delete mode 100644 apps/docs/pages/index.tsx delete mode 100644 apps/docs/tsconfig.json diff --git a/apps/docs/.eslintrc.js b/apps/docs/.eslintrc.js deleted file mode 100644 index a45ee88..0000000 --- a/apps/docs/.eslintrc.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - root: true, - extends: [ "@joekarow/eslint-config-netwerkr" ], -}; diff --git a/apps/docs/.lintstagedrc.js b/apps/docs/.lintstagedrc.js deleted file mode 100644 index eedb5b8..0000000 --- a/apps/docs/.lintstagedrc.js +++ /dev/null @@ -1,10 +0,0 @@ -const path = require('path'); - -const buildEslintCommand = (filenames) => - `next lint --fix --file ${filenames - .map((f) => path.relative(process.cwd(), f)) - .join(' --file ')}`; - -module.exports = { - '*.{js,jsx,ts,tsx}': [buildEslintCommand], -}; diff --git a/apps/docs/README.md b/apps/docs/README.md deleted file mode 100644 index 1d67ece..0000000 --- a/apps/docs/README.md +++ /dev/null @@ -1,30 +0,0 @@ -## Getting Started - -First, run the development server: - -```bash -yarn dev -``` - -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. - -You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file. - -[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`. - -The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. - -## Learn More - -To learn more about Next.js, take a look at the following resources: - -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. - -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! - -## Deploy on Vercel - -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_source=github.com&utm_medium=referral&utm_campaign=turborepo-readme) from the creators of Next.js. - -Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. diff --git a/apps/docs/next-env.d.ts b/apps/docs/next-env.d.ts deleted file mode 100644 index 4f11a03..0000000 --- a/apps/docs/next-env.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/// -/// - -// NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/apps/docs/next.config.js b/apps/docs/next.config.js deleted file mode 100644 index 01b3475..0000000 --- a/apps/docs/next.config.js +++ /dev/null @@ -1,5 +0,0 @@ -const withTM = require( "next-transpile-modules" )( [ "@joekarow/netwerkr-ui" ] ); - -module.exports = withTM( { - reactStrictMode: true, -} ); diff --git a/apps/docs/package.json b/apps/docs/package.json deleted file mode 100644 index ca16856..0000000 --- a/apps/docs/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "docs", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "next dev --port 3001", - "build": "next build", - "start": "next start", - "lint": "next lint" - }, - "lint-staged": { - "*": "next lint" - }, - "dependencies": { - "@joekarow/eslint-config-netwerkr": "workspace:^1.0.0", - "@joekarow/netwerkr-ui": "workspace:*", - "next": "^12.1.6", - "react": "^18.1.0", - "react-dom": "^18.1.0" - }, - "devDependencies": { - "@joekarow/netwerkr-config": "workspace:*", - "@types/node": "^17.0.45", - "@types/react": "18.0.14", - "eslint": "8.18.0", - "next-transpile-modules": "9.0.0", - "typescript": "^4.7.3" - } -} \ No newline at end of file diff --git a/apps/docs/pages/index.tsx b/apps/docs/pages/index.tsx deleted file mode 100644 index ce3ea5c..0000000 --- a/apps/docs/pages/index.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { Button } from "@joekarow/netwerkr-ui/Button"; - -export default function Docs() { - return ( -
-

Docs

-
- ); -} diff --git a/apps/docs/tsconfig.json b/apps/docs/tsconfig.json deleted file mode 100644 index 962ed6b..0000000 --- a/apps/docs/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "extends": "@joekarow/netwerkr-config/tsconfig/nextjs.json", - "include": [ - "next-env.d.ts", - "**/*.ts", - "**/*.tsx" - ], - "exclude": [ - "node_modules" - ] -} \ No newline at end of file From f1fbadc8ea4d6c4a757b363bd60978653adc068d Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Fri, 24 Jun 2022 16:00:04 -0400 Subject: [PATCH 31/32] chore(global): :hammer: update lock --- pnpm-lock.yaml | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8ba1c4f..4063500 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,33 +42,6 @@ importers: rimraf: 3.0.2 turbo: 1.2.16 - apps/docs: - specifiers: - '@joekarow/eslint-config-netwerkr': workspace:^1.0.0 - '@joekarow/netwerkr-config': workspace:* - '@joekarow/netwerkr-ui': workspace:* - '@types/node': ^17.0.45 - '@types/react': 18.0.14 - eslint: 8.18.0 - next: ^12.1.6 - next-transpile-modules: 9.0.0 - react: ^18.1.0 - react-dom: ^18.1.0 - typescript: ^4.7.3 - dependencies: - '@joekarow/eslint-config-netwerkr': link:../../packages/eslint-config-netwerkr - '@joekarow/netwerkr-ui': link:../../packages/ui - next: 12.1.6_biqbaboplfbrettd7655fr4n2y - react: 18.2.0 - react-dom: 18.2.0_react@18.2.0 - devDependencies: - '@joekarow/netwerkr-config': link:../../packages/netwerkr-config - '@types/node': 17.0.45 - '@types/react': 18.0.14 - eslint: 8.18.0 - next-transpile-modules: 9.0.0 - typescript: 4.7.3 - apps/web: specifiers: '@joekarow/eslint-config-netwerkr': workspace:^1.0.0 From 40190829c765bad9557f588808c53ad3b20bda5b Mon Sep 17 00:00:00 2001 From: Joe Karow <58997957+JoeKarow@users.noreply.github.com> Date: Sun, 26 Jun 2022 13:37:06 -0400 Subject: [PATCH 32/32] chore(global): :hammer: update lock file --- pnpm-lock.yaml | 745 ++++++++++++++++++++++--------------------------- 1 file changed, 337 insertions(+), 408 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4063500..73efe97 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,10 +37,10 @@ importers: eslint-plugin-import: 2.26.0_eslint@8.18.0 eslint-plugin-next: 0.0.0 husky: 8.0.1 - lint-staged: 13.0.2 + lint-staged: 13.0.3 prettier: 2.7.1 rimraf: 3.0.2 - turbo: 1.2.16 + turbo: 1.3.1 apps/web: specifiers: @@ -72,11 +72,11 @@ importers: '@joekarow/eslint-config-netwerkr': link:../../packages/eslint-config-netwerkr '@joekarow/netwerkr-lib': link:../../packages/lib '@joekarow/netwerkr-ui': link:../../packages/ui - '@next-auth/prisma-adapter': 1.0.3_3pq3kxnod62bzywextqtouqueq + '@next-auth/prisma-adapter': 1.0.3_vvk7yqe637uongvoquuzkhfrze axios: 0.27.2 dotenv: 16.0.1 next: 12.1.6_biqbaboplfbrettd7655fr4n2y - next-auth: 4.5.0_biqbaboplfbrettd7655fr4n2y + next-auth: 4.6.1_biqbaboplfbrettd7655fr4n2y react: 18.2.0 react-dom: 18.2.0_react@18.2.0 swr: 1.3.0_react@18.2.0 @@ -91,9 +91,9 @@ importers: eslint: 8.18.0 jest: 28.1.1_@types+node@17.0.45 jest-environment-jsdom: 28.1.1 - msw: 0.42.1_typescript@4.7.3 + msw: 0.42.3_typescript@4.7.4 next-transpile-modules: 9.0.0 - typescript: 4.7.3 + typescript: 4.7.4 design/diagrams: specifiers: {} @@ -113,11 +113,11 @@ importers: devDependencies: '@babel/core': 7.18.5 '@next/eslint-plugin-next': 12.1.6 - eslint: 8.17.0 - eslint-config-next: 12.1.6_qwqcuvhue6diaz4jqbkm5dp3pa + eslint: 8.18.0 + eslint-config-next: 12.1.6_ngoqluhis4kr6sqtxgtlos2xtq eslint-plugin-next: 0.0.0 next: 12.1.6_4cc5zw5azim2bix77d63le72su - typescript: 4.7.3 + typescript: 4.7.4 packages/lib: specifiers: @@ -158,14 +158,14 @@ importers: typescript: ^4.7.3 dependencies: '@next/eslint-plugin-next': 12.1.6 - eslint-config-next: 12.1.6_qwqcuvhue6diaz4jqbkm5dp3pa - eslint-config-prettier: 8.5.0_eslint@8.17.0 - eslint-plugin-react: 7.30.0_eslint@8.17.0 - eslint-plugin-react-hooks: 4.5.0_eslint@8.17.0 + eslint-config-next: 12.1.6_ngoqluhis4kr6sqtxgtlos2xtq + eslint-config-prettier: 8.5.0_eslint@8.18.0 + eslint-plugin-react: 7.30.1_eslint@8.18.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.18.0 devDependencies: - eslint: 8.17.0 + eslint: 8.18.0 next: 12.1.6_biqbaboplfbrettd7655fr4n2y - typescript: 4.7.3 + typescript: 4.7.4 packages/ui: specifiers: @@ -203,36 +203,36 @@ importers: zod: ^3.17.3 dependencies: '@joekarow/eslint-config-netwerkr': link:../eslint-config-netwerkr - '@mantine/core': 4.2.9_k5qmd4pret6g27b3vdtxxoxgem - '@mantine/dates': 4.2.9_gtthr2ylh7tj6fw5fvwgfnvydi - '@mantine/dropzone': 4.2.9_d6aiuykcth4kgoni4twbp62wfu - '@mantine/form': 4.2.9_react@18.2.0 - '@mantine/hooks': 4.2.9_react@18.2.0 - '@mantine/modals': 4.2.9_d6aiuykcth4kgoni4twbp62wfu - '@mantine/next': 4.2.9_4tlknlfxkqfornktk743nxrxwq - '@mantine/notifications': 4.2.9_d6aiuykcth4kgoni4twbp62wfu - '@mantine/prism': 4.2.9_d6aiuykcth4kgoni4twbp62wfu - '@mantine/rte': 4.2.9_d6aiuykcth4kgoni4twbp62wfu - '@mantine/spotlight': 4.2.9_d6aiuykcth4kgoni4twbp62wfu + '@mantine/core': 4.2.10_izy4l7cgp6pypywh7yghkjgrsm + '@mantine/dates': 4.2.10_ynoop3a3ti2ggmshxkndm5mmmu + '@mantine/dropzone': 4.2.10_aaeb3fubyphkmgx4v23kfmal6i + '@mantine/form': 4.2.10_react@18.2.0 + '@mantine/hooks': 4.2.10_react@18.2.0 + '@mantine/modals': 4.2.10_aaeb3fubyphkmgx4v23kfmal6i + '@mantine/next': 4.2.10_t6go2qepkhrcujdftz257haqfi + '@mantine/notifications': 4.2.10_aaeb3fubyphkmgx4v23kfmal6i + '@mantine/prism': 4.2.10_aaeb3fubyphkmgx4v23kfmal6i + '@mantine/rte': 4.2.10_aaeb3fubyphkmgx4v23kfmal6i + '@mantine/spotlight': 4.2.10_aaeb3fubyphkmgx4v23kfmal6i dayjs: 1.11.3 - next-auth: 4.5.0_biqbaboplfbrettd7655fr4n2y + next-auth: 4.6.1_biqbaboplfbrettd7655fr4n2y swr: 1.3.0_react@18.2.0 - tabler-icons-react: 1.49.0_react@18.2.0 + tabler-icons-react: 1.51.0_react@18.2.0 devDependencies: '@joekarow/netwerkr-config': link:../netwerkr-config '@joekarow/netwerkr-lib': link:../lib '@testing-library/jest-dom': 5.16.4 '@testing-library/react': 13.3.0_biqbaboplfbrettd7655fr4n2y - '@types/jest': 28.1.1 - '@types/react': 18.0.13 + '@types/jest': 28.1.3 + '@types/react': 18.0.14 '@types/react-dom': 18.0.5 - eslint: 8.17.0 + eslint: 8.18.0 jest: 28.1.1 jest-environment-jsdom: 28.1.1 next: 12.1.6_4cc5zw5azim2bix77d63le72su react: 18.2.0 react-dom: 18.2.0_react@18.2.0 - typescript: 4.7.3 + typescript: 4.7.4 vscode-generate-index-standalone: 1.6.0 zod: 3.17.3 @@ -243,7 +243,7 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.1.1 - '@jridgewell/trace-mapping': 0.3.9 + '@jridgewell/trace-mapping': 0.3.13 /@babel/code-frame/7.16.7: resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} @@ -294,7 +294,7 @@ packages: '@babel/compat-data': 7.18.5 '@babel/core': 7.18.5 '@babel/helper-validator-option': 7.16.7 - browserslist: 4.20.4 + browserslist: 4.21.0 semver: 6.3.0 /@babel/helper-environment-visitor/7.18.2: @@ -508,7 +508,7 @@ packages: resolution: {integrity: sha512-l4ddFwrc9rnR+EJsHsh+TJ4A35YqQz/UqcjtlX2ov53hlJYG5CxtQmNZxyajwDVmCxwy++rtvGU5HazCK4W41Q==} engines: {node: '>=6.9.0'} dependencies: - core-js-pure: 3.23.1 + core-js-pure: 3.23.2 regenerator-runtime: 0.13.9 /@babel/runtime/7.18.3: @@ -650,7 +650,6 @@ packages: /@commitlint/load/17.0.0: resolution: {integrity: sha512-XaiHF4yWQOPAI0O6wXvk+NYLtJn/Xb7jgZEeKd4C1ZWd7vR7u8z5h0PkWxSr0uLZGQsElGxv3fiZ32C5+q6M8w==} engines: {node: '>=v14'} - requiresBuild: true dependencies: '@commitlint/config-validator': 17.0.0 '@commitlint/execute-rule': 17.0.0 @@ -659,10 +658,10 @@ packages: '@types/node': 18.0.0 chalk: 4.1.2 cosmiconfig: 7.0.1 - cosmiconfig-typescript-loader: 2.0.1_ulc3d5rlymqegdowsm6lrv2bhq + cosmiconfig-typescript-loader: 2.0.2_qiyc72axg2v44xl4yovan2v55u lodash: 4.17.21 resolve-from: 5.0.0 - typescript: 4.7.2 + typescript: 4.7.4 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -759,7 +758,7 @@ packages: resolution: {integrity: sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ==} dev: false - /@emotion/react/11.7.1_pzekacn5ukhawg64s4hyluo4iy: + /@emotion/react/11.7.1_7eu627umq2cbnjxmysy5yb5jqq: resolution: {integrity: sha512-DV2Xe3yhkF1yT4uAUoJcYL1AmrnO5SVsdfvu+fBuS7IbByDeTVx9+wFmvx9Idzv7/78+9Mgx2Hcmr7Fex3tIyw==} peerDependencies: '@babel/core': ^7.0.0 @@ -778,7 +777,7 @@ packages: '@emotion/sheet': 1.1.1 '@emotion/utils': 1.0.0 '@emotion/weak-memoize': 0.2.5 - '@types/react': 18.0.13 + '@types/react': 18.0.14 hoist-non-react-statics: 3.3.2 react: 18.2.0 dev: false @@ -992,7 +991,7 @@ packages: '@jest/test-result': 28.1.1 '@jest/transform': 28.1.1 '@jest/types': 28.1.1 - '@jridgewell/trace-mapping': 0.3.9 + '@jridgewell/trace-mapping': 0.3.13 '@types/node': 18.0.0 chalk: 4.1.2 collect-v8-coverage: 1.0.1 @@ -1011,7 +1010,7 @@ packages: string-length: 4.0.2 strip-ansi: 6.0.1 terminal-link: 2.1.1 - v8-to-istanbul: 9.0.0 + v8-to-istanbul: 9.0.1 transitivePeerDependencies: - supports-color dev: true @@ -1027,7 +1026,7 @@ packages: resolution: {integrity: sha512-Y9dxC8ZpN3kImkk0LkK5XCEneYMAXlZ8m5bflmSL5vrwyeUpJfentacCUg6fOb8NOpOO7hz2+l37MV77T6BFPw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - '@jridgewell/trace-mapping': 0.3.9 + '@jridgewell/trace-mapping': 0.3.13 callsites: 3.1.0 graceful-fs: 4.2.10 dev: true @@ -1058,7 +1057,7 @@ packages: dependencies: '@babel/core': 7.18.5 '@jest/types': 28.1.1 - '@jridgewell/trace-mapping': 0.3.9 + '@jridgewell/trace-mapping': 0.3.13 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 1.8.0 @@ -1100,7 +1099,7 @@ packages: dependencies: '@jridgewell/set-array': 1.1.1 '@jridgewell/sourcemap-codec': 1.4.13 - '@jridgewell/trace-mapping': 0.3.9 + '@jridgewell/trace-mapping': 0.3.13 /@jridgewell/resolve-uri/3.0.7: resolution: {integrity: sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==} @@ -1113,99 +1112,106 @@ packages: /@jridgewell/sourcemap-codec/1.4.13: resolution: {integrity: sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==} + /@jridgewell/trace-mapping/0.3.13: + resolution: {integrity: sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==} + dependencies: + '@jridgewell/resolve-uri': 3.0.7 + '@jridgewell/sourcemap-codec': 1.4.13 + /@jridgewell/trace-mapping/0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: '@jridgewell/resolve-uri': 3.0.7 '@jridgewell/sourcemap-codec': 1.4.13 + dev: true - /@mantine/core/4.2.9_k5qmd4pret6g27b3vdtxxoxgem: - resolution: {integrity: sha512-25krgKF7FUFDsF5IYk+A/7GjgAZFzEcaFmGvscXS/7ccOickBmXzENwY9eJpv+MDo/7Sj5eiS0ZBi+WN27tdcw==} + /@mantine/core/4.2.10_izy4l7cgp6pypywh7yghkjgrsm: + resolution: {integrity: sha512-UCPhDcumygfBvik64VkMnBvqy0ZN9q+1AQ0fPdK8aAUvjRBWSyH0dJPL55vsK1ODboKktSEsyjHtb09DroL7fA==} peerDependencies: - '@mantine/hooks': 4.2.9 + '@mantine/hooks': 4.2.10 react: '>=16.8.0 || 18' react-dom: '>=16.8.0 || 18' dependencies: - '@mantine/hooks': 4.2.9_react@18.2.0 - '@mantine/styles': 4.2.9_ek6wcmahsc5qaoyrmshihzv2ie + '@mantine/hooks': 4.2.10_react@18.2.0 + '@mantine/styles': 4.2.10_sukxovx4mwg6d6626r5e3rv5k4 '@popperjs/core': 2.11.5 '@radix-ui/react-scroll-area': 0.1.4_react@18.2.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 react-popper: 2.3.0_ili5ylfne7i3hkfpsanzgkfu6m - react-textarea-autosize: 8.3.4_wlff343ihbuq5ksmlrv2tytkq4 + react-textarea-autosize: 8.3.4_luyos4mouogwq6z3wafb3re4ce transitivePeerDependencies: - '@babel/core' - '@types/react' dev: false - /@mantine/dates/4.2.9_gtthr2ylh7tj6fw5fvwgfnvydi: - resolution: {integrity: sha512-9snMNFIbC2PWPCQlfIC7pLQ9yWLImFQeECBPhULZHsmBMvy0OYH/V1jmp2BLIBNLAxzmfG19McX/iJl6Nd5DjA==} + /@mantine/dates/4.2.10_ynoop3a3ti2ggmshxkndm5mmmu: + resolution: {integrity: sha512-O6gaXr3Cj+J+rMxmy6t9PReqUHejpJh5JBK+kC3maNao4MqTFyf7cXftf4yZuePkPlBXVpN7+3oVBYG9JzlEjw==} peerDependencies: - '@mantine/core': 4.2.9 - '@mantine/hooks': 4.2.9 + '@mantine/core': 4.2.10 + '@mantine/hooks': 4.2.10 dayjs: ^1.10.5 react: '>=16.8.0 || 18' dependencies: - '@mantine/core': 4.2.9_k5qmd4pret6g27b3vdtxxoxgem - '@mantine/hooks': 4.2.9_react@18.2.0 + '@mantine/core': 4.2.10_izy4l7cgp6pypywh7yghkjgrsm + '@mantine/hooks': 4.2.10_react@18.2.0 dayjs: 1.11.3 react: 18.2.0 dev: false - /@mantine/dropzone/4.2.9_d6aiuykcth4kgoni4twbp62wfu: - resolution: {integrity: sha512-EJCx5iUHAUajlq3Ne+/z2nQRkPT+rhcJ56Kp8t2KZV42wYC2gAD3BVeZ+1dP8zRvSBo56mRPOxUWS77gBxSKeg==} + /@mantine/dropzone/4.2.10_aaeb3fubyphkmgx4v23kfmal6i: + resolution: {integrity: sha512-I31He0+gl1MDk/L72iGcQ4ekMlad3/n6oMk47PZ2F+aUCnsewldzYZ60/6jWwdYy9+u8CSnMbfwwYnFlXevPMA==} peerDependencies: - '@mantine/core': 4.2.9 - '@mantine/hooks': 4.2.9 + '@mantine/core': 4.2.10 + '@mantine/hooks': 4.2.10 react: '>=16.8.0 || 18' react-dom: '>=16.8.0 || 18' dependencies: - '@mantine/core': 4.2.9_k5qmd4pret6g27b3vdtxxoxgem - '@mantine/hooks': 4.2.9_react@18.2.0 + '@mantine/core': 4.2.10_izy4l7cgp6pypywh7yghkjgrsm + '@mantine/hooks': 4.2.10_react@18.2.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 react-dropzone: 11.7.1_react@18.2.0 dev: false - /@mantine/form/4.2.9_react@18.2.0: - resolution: {integrity: sha512-tr9DwZBNM404zKNk+5l7RWBxn23K0m6irRmdMeWtruxNRbHmpWncqJ68WExTzvJMk/tWaVchJwXmq7M2DO+RxQ==} + /@mantine/form/4.2.10_react@18.2.0: + resolution: {integrity: sha512-Baguw7ko0Q0arUQEv4mjbbsHVoagAERpvG13FdETfHhDougdzBcp3WuNxehvWMyW3H9Q836/eFaEYdyD5uzelQ==} peerDependencies: react: '>=16.8.0 || 18' dependencies: react: 18.2.0 dev: false - /@mantine/hooks/4.2.9_react@18.2.0: - resolution: {integrity: sha512-oLtlSXkl99vPGBTR9yoVCWoCQ25Bc4WhPci31iERMLMM/0fz85CZayQcAC4etq6un6rDiRNu6jq0YB1S5stmPg==} + /@mantine/hooks/4.2.10_react@18.2.0: + resolution: {integrity: sha512-gVYWeE4Ieu6FBwh9h/3FjcrrNzKx1k6Yw07/LSngJP0uT3fLt1gvY2p4PtPpOh7z2/RpTXBR1x+dOgEUKomYUQ==} peerDependencies: react: '>=16.8.0 || 18' dependencies: react: 18.2.0 dev: false - /@mantine/modals/4.2.9_d6aiuykcth4kgoni4twbp62wfu: - resolution: {integrity: sha512-uf4tW5X2xedKU0ykArFhmcOr1H7voi+s/mBAZ+aE+AxiR+MJVymSVmudK636vkZ3v7Ifpenxk1TzdNEiOjd/OQ==} + /@mantine/modals/4.2.10_aaeb3fubyphkmgx4v23kfmal6i: + resolution: {integrity: sha512-lIHgNkP/dAtJdco/1S1as6hw5QPQS/1Y/h7GuEdUQXXAcEQVPIqu+qwTeEzR9/K+sIciAg5IHazMr66OOf0/mw==} peerDependencies: - '@mantine/core': 4.2.9 - '@mantine/hooks': 4.2.9 + '@mantine/core': 4.2.10 + '@mantine/hooks': 4.2.10 react: '>=16.8.0 || 18' react-dom: '>=16.8.0 || 18' dependencies: - '@mantine/core': 4.2.9_k5qmd4pret6g27b3vdtxxoxgem - '@mantine/hooks': 4.2.9_react@18.2.0 + '@mantine/core': 4.2.10_izy4l7cgp6pypywh7yghkjgrsm + '@mantine/hooks': 4.2.10_react@18.2.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false - /@mantine/next/4.2.9_4tlknlfxkqfornktk743nxrxwq: - resolution: {integrity: sha512-avbxQeR9EerSHJ3HOg7rPAyBUoJ3/ifvYifyP/Sd6ap3hGzF1a/NN4tSRjoRmz1jTyAdmKIhL0k0alwi1OqA2A==} + /@mantine/next/4.2.10_t6go2qepkhrcujdftz257haqfi: + resolution: {integrity: sha512-Y5eoRyNvO5DlqJGgjbDThXIbJmgPGVPad65CaP/xOS4KDkxomB/PJJhMQ0FGW+FpqPtCcR8QnQ6E6ozION3xkQ==} peerDependencies: next: '*' react: '>=16.8.0 || 18' react-dom: '>=16.8.0 || 18' dependencies: - '@mantine/ssr': 4.2.9_ek6wcmahsc5qaoyrmshihzv2ie + '@mantine/ssr': 4.2.10_sukxovx4mwg6d6626r5e3rv5k4 next: 12.1.6_4cc5zw5azim2bix77d63le72su react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -1215,46 +1221,46 @@ packages: - '@types/react' dev: false - /@mantine/notifications/4.2.9_d6aiuykcth4kgoni4twbp62wfu: - resolution: {integrity: sha512-t19JCCBmJl9/vXlE4vLiz9WqssvNL50MFgJ30MwI+Rc36xO3PnvY3LX3hULKmqOtOlVdTcWz2RwbPkVjM8/c7A==} + /@mantine/notifications/4.2.10_aaeb3fubyphkmgx4v23kfmal6i: + resolution: {integrity: sha512-qGkbPoJqFAxlV5nPMiYPDU/2TqPkk1ifcNqJHZe8Vme407XPEW4dl1ZqHVlBfK2wuj3yIS/yMljjbGEgCD5yig==} peerDependencies: - '@mantine/core': 4.2.9 - '@mantine/hooks': 4.2.9 + '@mantine/core': 4.2.10 + '@mantine/hooks': 4.2.10 react: '>=16.8.0 || 18' react-dom: '>=16.8.0 || 18' dependencies: - '@mantine/core': 4.2.9_k5qmd4pret6g27b3vdtxxoxgem - '@mantine/hooks': 4.2.9_react@18.2.0 + '@mantine/core': 4.2.10_izy4l7cgp6pypywh7yghkjgrsm + '@mantine/hooks': 4.2.10_react@18.2.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 react-transition-group: 4.4.2_biqbaboplfbrettd7655fr4n2y dev: false - /@mantine/prism/4.2.9_d6aiuykcth4kgoni4twbp62wfu: - resolution: {integrity: sha512-oEiXZb8gQLQYgQC5MIWyAw50tw5jjzDP/vYhe+GQUAUmcNyJ2W5PDhBVzYG8YzZOJNiYzaQsbsegukIxw27YAQ==} + /@mantine/prism/4.2.10_aaeb3fubyphkmgx4v23kfmal6i: + resolution: {integrity: sha512-W0WZmY2A+tMvvR+2tCY+l2bwlqSacz99s3LivvIcy6v5qQCqbI2nwzpndCIt9kqCYEabo3KfYBi/uhQIwXjvCQ==} peerDependencies: - '@mantine/core': 4.2.9 - '@mantine/hooks': 4.2.9 + '@mantine/core': 4.2.10 + '@mantine/hooks': 4.2.10 react: '>=16.8.0 || 18' react-dom: '>=16.8.0 || 18' dependencies: - '@mantine/core': 4.2.9_k5qmd4pret6g27b3vdtxxoxgem - '@mantine/hooks': 4.2.9_react@18.2.0 + '@mantine/core': 4.2.10_izy4l7cgp6pypywh7yghkjgrsm + '@mantine/hooks': 4.2.10_react@18.2.0 prism-react-renderer: 1.3.3_react@18.2.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false - /@mantine/rte/4.2.9_d6aiuykcth4kgoni4twbp62wfu: - resolution: {integrity: sha512-VNp/Vl215nqpjufj6LbMupTILSQPdK+SxneeDiT+SsW1gw3k6Z7DOcAsfWLGDF5/kLLdIqMpHSCcgfg3AVQf1Q==} + /@mantine/rte/4.2.10_aaeb3fubyphkmgx4v23kfmal6i: + resolution: {integrity: sha512-rzOkfcJ6pZxLdARrBYRx/yCWyDTzAC+C+yMPGlrW9zig9lWng7OEhkAa8QdUQoTHTxgmY1tgbGLAnjdvzuR5lQ==} peerDependencies: - '@mantine/core': 4.2.9 - '@mantine/hooks': 4.2.9 + '@mantine/core': 4.2.10 + '@mantine/hooks': 4.2.10 react: '>=16.8.0 || 18' react-dom: '>=16.8.0 || 18' dependencies: - '@mantine/core': 4.2.9_k5qmd4pret6g27b3vdtxxoxgem - '@mantine/hooks': 4.2.9_react@18.2.0 + '@mantine/core': 4.2.10_izy4l7cgp6pypywh7yghkjgrsm + '@mantine/hooks': 4.2.10_react@18.2.0 '@modulz/radix-icons': 4.0.0_react@18.2.0 quill-mention: 3.1.0 react: 18.2.0 @@ -1262,32 +1268,32 @@ packages: react-quill: 2.0.0-beta.4_biqbaboplfbrettd7655fr4n2y dev: false - /@mantine/spotlight/4.2.9_d6aiuykcth4kgoni4twbp62wfu: - resolution: {integrity: sha512-KO/5KIppaausXzu+ucGNLMnMA5Frh5nw8fgTAL5gRTNQRpurE6QsNoWPPJAyc3YBdUywznqP2ULzSoj5kgsomA==} + /@mantine/spotlight/4.2.10_aaeb3fubyphkmgx4v23kfmal6i: + resolution: {integrity: sha512-RRLzMnj1fln99Y2yv+/n6YEAMp4j5k45R9wqURdXu4iE2DiabEq/Jnx2UoysVHkoAsg9k0uSGEJ2KqWL2RLyGg==} peerDependencies: - '@mantine/core': 4.2.9 - '@mantine/hooks': 4.2.9 + '@mantine/core': 4.2.10 + '@mantine/hooks': 4.2.10 react: '>=16.8.0 || 18' react-dom: '>=16.8.0 || 18' dependencies: - '@mantine/core': 4.2.9_k5qmd4pret6g27b3vdtxxoxgem - '@mantine/hooks': 4.2.9_react@18.2.0 + '@mantine/core': 4.2.10_izy4l7cgp6pypywh7yghkjgrsm + '@mantine/hooks': 4.2.10_react@18.2.0 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 dev: false - /@mantine/ssr/4.2.9_ek6wcmahsc5qaoyrmshihzv2ie: - resolution: {integrity: sha512-6B5R8ELRR+GQaXdnUUoSlZXEA5DiG4Pp91EOJTU+UYnieQ+gdLISp2HmYAvKMpETViOciBou6r8j2hH74tls4g==} + /@mantine/ssr/4.2.10_sukxovx4mwg6d6626r5e3rv5k4: + resolution: {integrity: sha512-+nq7BzjrJfMucMsEBANR38UHw62b+uVdxgz+vAM5Ky9JM/ukws2x9cJVdN21Mf5oywsAuZqrJR4twgFUqayHww==} peerDependencies: react: '>=16.8.0 || 18' react-dom: '>=16.8.0 || 18' dependencies: '@emotion/cache': 11.7.1 - '@emotion/react': 11.7.1_pzekacn5ukhawg64s4hyluo4iy + '@emotion/react': 11.7.1_7eu627umq2cbnjxmysy5yb5jqq '@emotion/serialize': 1.0.2 '@emotion/server': 11.4.0 '@emotion/utils': 1.0.0 - '@mantine/styles': 4.2.9_ek6wcmahsc5qaoyrmshihzv2ie + '@mantine/styles': 4.2.10_sukxovx4mwg6d6626r5e3rv5k4 csstype: 3.0.9 html-react-parser: 1.3.0_react@18.2.0 react: 18.2.0 @@ -1298,14 +1304,14 @@ packages: - '@types/react' dev: false - /@mantine/styles/4.2.9_ek6wcmahsc5qaoyrmshihzv2ie: - resolution: {integrity: sha512-UT5m1412N20HPl+Mg2zTN7gP34J1GIa3o7eQ+fHThAQkAMm/vBehzX8nkbdxwyYkwuu6+/4kizcbM/Op4jMI3g==} + /@mantine/styles/4.2.10_sukxovx4mwg6d6626r5e3rv5k4: + resolution: {integrity: sha512-dWwCzBLYE8CwPJSPlV3MyIuR4ET3u6O+T+VmxY0lab6w/bqflseNSh9UBIW2AUoIYtxPVDjbZfzeTw32aV8CxA==} peerDependencies: react: '>=16.8.0 || 18' react-dom: '>=16.8.0 || 18' dependencies: '@emotion/cache': 11.7.1 - '@emotion/react': 11.7.1_pzekacn5ukhawg64s4hyluo4iy + '@emotion/react': 11.7.1_7eu627umq2cbnjxmysy5yb5jqq '@emotion/serialize': 1.0.2 '@emotion/utils': 1.0.0 clsx: 1.1.1 @@ -1333,8 +1339,8 @@ packages: set-cookie-parser: 2.5.0 dev: true - /@mswjs/interceptors/0.16.5: - resolution: {integrity: sha512-YhwcRKB42hdV2QxftYw1l0GMaXEfR7Rsg6yA4Ue+cwht5Z3IEWV8nggOjStDPlsksR8zg1plIeiTx6zHIVNiOg==} + /@mswjs/interceptors/0.16.6: + resolution: {integrity: sha512-7ax1sRx5s4ZWl0KvVhhcPOUoPbCCkVh8M8hYaqOyvoAQOiqLVzy+Z6Mh2ywPhYw4zudr5Mo/E8UT/zJBO/Wxrw==} engines: {node: '>=14'} dependencies: '@open-draft/until': 1.0.3 @@ -1347,14 +1353,14 @@ packages: - supports-color dev: true - /@next-auth/prisma-adapter/1.0.3_3pq3kxnod62bzywextqtouqueq: + /@next-auth/prisma-adapter/1.0.3_vvk7yqe637uongvoquuzkhfrze: resolution: {integrity: sha512-3Lq1cD3ytKM3EGKJZ4UZvlqshLtlPvYxLeCrUV9ifYwYlq51kmDaHjsIawlp8EbH5pE1UhlsvtlXMery7RghtA==} peerDependencies: '@prisma/client': '>=2.26.0 || >=3' next-auth: ^4.0.1 dependencies: '@prisma/client': 3.15.2 - next-auth: 4.5.0_biqbaboplfbrettd7655fr4n2y + next-auth: 4.6.1_biqbaboplfbrettd7655fr4n2y dev: false /@next/env/12.1.6: @@ -1696,8 +1702,8 @@ packages: '@sinonjs/commons': 1.8.3 dev: true - /@testing-library/dom/8.13.0: - resolution: {integrity: sha512-9VHgfIatKNXQNaZTtLnalIy0jNZzY35a4S3oi08YAt9Hv1VsfZ/DfA45lM8D/UhtHBGJ4/lGwp0PZkVndRkoOQ==} + /@testing-library/dom/8.14.0: + resolution: {integrity: sha512-m8FOdUo77iMTwVRCyzWcqxlEIk+GnopbrRI15a0EaLbpZSCinIVI4kSQzWhkShK83GogvEFJSsHF3Ws0z1vrqA==} engines: {node: '>=12'} dependencies: '@babel/code-frame': 7.16.7 @@ -1715,7 +1721,7 @@ packages: engines: {node: '>=8', npm: '>=6', yarn: '>=1'} dependencies: '@babel/runtime': 7.18.3 - '@types/testing-library__jest-dom': 5.14.3 + '@types/testing-library__jest-dom': 5.14.5 aria-query: 5.0.0 chalk: 3.0.0 css: 3.0.0 @@ -1733,7 +1739,7 @@ packages: react-dom: ^18.0.0 || 18 dependencies: '@babel/runtime': 7.18.3 - '@testing-library/dom': 8.13.0 + '@testing-library/dom': 8.14.0 '@types/react-dom': 18.0.5 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -1753,20 +1759,20 @@ packages: path-browserify: 1.0.1 dev: true - /@tsconfig/node10/1.0.8: - resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==} + /@tsconfig/node10/1.0.9: + resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} dev: true - /@tsconfig/node12/1.0.9: - resolution: {integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==} + /@tsconfig/node12/1.0.11: + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} dev: true - /@tsconfig/node14/1.0.1: - resolution: {integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==} + /@tsconfig/node14/1.0.3: + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: true - /@tsconfig/node16/1.0.2: - resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==} + /@tsconfig/node16/1.0.3: + resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} dev: true /@types/aria-query/4.2.2: @@ -1857,11 +1863,11 @@ packages: '@types/istanbul-lib-report': 3.0.0 dev: true - /@types/jest/28.1.1: - resolution: {integrity: sha512-C2p7yqleUKtCkVjlOur9BWVA4HgUQmEj/HWCt5WzZ5mLXrWnyIfl0wGuArc+kBXsy0ZZfLp+7dywB4HtSVYGVA==} + /@types/jest/28.1.3: + resolution: {integrity: sha512-Tsbjk8Y2hkBaY/gJsataeb4q9Mubw9EOz7+4RjPkzD5KjTvHHs7cpws22InaoXxAVAhF5HfFbzJjo6oKWqSZLw==} dependencies: - jest-matcher-utils: 27.5.1 - pretty-format: 27.5.1 + jest-matcher-utils: 28.1.1 + pretty-format: 28.1.1 dev: true /@types/js-levenshtein/1.1.1: @@ -1922,23 +1928,15 @@ packages: /@types/react-dom/18.0.5: resolution: {integrity: sha512-OWPWTUrY/NIrjsAPkAk1wW9LZeIjSvkXRhclsFO8CZcZGCOg2G0YZy4ft+rOyYxy8B7ui5iZzi9OkDebZ7/QSA==} dependencies: - '@types/react': 18.0.13 + '@types/react': 18.0.14 dev: true - /@types/react/18.0.13: - resolution: {integrity: sha512-psqptIYQxGUFuGYwP3KCFVtPTkMpIcrqFmtKblWEUQhLuYLpHBwJkXhjp6eHfDM5IbyskY4x7qQpLedEsPkHlA==} - dependencies: - '@types/prop-types': 15.7.5 - '@types/scheduler': 0.16.2 - csstype: 3.1.0 - /@types/react/18.0.14: resolution: {integrity: sha512-x4gGuASSiWmo0xjDLpm5mPb52syZHJx02VKbqUKdLmKtAwIh63XClGsiTI1K6DO5q7ox4xAsQrU+Gl3+gGXF9Q==} dependencies: '@types/prop-types': 15.7.5 '@types/scheduler': 0.16.2 csstype: 3.1.0 - dev: true /@types/scheduler/0.16.2: resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} @@ -1953,10 +1951,10 @@ packages: resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} dev: true - /@types/testing-library__jest-dom/5.14.3: - resolution: {integrity: sha512-oKZe+Mf4ioWlMuzVBaXQ9WDnEm1+umLx0InILg+yvZVBBDmzV5KfZyLrCvadtWcx8+916jLmHafcmqqffl+iIw==} + /@types/testing-library__jest-dom/5.14.5: + resolution: {integrity: sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==} dependencies: - '@types/jest': 28.1.1 + '@types/jest': 28.1.3 dev: true /@types/tough-cookie/4.0.2: @@ -1967,8 +1965,8 @@ packages: resolution: {integrity: sha512-XAahCdThVuCFDQLT7R7Pk/vqeObFNL3YqRyFZg+AqAP/W1/w3xHaIxuW7WszQqTbIBOPRcItYJIou3i/mppu3Q==} dev: false - /@types/whatwg-url/8.2.1: - resolution: {integrity: sha512-2YubE1sjj5ifxievI5Ge1sckb9k/Er66HyR2c+3+I6VDUUg1TLPdYYTEbQ+DjRkS4nTxMJhgWfSfMRD2sl2EYQ==} + /@types/whatwg-url/8.2.2: + resolution: {integrity: sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==} dependencies: '@types/node': 18.0.0 '@types/webidl-conversions': 6.1.1 @@ -1984,8 +1982,8 @@ packages: '@types/yargs-parser': 21.0.0 dev: true - /@typescript-eslint/parser/5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4: - resolution: {integrity: sha512-ekqoNRNK1lAcKhZESN/PdpVsWbP9jtiNqzFWkp/yAUdZvJalw2heCYuqRmM5eUJSIYEkgq5sGOjq+ZqsLMjtRA==} + /@typescript-eslint/parser/5.29.0_b5e7v2qnwxfo6hmiq56u52mz3e: + resolution: {integrity: sha512-ruKWTv+x0OOxbzIw9nW5oWlUopvP/IQDjB5ZqmTglLIoDTctLlAJpAQFpNPJP/ZI7hTT9sARBosEfaKbcFuECw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1994,28 +1992,28 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.28.0 - '@typescript-eslint/types': 5.28.0 - '@typescript-eslint/typescript-estree': 5.28.0_typescript@4.7.3 + '@typescript-eslint/scope-manager': 5.29.0 + '@typescript-eslint/types': 5.29.0 + '@typescript-eslint/typescript-estree': 5.29.0_typescript@4.7.4 debug: 4.3.4 - eslint: 8.17.0 - typescript: 4.7.3 + eslint: 8.18.0 + typescript: 4.7.4 transitivePeerDependencies: - supports-color - /@typescript-eslint/scope-manager/5.28.0: - resolution: {integrity: sha512-LeBLTqF/he1Z+boRhSqnso6YrzcKMTQ8bO/YKEe+6+O/JGof9M0g3IJlIsqfrK/6K03MlFIlycbf1uQR1IjE+w==} + /@typescript-eslint/scope-manager/5.29.0: + resolution: {integrity: sha512-etbXUT0FygFi2ihcxDZjz21LtC+Eps9V2xVx09zFoN44RRHPrkMflidGMI+2dUs821zR1tDS6Oc9IXxIjOUZwA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.28.0 - '@typescript-eslint/visitor-keys': 5.28.0 + '@typescript-eslint/types': 5.29.0 + '@typescript-eslint/visitor-keys': 5.29.0 - /@typescript-eslint/types/5.28.0: - resolution: {integrity: sha512-2OOm8ZTOQxqkPbf+DAo8oc16sDlVR5owgJfKheBkxBKg1vAfw2JsSofH9+16VPlN9PWtv8Wzhklkqw3k/zCVxA==} + /@typescript-eslint/types/5.29.0: + resolution: {integrity: sha512-X99VbqvAXOMdVyfFmksMy3u8p8yoRGITgU1joBJPzeYa0rhdf5ok9S56/itRoUSh99fiDoMtarSIJXo7H/SnOg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /@typescript-eslint/typescript-estree/5.28.0_typescript@4.7.3: - resolution: {integrity: sha512-9GX+GfpV+F4hdTtYc6OV9ZkyYilGXPmQpm6AThInpBmKJEyRSIjORJd1G9+bknb7OTFYL+Vd4FBJAO6T78OVqA==} + /@typescript-eslint/typescript-estree/5.29.0_typescript@4.7.4: + resolution: {integrity: sha512-mQvSUJ/JjGBdvo+1LwC+GY2XmSYjK1nAaVw2emp/E61wEVYEyibRHCqm1I1vEKbXCpUKuW4G7u9ZCaZhJbLoNQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -2023,22 +2021,22 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.28.0 - '@typescript-eslint/visitor-keys': 5.28.0 + '@typescript-eslint/types': 5.29.0 + '@typescript-eslint/visitor-keys': 5.29.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.7 - tsutils: 3.21.0_typescript@4.7.3 - typescript: 4.7.3 + tsutils: 3.21.0_typescript@4.7.4 + typescript: 4.7.4 transitivePeerDependencies: - supports-color - /@typescript-eslint/visitor-keys/5.28.0: - resolution: {integrity: sha512-BtfP1vCor8cWacovzzPFOoeW4kBQxzmhxGoOpt0v1SFvG+nJ0cWaVdJk7cky1ArTcFHHKNIxyo2LLr3oNkSuXA==} + /@typescript-eslint/visitor-keys/5.29.0: + resolution: {integrity: sha512-Hpb/mCWsjILvikMQoZIE3voc9wtQcS0A9FUw3h8bhr9UxBdtI/tw1ZDZUOXHXLOVMedKCH5NxyzATwnU78bWCQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.28.0 + '@typescript-eslint/types': 5.29.0 eslint-visitor-keys: 3.3.0 /@xmldom/xmldom/0.7.5: @@ -2463,16 +2461,15 @@ packages: resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} dev: true - /browserslist/4.20.4: - resolution: {integrity: sha512-ok1d+1WpnU24XYN7oC3QWgTyMhY/avPJ/r9T00xxvUOIparA/gc+UPUMaod3i+G6s+nI2nUb9xZ5k794uIwShw==} + /browserslist/4.21.0: + resolution: {integrity: sha512-UQxE0DIhRB5z/zDz9iA03BOfxaN2+GQdBYH/2WrSIWEUrnpzTPJbhqt+umq6r3acaPRTW1FNTkrcp0PXgtFkvA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001352 - electron-to-chromium: 1.4.155 - escalade: 3.1.1 + caniuse-lite: 1.0.30001359 + electron-to-chromium: 1.4.170 node-releases: 2.0.5 - picocolors: 1.0.0 + update-browserslist-db: 1.0.4_browserslist@4.21.0 /bser/2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} @@ -2535,8 +2532,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite/1.0.30001352: - resolution: {integrity: sha512-GUgH8w6YergqPQDGWhJGt8GDRnY0L/iJVQcU3eJ46GYf52R8tk0Wxp0PymuFVZboJYXGiCqwozAYZNRjVj6IcA==} + /caniuse-lite/1.0.30001359: + resolution: {integrity: sha512-Xln/BAsPzEuiVLgJ2/45IaqD9jShtk3Y33anKb4+yLwQzws3+v6odKfpgES/cDEaZMLzSChpIGdbOYtH9MyuHw==} /chalk/1.1.3: resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} @@ -2716,8 +2713,8 @@ packages: /color-name/1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - /colorette/2.0.17: - resolution: {integrity: sha512-hJo+3Bkn0NCHybn9Tu35fIeoOKGOk5OCC32y4Hz2It+qlCO2Q3DeQ1hRn/tDDMQKRYUEzqsl7jbF6dYKjlE60g==} + /colorette/2.0.19: + resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} dev: true /combined-stream/1.0.8: @@ -2808,8 +2805,8 @@ packages: resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} engines: {node: '>= 0.6'} - /core-js-pure/3.23.1: - resolution: {integrity: sha512-3qNgf6TqI3U1uhuSYRzJZGfFd4T+YlbyVPl+jgRiKjdZopvG4keZQwWZDAWpu1UH9nCgTpUzIV3GFawC7cJsqg==} + /core-js-pure/3.23.2: + resolution: {integrity: sha512-t6u7H4Ff/yZNk+zqTr74UjCcZ3k8ApBryeLLV4rYQd9aF3gqmjjGjjR44ENfeBMH8VVvSynIjAJ0mUuFhzQtrA==} requiresBuild: true /core-js/2.6.12: @@ -2818,12 +2815,12 @@ packages: requiresBuild: true dev: true - /core-util-is/1.0.2: - resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + /core-util-is/1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: false - /cosmiconfig-typescript-loader/2.0.1_ulc3d5rlymqegdowsm6lrv2bhq: - resolution: {integrity: sha512-B9s6sX/omXq7I6gC6+YgLmrBFMJhPWew7ty/X5Tuwtd2zOSgWaUdXjkuVwbe3qqcdETo60+1nSVMekq//LIXVA==} + /cosmiconfig-typescript-loader/2.0.2_qiyc72axg2v44xl4yovan2v55u: + resolution: {integrity: sha512-KmE+bMjWMXJbkWCeY4FJX/npHuZPNr9XF9q9CIQ/bpFwi1qHfCmSiKarrCcRa0LO4fWjk93pVoeRtJAkTGcYNw==} engines: {node: '>=12', npm: '>=6'} peerDependencies: '@types/node': '*' @@ -2831,8 +2828,8 @@ packages: dependencies: '@types/node': 18.0.0 cosmiconfig: 7.0.1 - ts-node: 10.8.0_ulc3d5rlymqegdowsm6lrv2bhq - typescript: 4.7.2 + ts-node: 10.8.1_qiyc72axg2v44xl4yovan2v55u + typescript: 4.7.4 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -3050,11 +3047,6 @@ packages: engines: {node: '>=8'} dev: true - /diff-sequences/27.5.1: - resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dev: true - /diff-sequences/28.1.1: resolution: {integrity: sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -3150,8 +3142,8 @@ packages: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true - /electron-to-chromium/1.4.155: - resolution: {integrity: sha512-niPzKBSYPG06gxLKO0c2kEmgdRMTtIbNrBlvD31Ld8Q57b/K0218U4j8u/OOt25XE1eFOn47FcmQVdx9R1qqxA==} + /electron-to-chromium/1.4.170: + resolution: {integrity: sha512-rZ8PZLhK4ORPjFqLp9aqC4/S1j4qWFsPPz13xmWdrbBkU/LlxMcok+f+6f8YnQ57MiZwKtOaW15biZZsY5Igvw==} /emittery/0.10.2: resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} @@ -3254,7 +3246,7 @@ packages: source-map: 0.6.1 dev: true - /eslint-config-next/12.1.6_qwqcuvhue6diaz4jqbkm5dp3pa: + /eslint-config-next/12.1.6_ngoqluhis4kr6sqtxgtlos2xtq: resolution: {integrity: sha512-qoiS3g/EPzfCTkGkaPBSX9W0NGE/B1wNO3oWrd76QszVGrdpLggNqcO8+LR6MB0CNqtp9Q8NoeVrxNVbzM9hqA==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 @@ -3266,38 +3258,38 @@ packages: dependencies: '@next/eslint-plugin-next': 12.1.6 '@rushstack/eslint-patch': 1.1.3 - '@typescript-eslint/parser': 5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4 - eslint: 8.17.0 + '@typescript-eslint/parser': 5.29.0_b5e7v2qnwxfo6hmiq56u52mz3e + eslint: 8.18.0 eslint-import-resolver-node: 0.3.6 - eslint-import-resolver-typescript: 2.7.1_3yxiwxzsqipdmy4jwrlv6vgfmy - eslint-plugin-import: 2.26.0_sjsolishy5r5hg73i5w4jemvma - eslint-plugin-jsx-a11y: 6.5.1_eslint@8.17.0 - eslint-plugin-react: 7.30.0_eslint@8.17.0 - eslint-plugin-react-hooks: 4.5.0_eslint@8.17.0 + eslint-import-resolver-typescript: 2.7.1_srrmf5la5dmnsfe2mpg6sboreu + eslint-plugin-import: 2.26.0_tv7mfbbpdai4jfqt22shqpzlh4 + eslint-plugin-jsx-a11y: 6.6.0_eslint@8.18.0 + eslint-plugin-react: 7.30.1_eslint@8.18.0 + eslint-plugin-react-hooks: 4.6.0_eslint@8.18.0 next: 12.1.6_biqbaboplfbrettd7655fr4n2y - typescript: 4.7.3 + typescript: 4.7.4 transitivePeerDependencies: - eslint-import-resolver-webpack - supports-color - /eslint-config-prettier/8.5.0_eslint@8.17.0: + /eslint-config-prettier/8.5.0_eslint@8.18.0: resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.17.0 + eslint: 8.18.0 dev: false /eslint-import-resolver-node/0.3.6: resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} dependencies: debug: 3.2.7 - resolve: 1.22.0 + resolve: 1.22.1 transitivePeerDependencies: - supports-color - /eslint-import-resolver-typescript/2.7.1_3yxiwxzsqipdmy4jwrlv6vgfmy: + /eslint-import-resolver-typescript/2.7.1_srrmf5la5dmnsfe2mpg6sboreu: resolution: {integrity: sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==} engines: {node: '>=4'} peerDependencies: @@ -3305,16 +3297,16 @@ packages: eslint-plugin-import: '*' dependencies: debug: 4.3.4 - eslint: 8.17.0 - eslint-plugin-import: 2.26.0_sjsolishy5r5hg73i5w4jemvma + eslint: 8.18.0 + eslint-plugin-import: 2.26.0_tv7mfbbpdai4jfqt22shqpzlh4 glob: 7.2.3 is-glob: 4.0.3 - resolve: 1.22.0 + resolve: 1.22.1 tsconfig-paths: 3.14.1 transitivePeerDependencies: - supports-color - /eslint-module-utils/2.7.3_pbmiczca3qpqvnkfcriol7sq7u: + /eslint-module-utils/2.7.3_qqdd6sztsqjscz2z77otnj6nm4: resolution: {integrity: sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==} engines: {node: '>=4'} peerDependencies: @@ -3332,10 +3324,10 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4 + '@typescript-eslint/parser': 5.29.0_b5e7v2qnwxfo6hmiq56u52mz3e debug: 3.2.7 eslint-import-resolver-node: 0.3.6 - eslint-import-resolver-typescript: 2.7.1_3yxiwxzsqipdmy4jwrlv6vgfmy + eslint-import-resolver-typescript: 2.7.1_srrmf5la5dmnsfe2mpg6sboreu find-up: 2.1.0 transitivePeerDependencies: - supports-color @@ -3387,7 +3379,7 @@ packages: is-glob: 4.0.3 minimatch: 3.1.2 object.values: 1.1.5 - resolve: 1.22.0 + resolve: 1.22.1 tsconfig-paths: 3.14.1 transitivePeerDependencies: - eslint-import-resolver-typescript @@ -3395,7 +3387,7 @@ packages: - supports-color dev: true - /eslint-plugin-import/2.26.0_sjsolishy5r5hg73i5w4jemvma: + /eslint-plugin-import/2.26.0_tv7mfbbpdai4jfqt22shqpzlh4: resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} engines: {node: '>=4'} peerDependencies: @@ -3405,28 +3397,28 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.28.0_ud6rd4xtew5bv4yhvkvu24pzm4 + '@typescript-eslint/parser': 5.29.0_b5e7v2qnwxfo6hmiq56u52mz3e array-includes: 3.1.5 array.prototype.flat: 1.3.0 debug: 2.6.9 doctrine: 2.1.0 - eslint: 8.17.0 + eslint: 8.18.0 eslint-import-resolver-node: 0.3.6 - eslint-module-utils: 2.7.3_pbmiczca3qpqvnkfcriol7sq7u + eslint-module-utils: 2.7.3_qqdd6sztsqjscz2z77otnj6nm4 has: 1.0.3 is-core-module: 2.9.0 is-glob: 4.0.3 minimatch: 3.1.2 object.values: 1.1.5 - resolve: 1.22.0 + resolve: 1.22.1 tsconfig-paths: 3.14.1 transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - /eslint-plugin-jsx-a11y/6.5.1_eslint@8.17.0: - resolution: {integrity: sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==} + /eslint-plugin-jsx-a11y/6.6.0_eslint@8.18.0: + resolution: {integrity: sha512-kTeLuIzpNhXL2CwLlc8AHI0aFRwWHcg483yepO9VQiHzM9bZwJdzTkzBszbuPrbgGmq2rlX/FaT2fJQsjUSHsw==} engines: {node: '>=4.0'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 @@ -3439,26 +3431,27 @@ packages: axobject-query: 2.2.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 8.17.0 + eslint: 8.18.0 has: 1.0.3 - jsx-ast-utils: 3.3.0 + jsx-ast-utils: 3.3.1 language-tags: 1.0.5 minimatch: 3.1.2 + semver: 6.3.0 /eslint-plugin-next/0.0.0: resolution: {integrity: sha512-IldNDVb6WNduggwRbYzSGZhaskUwVecJ6fhmqwX01+S1aohwAWNzU4me6y47DDzpD/g0fdayNBGxEdt9vKkUtg==} dev: true - /eslint-plugin-react-hooks/4.5.0_eslint@8.17.0: - resolution: {integrity: sha512-8k1gRt7D7h03kd+SAAlzXkQwWK22BnK6GKZG+FJA6BAGy22CFvl8kCIXKpVux0cCxMWDQUPqSok0LKaZ0aOcCw==} + /eslint-plugin-react-hooks/4.6.0_eslint@8.18.0: + resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.17.0 + eslint: 8.18.0 - /eslint-plugin-react/7.30.0_eslint@8.17.0: - resolution: {integrity: sha512-RgwH7hjW48BleKsYyHK5vUAvxtE9SMPDKmcPRQgtRCYaZA0XQPt5FSkrU3nhz5ifzMZcA8opwmRJ2cmOO8tr5A==} + /eslint-plugin-react/7.30.1_eslint@8.18.0: + resolution: {integrity: sha512-NbEvI9jtqO46yJA3wcRF9Mo0lF9T/jhdHqhCHXiXtD+Zcb98812wvokjWpU7Q4QH5edo6dmqrukxVvWWXHlsUg==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 @@ -3466,16 +3459,16 @@ packages: array-includes: 3.1.5 array.prototype.flatmap: 1.3.0 doctrine: 2.1.0 - eslint: 8.17.0 + eslint: 8.18.0 estraverse: 5.3.0 - jsx-ast-utils: 3.3.0 + jsx-ast-utils: 3.3.1 minimatch: 3.1.2 object.entries: 1.1.5 object.fromentries: 2.0.5 object.hasown: 1.1.1 object.values: 1.1.5 prop-types: 15.8.1 - resolve: 2.0.0-next.3 + resolve: 2.0.0-next.4 semver: 6.3.0 string.prototype.matchall: 4.0.7 @@ -3486,15 +3479,6 @@ packages: esrecurse: 4.3.0 estraverse: 5.3.0 - /eslint-utils/3.0.0_eslint@8.17.0: - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - dependencies: - eslint: 8.17.0 - eslint-visitor-keys: 2.1.0 - /eslint-utils/3.0.0_eslint@8.18.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} @@ -3503,7 +3487,6 @@ packages: dependencies: eslint: 8.18.0 eslint-visitor-keys: 2.1.0 - dev: true /eslint-visitor-keys/2.1.0: resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} @@ -3513,49 +3496,6 @@ packages: resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /eslint/8.17.0: - resolution: {integrity: sha512-gq0m0BTJfci60Fz4nczYxNAlED+sMcihltndR8t9t1evnU/azx53x3t2UHXC/uRjcbvRw/XctpaNygSTcQD+Iw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint/eslintrc': 1.3.0 - '@humanwhocodes/config-array': 0.9.5 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.17.0 - eslint-visitor-keys: 3.3.0 - espree: 9.3.2 - esquery: 1.4.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - functional-red-black-tree: 1.0.1 - glob-parent: 6.0.2 - globals: 13.15.0 - ignore: 5.2.0 - import-fresh: 3.3.0 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - js-yaml: 4.1.0 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.1 - regexpp: 3.2.0 - strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 - text-table: 0.2.0 - v8-compile-cache: 2.3.0 - transitivePeerDependencies: - - supports-color - /eslint/8.18.0: resolution: {integrity: sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3598,7 +3538,6 @@ packages: v8-compile-cache: 2.3.0 transitivePeerDependencies: - supports-color - dev: true /espree/9.3.2: resolution: {integrity: sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==} @@ -4290,7 +4229,7 @@ packages: engines: {node: '>=12.0.0'} dependencies: ansi-escapes: 4.3.2 - chalk: 4.1.2 + chalk: 4.1.1 cli-cursor: 3.1.0 cli-width: 3.0.0 external-editor: 3.1.0 @@ -4761,16 +4700,6 @@ packages: - supports-color dev: true - /jest-diff/27.5.1: - resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 27.5.1 - jest-get-type: 27.5.1 - pretty-format: 27.5.1 - dev: true - /jest-diff/28.1.1: resolution: {integrity: sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -4830,11 +4759,6 @@ packages: jest-util: 28.1.1 dev: true - /jest-get-type/27.5.1: - resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dev: true - /jest-get-type/28.0.2: resolution: {integrity: sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -4867,16 +4791,6 @@ packages: pretty-format: 28.1.1 dev: true - /jest-matcher-utils/27.5.1: - resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - chalk: 4.1.2 - jest-diff: 27.5.1 - jest-get-type: 27.5.1 - pretty-format: 27.5.1 - dev: true - /jest-matcher-utils/28.1.1: resolution: {integrity: sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} @@ -4947,7 +4861,7 @@ packages: jest-pnp-resolver: 1.2.2_jest-resolve@28.1.1 jest-util: 28.1.1 jest-validate: 28.1.1 - resolve: 1.22.0 + resolve: 1.22.1 resolve.exports: 1.1.0 slash: 3.0.0 dev: true @@ -5246,8 +5160,8 @@ packages: engines: {'0': node >= 0.2.0} dev: true - /jsx-ast-utils/3.3.0: - resolution: {integrity: sha512-XzO9luP6L0xkxwhIJMTJQpZo/eeN60K08jHdexfD569AGxeNug6UketeHXEhROoM8aR7EcUoOQmIhcJQjcuq8Q==} + /jsx-ast-utils/3.3.1: + resolution: {integrity: sha512-pxrjmNpeRw5wwVeWyEAk7QJu2GnBO3uzPFmHCKJJFPKK2Cy0cWL23krGtLdnMmbIi6/FjlrQpPyfQI19ByPOhQ==} engines: {node: '>=4.0'} dependencies: array-includes: 3.1.5 @@ -5300,13 +5214,13 @@ packages: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true - /lint-staged/13.0.2: - resolution: {integrity: sha512-qQLfLTh9z34eMzfEHENC+QBskZfxjomrf+snF3xJ4BzilORbD989NLqQ00ughsF/A+PT41e87+WsMFabf9++pQ==} + /lint-staged/13.0.3: + resolution: {integrity: sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug==} engines: {node: ^14.13.1 || >=16.0.0} hasBin: true dependencies: cli-truncate: 3.1.0 - colorette: 2.0.17 + colorette: 2.0.19 commander: 9.3.0 debug: 4.3.4 execa: 6.1.0 @@ -5333,7 +5247,7 @@ packages: optional: true dependencies: cli-truncate: 2.1.0 - colorette: 2.0.17 + colorette: 2.0.19 log-update: 4.0.0 p-map: 4.0.0 rfdc: 1.3.0 @@ -5377,7 +5291,7 @@ packages: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} dependencies: - chalk: 4.1.2 + chalk: 4.1.1 is-unicode-supported: 0.1.0 dev: true @@ -5542,7 +5456,7 @@ packages: /mongodb-connection-string-url/2.5.2: resolution: {integrity: sha512-tWDyIG8cQlI5k3skB6ywaEA5F9f5OntrKKsT/Lteub2zgwSUlhqEN2inGgBTm8bpYJf8QYBdA/5naz65XDpczA==} dependencies: - '@types/whatwg-url': 8.2.1 + '@types/whatwg-url': 8.2.2 whatwg-url: 11.0.0 dev: false @@ -5567,8 +5481,8 @@ packages: /ms/2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - /msw/0.42.1_typescript@4.7.3: - resolution: {integrity: sha512-LZZuz7VddL45gCBgfBWHyXj6a4W7OTJY0mZPoipJ3P/xwbuJwrtwB3IJrWlqBM8aink/eTKlRxwzmtIAwCj5yQ==} + /msw/0.42.3_typescript@4.7.4: + resolution: {integrity: sha512-zrKBIGCDsNUCZLd3DLSeUtRruZ0riwJgORg9/bSDw3D0PTI8XUGAK3nC0LJA9g0rChGuKaWK/SwObA8wpFrz4g==} engines: {node: '>=14'} hasBin: true requiresBuild: true @@ -5579,7 +5493,7 @@ packages: optional: true dependencies: '@mswjs/cookies': 0.2.1 - '@mswjs/interceptors': 0.16.5 + '@mswjs/interceptors': 0.16.6 '@open-draft/until': 1.0.3 '@types/cookie': 0.4.1 '@types/js-levenshtein': 1.1.1 @@ -5597,7 +5511,7 @@ packages: statuses: 2.0.1 strict-event-emitter: 0.2.4 type-fest: 1.4.0 - typescript: 4.7.3 + typescript: 4.7.4 yargs: 17.5.1 transitivePeerDependencies: - encoding @@ -5612,7 +5526,7 @@ packages: dev: false /mute-stream/0.0.7: - resolution: {integrity: sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=} + resolution: {integrity: sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==} dev: true /mute-stream/0.0.8: @@ -5627,8 +5541,8 @@ packages: /natural-compare/1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - /next-auth/4.5.0_biqbaboplfbrettd7655fr4n2y: - resolution: {integrity: sha512-B6gYRIbqtj8nlDsx3y2Ruwp/mvZnItPs7VUULY43QYw+M9xtDPIM9EBZ3ryd/wNYA3MDteBJlzGm/ivseXcmJA==} + /next-auth/4.6.1_biqbaboplfbrettd7655fr4n2y: + resolution: {integrity: sha512-Fq0+NUZ0Kp7LhT0UZzZkSBcRb0W6DYlhgTUZragSqW5HXTJ7ShgFqOhH5aFoGSpXIxsZQmfFBbt9Oun09mf+aA==} engines: {node: ^12.19.0 || ^14.15.0 || ^16.13.0} peerDependencies: nodemailer: ^6.6.5 @@ -5644,8 +5558,8 @@ packages: jose: 4.8.1 oauth: 0.9.15 openid-client: 5.1.6 - preact: 10.8.0 - preact-render-to-string: 5.2.0_preact@10.8.0 + preact: 10.8.2 + preact-render-to-string: 5.2.0_preact@10.8.2 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 uuid: 8.3.2 @@ -5677,7 +5591,7 @@ packages: optional: true dependencies: '@next/env': 12.1.6 - caniuse-lite: 1.0.30001352 + caniuse-lite: 1.0.30001359 postcss: 8.4.5 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -5718,7 +5632,7 @@ packages: optional: true dependencies: '@next/env': 12.1.6 - caniuse-lite: 1.0.30001352 + caniuse-lite: 1.0.30001359 postcss: 8.4.5 react: 18.2.0 react-dom: 18.2.0_react@18.2.0 @@ -5763,7 +5677,7 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.0 + resolve: 1.22.1 semver: 5.7.1 validate-npm-package-license: 3.0.4 dev: true @@ -5941,7 +5855,7 @@ packages: engines: {node: '>=10'} dependencies: bl: 4.1.0 - chalk: 4.1.2 + chalk: 4.1.1 cli-cursor: 3.1.0 cli-spinners: 2.6.1 is-interactive: 1.0.0 @@ -6119,17 +6033,17 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 - /preact-render-to-string/5.2.0_preact@10.8.0: + /preact-render-to-string/5.2.0_preact@10.8.2: resolution: {integrity: sha512-+RGwSW78Cl+NsZRUbFW1MGB++didsfqRk+IyRVTaqy+3OjtpKK/6HgBtfszUX0YXMfo41k2iaQSseAHGKEwrbg==} peerDependencies: preact: '>=10' dependencies: - preact: 10.8.0 + preact: 10.8.2 pretty-format: 3.8.0 dev: false - /preact/10.8.0: - resolution: {integrity: sha512-2yXIS/h/UP5go0rBKesZqx0LuScqjECtH5pq8SQu3t6X2XNUWjCY4pcViUttDu3qX6NMxGiA/RuxOZd00QLCzg==} + /preact/10.8.2: + resolution: {integrity: sha512-AKGt0BsDSiAYzVS78jZ9qRwuorY2CoSZtf1iOC6gLb/3QyZt+fLT09aYJBjRc/BEcRc4j+j3ggERMdNE43i1LQ==} dev: false /prelude-ls/1.1.2: @@ -6319,7 +6233,7 @@ packages: react-dom: 18.2.0_react@18.2.0 dev: false - /react-textarea-autosize/8.3.4_wlff343ihbuq5ksmlrv2tytkq4: + /react-textarea-autosize/8.3.4_luyos4mouogwq6z3wafb3re4ce: resolution: {integrity: sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ==} engines: {node: '>=10'} peerDependencies: @@ -6328,7 +6242,7 @@ packages: '@babel/runtime': 7.18.3 react: 18.2.0 use-composed-ref: 1.3.0_react@18.2.0 - use-latest: 1.2.1_wlff343ihbuq5ksmlrv2tytkq4 + use-latest: 1.2.1_luyos4mouogwq6z3wafb3re4ce transitivePeerDependencies: - '@types/react' dev: false @@ -6375,7 +6289,7 @@ packages: /readable-stream/1.0.34: resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} dependencies: - core-util-is: 1.0.2 + core-util-is: 1.0.3 inherits: 2.0.4 isarray: 0.0.1 string_decoder: 0.10.31 @@ -6384,7 +6298,7 @@ packages: /readable-stream/2.3.7: resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} dependencies: - core-util-is: 1.0.2 + core-util-is: 1.0.3 inherits: 2.0.4 isarray: 1.0.0 process-nextick-args: 2.0.1 @@ -6449,7 +6363,7 @@ packages: dev: true /resolve-dir/1.0.1: - resolution: {integrity: sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=} + resolution: {integrity: sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==} engines: {node: '>=0.10.0'} dependencies: expand-tilde: 2.0.2 @@ -6477,19 +6391,21 @@ packages: engines: {node: '>=10'} dev: true - /resolve/1.22.0: - resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} + /resolve/1.22.1: + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} hasBin: true dependencies: is-core-module: 2.9.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /resolve/2.0.0-next.3: - resolution: {integrity: sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==} + /resolve/2.0.0-next.4: + resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} + hasBin: true dependencies: is-core-module: 2.9.0 path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 /restore-cursor/2.0.0: resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} @@ -6990,8 +6906,8 @@ packages: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: true - /tabler-icons-react/1.49.0_react@18.2.0: - resolution: {integrity: sha512-e6gWcqN2WNN9MZE04uA1t9/u7+GzEZnIPB2grGOtJnFrU+FkJ0mV5ezcUQx/HIypoePmzlp8c9uEB1Kfg68UgQ==} + /tabler-icons-react/1.51.0_react@18.2.0: + resolution: {integrity: sha512-N6ws6GIa0L9OSylS81DrJECb7+QcW84to09V956QwnsNSBmCsWYuWWiI6FqHg7Gd5TsvfFBgKiw1Iw69Ti12Og==} peerDependencies: react: '>= 16.8.0 || 18' dependencies: @@ -7105,8 +7021,8 @@ packages: code-block-writer: 11.0.0 dev: true - /ts-node/10.8.0_ulc3d5rlymqegdowsm6lrv2bhq: - resolution: {integrity: sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==} + /ts-node/10.8.1_qiyc72axg2v44xl4yovan2v55u: + resolution: {integrity: sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g==} hasBin: true peerDependencies: '@swc/core': '>=1.2.50' @@ -7120,10 +7036,10 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.8 - '@tsconfig/node12': 1.0.9 - '@tsconfig/node14': 1.0.1 - '@tsconfig/node16': 1.0.2 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.3 '@types/node': 18.0.0 acorn: 8.7.1 acorn-walk: 8.2.0 @@ -7131,7 +7047,7 @@ packages: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.7.2 + typescript: 4.7.4 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true @@ -7154,137 +7070,146 @@ packages: /tslib/2.4.0: resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} - /tsutils/3.21.0_typescript@4.7.3: + /tsutils/3.21.0_typescript@4.7.4: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.7.3 + typescript: 4.7.4 + + /turbo-android-arm64/1.3.1: + resolution: {integrity: sha512-JcnZh9tLbZDpKaXaao/s/k4qXt3TbNEc1xEYYXurVWnqiMueGeS7QAtThVB85ZSqzj7djk+ngSrZabPy5RG25Q==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true - /turbo-darwin-64/1.2.16: - resolution: {integrity: sha512-dyitLQJdH3uLVdlH9jAkP4LqEO/K+wOXjUqOzjTciRLjQPzmsNY60/bmFHODADK4eBBl1nxbtn7tmmoT4vS1qA==} + /turbo-darwin-64/1.3.1: + resolution: {integrity: sha512-TIGDradVFoGck86VIuM38KaDeNxdKaP2ti93UpQeFw26ZhPIeTAa6wUgnz4DQP6bjIvQmXlYJ16ETZb4tFYygg==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-darwin-arm64/1.2.16: - resolution: {integrity: sha512-Ex6uM4HU7rGXdhvJMpzNpp6qxglJ98nWeIi5qR/lBXHLjK3UCvSW8BEALArUJYJTXS9FZBq1a5LowFqXYsfDcA==} + /turbo-darwin-arm64/1.3.1: + resolution: {integrity: sha512-aLBq8KiMMmop7uKBkvDt/y+eER2UzxZyUzh1KWcZ7DZB5tFZnknEUyf2qggY2vd2WcDVfQ1EUjZ0MFxhhVaVzA==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-freebsd-64/1.2.16: - resolution: {integrity: sha512-onRGKMvog8B3XDssSBIAg+FrEq9pcBoAybP7bpi/uYIH1L/WQ7YMmLn88X9JX19ehYuVOVZrjap4jWH2GIkU8A==} + /turbo-freebsd-64/1.3.1: + resolution: {integrity: sha512-BOr/ifmxjlBeuDkDQLUJtzqzXQ2zPHHcI14U9Ys+z4Mza1uzQn/oSJqQvU5RuyRBVai7noMrpPS7QuKtDz0Cyg==} cpu: [x64] os: [freebsd] requiresBuild: true dev: true optional: true - /turbo-freebsd-arm64/1.2.16: - resolution: {integrity: sha512-S0EqPqxwnJuVNNXRgcHB0r8ai8LSrpHdihVJKRM7WYmIR7isccBEf/G9agrt73sCXwjvenxFs4HDR7cSvGt14Q==} + /turbo-freebsd-arm64/1.3.1: + resolution: {integrity: sha512-bHPZjK4xnGLz6/oxl5XmWhdYOdtBMSadrGhptWSZ0wBGNn/gQzDTeZAkQeqhh25AD0eM1hzDe8QUz8GlS43lrA==} cpu: [arm64] os: [freebsd] requiresBuild: true dev: true optional: true - /turbo-linux-32/1.2.16: - resolution: {integrity: sha512-ecbqmGOxgTWePGrowtwyvZGfvwaLxFWmPK21cU0PS+fzoZBaVmzYmniTdd/2EkGCw7TOPhtiT22v96fWcnRycA==} + /turbo-linux-32/1.3.1: + resolution: {integrity: sha512-c5okimusfvivu9wS8MKSr+rXpQAV+M4TyR9JX+spIK8B1I7AjfECAqiK2D5WFWO1bQ33bUAuxXOEpUuLpgEm+g==} cpu: [ia32] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-64/1.2.16: - resolution: {integrity: sha512-q6gtdMWCzM0Sktkd73zcaQjNoeM1MjtrbwQBctWN/Sgj0eiPBPnzpIvokvx98x7RLf4qyI99/mlme0Dn5fx21A==} + /turbo-linux-64/1.3.1: + resolution: {integrity: sha512-O0pNX+N5gbmRcyZT+jsCPUNCN3DpIZHqNN35j7MT5nr0IkZa83CGbZnrEc+7Qws//jFJ26EngqD/JyRB2E8nwQ==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-arm/1.2.16: - resolution: {integrity: sha512-du7uvExELNb89V3g7iM0XP21fR1Yl3EoHRcOfQz32oUqnS7idCKvbEowM9LtiluQl1dKcOIJjn1nlvvsqzkhOg==} + /turbo-linux-arm/1.3.1: + resolution: {integrity: sha512-f+r6JIwv/7ylxxJtgVi8cVw+6oNoD/r1IMTU6ejH8bfyMZZko4kkNwH9VYribQ44KDkJEgzdltnzFG5f6Hz10g==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-arm64/1.2.16: - resolution: {integrity: sha512-gUf67tYJ/N09WAZTTmtUWYrqm381tZxiulnRGAIM+iRsaTrweyUKZaYXwJvlPpI/cQOw25wCG9/IyvxLeagL8A==} + /turbo-linux-arm64/1.3.1: + resolution: {integrity: sha512-D6+1MeS/x+/VCCooHPU4NIpB8qI/eW70eMRA79bqTPaxxluP0g2CaxXgucco05P51YtNsSxeVcH7X76iadON6Q==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-mips64le/1.2.16: - resolution: {integrity: sha512-U5BM+Ql3z13uRtwMmKH/8eL+9DdTgyijC2gaX4xP0RTlcN7WfAstg8Fg/Tn2Vw9vtpVDdxwpw7dvX4kw2ghhpA==} + /turbo-linux-mips64le/1.3.1: + resolution: {integrity: sha512-yL64jgwVCziOpBcdpMxIsczkgwwOvmaqKObFKWyCNlk/LOl5NKODLwXEaryLaALtpwUAoS4ltMSI64gKqmLrOA==} cpu: [mips64el] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-ppc64le/1.2.16: - resolution: {integrity: sha512-HQWSCmVZyc5chw7Ie2ZcfZPfmM06mbEEu0Wl11Y5QWh1ZzhPNQHs/TsF4I9r146wHi62XgcrKFjkw4ARZiWsLA==} + /turbo-linux-ppc64le/1.3.1: + resolution: {integrity: sha512-tjnM+8RosykS1lBpOPLDXGOz/Po2h796ty17uBd7IFslWPOI16a/akFOFoLH8PCiGGJMe3CYgRhEKn4sPWNxFA==} cpu: [ppc64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-windows-32/1.2.16: - resolution: {integrity: sha512-0ZtPz5FK2qZjznMG4vvRyaabrhO8BgbN+tBx1wjXSuoICTAjYi5TwRVVRh59c3x7qQmR21Cv33CrhLBPRfeAlg==} + /turbo-windows-32/1.3.1: + resolution: {integrity: sha512-Snnv+TVigulqwK6guHKndMlrLw88NXj8BtHRGrEksPR0QkyuHlwLf+tHYB4HmvpUl4W9lnXQf4hsljWP64BEdw==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /turbo-windows-64/1.2.16: - resolution: {integrity: sha512-j8iAIixq/rGfBpHNbYOosxMasZrGuMzLILEuQGDxZgKNpYgobJ15QFHQlGR9sit1b8qPU5zZX4CtByRtkgH1Bw==} + /turbo-windows-64/1.3.1: + resolution: {integrity: sha512-gLeohHG07yIhON1Pp0YNE00i/yzip2GFhkA6HdJaK95uE5bKULpqxuO414hOS/WzGwrGVXBKCImfe24XXh5T+Q==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /turbo-windows-arm64/1.2.16: - resolution: {integrity: sha512-4GpcJG3B8R9WDhwfT8fu6ZmOOfseCg6Q1cy/G8/zpJQk769yYcSnD8MgQhYgHB58aVFxZcMxBvLL6UA0UrpgWA==} + /turbo-windows-arm64/1.3.1: + resolution: {integrity: sha512-0MWcHLvYgs/qdcoTFZ55nu8HhrpeiwXEMw9cbNfgqTlzy3OsrAsovYEJFyQ8KSxeploiD+QJlCdvhxx+5C0tlA==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /turbo/1.2.16: - resolution: {integrity: sha512-PPUa2COKgFkyb6N3uF9AnIY3l9FZkF15QQ3U1K2wpI01D3gyGKQO0Q3DUQ4ipmciP0teBfL7H+l/QTrUA9IVvQ==} + /turbo/1.3.1: + resolution: {integrity: sha512-DXckoGKlZgvTn/PrHpBI/57aeXR7tfyPf2dK+4LmBczt24ELA3o6eYHeA7KzfpSYhB2LE9qveYFQ6mJ1OzGjjg==} hasBin: true requiresBuild: true optionalDependencies: - turbo-darwin-64: 1.2.16 - turbo-darwin-arm64: 1.2.16 - turbo-freebsd-64: 1.2.16 - turbo-freebsd-arm64: 1.2.16 - turbo-linux-32: 1.2.16 - turbo-linux-64: 1.2.16 - turbo-linux-arm: 1.2.16 - turbo-linux-arm64: 1.2.16 - turbo-linux-mips64le: 1.2.16 - turbo-linux-ppc64le: 1.2.16 - turbo-windows-32: 1.2.16 - turbo-windows-64: 1.2.16 - turbo-windows-arm64: 1.2.16 + turbo-android-arm64: 1.3.1 + turbo-darwin-64: 1.3.1 + turbo-darwin-arm64: 1.3.1 + turbo-freebsd-64: 1.3.1 + turbo-freebsd-arm64: 1.3.1 + turbo-linux-32: 1.3.1 + turbo-linux-64: 1.3.1 + turbo-linux-arm: 1.3.1 + turbo-linux-arm64: 1.3.1 + turbo-linux-mips64le: 1.3.1 + turbo-linux-ppc64le: 1.3.1 + turbo-windows-32: 1.3.1 + turbo-windows-64: 1.3.1 + turbo-windows-arm64: 1.3.1 dev: true /type-check/0.3.2: @@ -7334,14 +7259,8 @@ packages: engines: {node: '>=10'} dev: true - /typescript/4.7.2: - resolution: {integrity: sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - - /typescript/4.7.3: - resolution: {integrity: sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==} + /typescript/4.7.4: + resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} engines: {node: '>=4.2.0'} hasBin: true @@ -7363,6 +7282,16 @@ packages: engines: {node: '>= 10.0.0'} dev: true + /update-browserslist-db/1.0.4_browserslist@4.21.0: + resolution: {integrity: sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.0 + escalade: 3.1.1 + picocolors: 1.0.0 + /uri-js/4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: @@ -7376,7 +7305,7 @@ packages: react: 18.2.0 dev: false - /use-isomorphic-layout-effect/1.1.2_wlff343ihbuq5ksmlrv2tytkq4: + /use-isomorphic-layout-effect/1.1.2_luyos4mouogwq6z3wafb3re4ce: resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} peerDependencies: '@types/react': '*' @@ -7385,11 +7314,11 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.13 + '@types/react': 18.0.14 react: 18.2.0 dev: false - /use-latest/1.2.1_wlff343ihbuq5ksmlrv2tytkq4: + /use-latest/1.2.1_luyos4mouogwq6z3wafb3re4ce: resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==} peerDependencies: '@types/react': '*' @@ -7398,9 +7327,9 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.13 + '@types/react': 18.0.14 react: 18.2.0 - use-isomorphic-layout-effect: 1.1.2_wlff343ihbuq5ksmlrv2tytkq4 + use-isomorphic-layout-effect: 1.1.2_luyos4mouogwq6z3wafb3re4ce dev: false /util-deprecate/1.0.2: @@ -7418,11 +7347,11 @@ packages: /v8-compile-cache/2.3.0: resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} - /v8-to-istanbul/9.0.0: - resolution: {integrity: sha512-HcvgY/xaRm7isYmyx+lFKA4uQmfUbN0J4M0nNItvzTvH/iQ9kW5j/t4YSR+Ge323/lrgDAWJoF46tzGQHwBHFw==} + /v8-to-istanbul/9.0.1: + resolution: {integrity: sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==} engines: {node: '>=10.12.0'} dependencies: - '@jridgewell/trace-mapping': 0.3.9 + '@jridgewell/trace-mapping': 0.3.13 '@types/istanbul-lib-coverage': 2.0.4 convert-source-map: 1.8.0 dev: true