diff --git a/.gitignore b/.gitignore index efd8b094e5..7a3b785b8a 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ # dependencies /node_modules +node_modules /.pnp .pnp.js @@ -39,4 +40,6 @@ next-env.d.ts # contentlayer .contentlayer -.turbo \ No newline at end of file +.turbo +dist +.next \ No newline at end of file diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000000..bb9611ad3c --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +auto-install-peers = true +# public-hoist-pattern[]=*prisma* diff --git a/apps/process-queue/package.json b/apps/process-queue/package.json new file mode 100644 index 0000000000..8d3b1cf85f --- /dev/null +++ b/apps/process-queue/package.json @@ -0,0 +1,22 @@ +{ + "name": "process-queue", + "version": "1.0.0", + "private": true, + "scripts": { + "dev": "rm -rf dist && pnpm run build && nodemon ./dist/src/index.js", + "build": "tsc" + }, + "dependencies": { + "bull": "^4.11.3" + }, + "devDependencies": { + "@types/node": "^17.0.12", + "@types/react": "^18.0.22", + "@types/react-dom": "^18.0.7", + "eslint-config-custom": "workspace:*", + "nodemon": "^3.0.1", + "ts-node": "^10.9.1", + "tsconfig": "workspace:*", + "typescript": "5.1.6" + } +} diff --git a/apps/process-queue/src/index.ts b/apps/process-queue/src/index.ts new file mode 100644 index 0000000000..d436925ae8 --- /dev/null +++ b/apps/process-queue/src/index.ts @@ -0,0 +1,18 @@ +// A long running service that consumes requests from a queue and passes them to our Next.js endpoints to be handled. +// This helps us avoid being rate limited by the OpenAI API. + +import Queue from 'bull'; + +console.log("Started process queue") + +const apiRequestQueue = new Queue("openai-requests", { + redis: { + host: process.env.UPSTASH_REDIS_URL, + }, +}); + +apiRequestQueue.process(async (job) => { + const requestData = job.data; + console.log("🚀 ~ file: process-queue.ts:8 ~ apiRequestQueue.process ~ requestData:", requestData) + // Logic to make the API call and handle the response +}); diff --git a/apps/process-queue/tsconfig.json b/apps/process-queue/tsconfig.json new file mode 100644 index 0000000000..ca81a97e58 --- /dev/null +++ b/apps/process-queue/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "tsconfig/base.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "dist" + }, + "include": ["src/"], + "exclude": ["dist", "build", "node_modules"] +} diff --git a/.env.example b/apps/web/.env.example similarity index 100% rename from .env.example rename to apps/web/.env.example diff --git a/.eslintrc.json b/apps/web/.eslintrc.json similarity index 100% rename from .eslintrc.json rename to apps/web/.eslintrc.json diff --git a/app/(app)/bulk-archive/page.tsx b/apps/web/app/(app)/bulk-archive/page.tsx similarity index 100% rename from app/(app)/bulk-archive/page.tsx rename to apps/web/app/(app)/bulk-archive/page.tsx diff --git a/app/(app)/layout.tsx b/apps/web/app/(app)/layout.tsx similarity index 100% rename from app/(app)/layout.tsx rename to apps/web/app/(app)/layout.tsx diff --git a/app/(app)/mail/page.tsx b/apps/web/app/(app)/mail/page.tsx similarity index 100% rename from app/(app)/mail/page.tsx rename to apps/web/app/(app)/mail/page.tsx diff --git a/app/(app)/no-reply/page.tsx b/apps/web/app/(app)/no-reply/page.tsx similarity index 100% rename from app/(app)/no-reply/page.tsx rename to apps/web/app/(app)/no-reply/page.tsx diff --git a/app/(app)/onboarding/page.tsx b/apps/web/app/(app)/onboarding/page.tsx similarity index 100% rename from app/(app)/onboarding/page.tsx rename to apps/web/app/(app)/onboarding/page.tsx diff --git a/app/(app)/planned/page.tsx b/apps/web/app/(app)/planned/page.tsx similarity index 100% rename from app/(app)/planned/page.tsx rename to apps/web/app/(app)/planned/page.tsx diff --git a/app/(app)/providers.tsx b/apps/web/app/(app)/providers.tsx similarity index 100% rename from app/(app)/providers.tsx rename to apps/web/app/(app)/providers.tsx diff --git a/app/(app)/settings/AboutSection.tsx b/apps/web/app/(app)/settings/AboutSection.tsx similarity index 100% rename from app/(app)/settings/AboutSection.tsx rename to apps/web/app/(app)/settings/AboutSection.tsx diff --git a/app/(app)/settings/AboutSectionForm.tsx b/apps/web/app/(app)/settings/AboutSectionForm.tsx similarity index 100% rename from app/(app)/settings/AboutSectionForm.tsx rename to apps/web/app/(app)/settings/AboutSectionForm.tsx diff --git a/app/(app)/settings/DeleteSection.tsx b/apps/web/app/(app)/settings/DeleteSection.tsx similarity index 100% rename from app/(app)/settings/DeleteSection.tsx rename to apps/web/app/(app)/settings/DeleteSection.tsx diff --git a/app/(app)/settings/LabelsSection.tsx b/apps/web/app/(app)/settings/LabelsSection.tsx similarity index 100% rename from app/(app)/settings/LabelsSection.tsx rename to apps/web/app/(app)/settings/LabelsSection.tsx diff --git a/app/(app)/settings/RulesSection.tsx b/apps/web/app/(app)/settings/RulesSection.tsx similarity index 100% rename from app/(app)/settings/RulesSection.tsx rename to apps/web/app/(app)/settings/RulesSection.tsx diff --git a/app/(app)/settings/page.tsx b/apps/web/app/(app)/settings/page.tsx similarity index 100% rename from app/(app)/settings/page.tsx rename to apps/web/app/(app)/settings/page.tsx diff --git a/app/(app)/stats/page.tsx b/apps/web/app/(app)/stats/page.tsx similarity index 100% rename from app/(app)/stats/page.tsx rename to apps/web/app/(app)/stats/page.tsx diff --git a/app/(app)/usage/page.tsx b/apps/web/app/(app)/usage/page.tsx similarity index 100% rename from app/(app)/usage/page.tsx rename to apps/web/app/(app)/usage/page.tsx diff --git a/app/(landing)/components/page.tsx b/apps/web/app/(landing)/components/page.tsx similarity index 100% rename from app/(landing)/components/page.tsx rename to apps/web/app/(landing)/components/page.tsx diff --git a/app/(landing)/home.css b/apps/web/app/(landing)/home.css similarity index 100% rename from app/(landing)/home.css rename to apps/web/app/(landing)/home.css diff --git a/app/(landing)/login/LoginForm.tsx b/apps/web/app/(landing)/login/LoginForm.tsx similarity index 100% rename from app/(landing)/login/LoginForm.tsx rename to apps/web/app/(landing)/login/LoginForm.tsx diff --git a/app/(landing)/login/page.tsx b/apps/web/app/(landing)/login/page.tsx similarity index 100% rename from app/(landing)/login/page.tsx rename to apps/web/app/(landing)/login/page.tsx diff --git a/app/(landing)/page.tsx b/apps/web/app/(landing)/page.tsx similarity index 100% rename from app/(landing)/page.tsx rename to apps/web/app/(landing)/page.tsx diff --git a/app/(landing)/privacy/page.tsx b/apps/web/app/(landing)/privacy/page.tsx similarity index 90% rename from app/(landing)/privacy/page.tsx rename to apps/web/app/(landing)/privacy/page.tsx index 4cc5df006b..5c88567792 100644 --- a/app/(landing)/privacy/page.tsx +++ b/apps/web/app/(landing)/privacy/page.tsx @@ -9,7 +9,7 @@ export const metadata: Metadata = { export default function Terms() { const post = allLegalPosts.find( - (post) => post._raw.flattenedPath === "legal/privacy" + (post) => post._raw.flattenedPath === "privacy" ); if (!post) throw new Error(`Post not found for slug: "privacy"`); diff --git a/app/(landing)/terms/page.tsx b/apps/web/app/(landing)/terms/page.tsx similarity index 90% rename from app/(landing)/terms/page.tsx rename to apps/web/app/(landing)/terms/page.tsx index be98931d81..245c288808 100644 --- a/app/(landing)/terms/page.tsx +++ b/apps/web/app/(landing)/terms/page.tsx @@ -9,7 +9,7 @@ export const metadata: Metadata = { export default function Terms() { const post = allLegalPosts.find( - (post) => post._raw.flattenedPath === "legal/terms" + (post) => post._raw.flattenedPath === "terms" ); if (!post) throw new Error(`Post not found for slug: "terms"`); diff --git a/app/api/ai/act/controller.ts b/apps/web/app/api/ai/act/controller.ts similarity index 100% rename from app/api/ai/act/controller.ts rename to apps/web/app/api/ai/act/controller.ts diff --git a/app/api/ai/act/route.ts b/apps/web/app/api/ai/act/route.ts similarity index 100% rename from app/api/ai/act/route.ts rename to apps/web/app/api/ai/act/route.ts diff --git a/app/api/ai/act/validation.ts b/apps/web/app/api/ai/act/validation.ts similarity index 100% rename from app/api/ai/act/validation.ts rename to apps/web/app/api/ai/act/validation.ts diff --git a/app/api/ai/classify/route.ts b/apps/web/app/api/ai/classify/route.ts similarity index 100% rename from app/api/ai/classify/route.ts rename to apps/web/app/api/ai/classify/route.ts diff --git a/app/api/ai/plan/controller.ts b/apps/web/app/api/ai/plan/controller.ts similarity index 100% rename from app/api/ai/plan/controller.ts rename to apps/web/app/api/ai/plan/controller.ts diff --git a/app/api/ai/plan/route.ts b/apps/web/app/api/ai/plan/route.ts similarity index 100% rename from app/api/ai/plan/route.ts rename to apps/web/app/api/ai/plan/route.ts diff --git a/app/api/ai/prompt/controller.ts b/apps/web/app/api/ai/prompt/controller.ts similarity index 100% rename from app/api/ai/prompt/controller.ts rename to apps/web/app/api/ai/prompt/controller.ts diff --git a/app/api/ai/prompt/route.ts b/apps/web/app/api/ai/prompt/route.ts similarity index 100% rename from app/api/ai/prompt/route.ts rename to apps/web/app/api/ai/prompt/route.ts diff --git a/app/api/ai/respond/route.ts b/apps/web/app/api/ai/respond/route.ts similarity index 100% rename from app/api/ai/respond/route.ts rename to apps/web/app/api/ai/respond/route.ts diff --git a/app/api/auth/[...nextauth]/route.ts b/apps/web/app/api/auth/[...nextauth]/route.ts similarity index 100% rename from app/api/auth/[...nextauth]/route.ts rename to apps/web/app/api/auth/[...nextauth]/route.ts diff --git a/app/api/google/draft/route.ts b/apps/web/app/api/google/draft/route.ts similarity index 100% rename from app/api/google/draft/route.ts rename to apps/web/app/api/google/draft/route.ts diff --git a/app/api/google/labels/create/controller.ts b/apps/web/app/api/google/labels/create/controller.ts similarity index 100% rename from app/api/google/labels/create/controller.ts rename to apps/web/app/api/google/labels/create/controller.ts diff --git a/app/api/google/labels/create/route.ts b/apps/web/app/api/google/labels/create/route.ts similarity index 100% rename from app/api/google/labels/create/route.ts rename to apps/web/app/api/google/labels/create/route.ts diff --git a/app/api/google/labels/route.ts b/apps/web/app/api/google/labels/route.ts similarity index 100% rename from app/api/google/labels/route.ts rename to apps/web/app/api/google/labels/route.ts diff --git a/app/api/google/messages/route.ts b/apps/web/app/api/google/messages/route.ts similarity index 100% rename from app/api/google/messages/route.ts rename to apps/web/app/api/google/messages/route.ts diff --git a/app/api/google/messages/send/route.ts b/apps/web/app/api/google/messages/send/route.ts similarity index 100% rename from app/api/google/messages/send/route.ts rename to apps/web/app/api/google/messages/send/route.ts diff --git a/app/api/google/threads/[id]/route.ts b/apps/web/app/api/google/threads/[id]/route.ts similarity index 100% rename from app/api/google/threads/[id]/route.ts rename to apps/web/app/api/google/threads/[id]/route.ts diff --git a/app/api/google/threads/archive/controller.ts b/apps/web/app/api/google/threads/archive/controller.ts similarity index 100% rename from app/api/google/threads/archive/controller.ts rename to apps/web/app/api/google/threads/archive/controller.ts diff --git a/app/api/google/threads/archive/route.ts b/apps/web/app/api/google/threads/archive/route.ts similarity index 100% rename from app/api/google/threads/archive/route.ts rename to apps/web/app/api/google/threads/archive/route.ts diff --git a/app/api/google/threads/label/controller.ts b/apps/web/app/api/google/threads/label/controller.ts similarity index 100% rename from app/api/google/threads/label/controller.ts rename to apps/web/app/api/google/threads/label/controller.ts diff --git a/app/api/google/threads/label/route.ts b/apps/web/app/api/google/threads/label/route.ts similarity index 100% rename from app/api/google/threads/label/route.ts rename to apps/web/app/api/google/threads/label/route.ts diff --git a/app/api/google/threads/route.ts b/apps/web/app/api/google/threads/route.ts similarity index 100% rename from app/api/google/threads/route.ts rename to apps/web/app/api/google/threads/route.ts diff --git a/app/api/google/watch/all/route.ts b/apps/web/app/api/google/watch/all/route.ts similarity index 100% rename from app/api/google/watch/all/route.ts rename to apps/web/app/api/google/watch/all/route.ts diff --git a/app/api/google/watch/controller.ts b/apps/web/app/api/google/watch/controller.ts similarity index 100% rename from app/api/google/watch/controller.ts rename to apps/web/app/api/google/watch/controller.ts diff --git a/app/api/google/watch/route.ts b/apps/web/app/api/google/watch/route.ts similarity index 100% rename from app/api/google/watch/route.ts rename to apps/web/app/api/google/watch/route.ts diff --git a/app/api/google/webhook/route.ts b/apps/web/app/api/google/webhook/route.ts similarity index 100% rename from app/api/google/webhook/route.ts rename to apps/web/app/api/google/webhook/route.ts diff --git a/app/api/user/bulk-archive/route.ts b/apps/web/app/api/user/bulk-archive/route.ts similarity index 100% rename from app/api/user/bulk-archive/route.ts rename to apps/web/app/api/user/bulk-archive/route.ts diff --git a/app/api/user/labels/route.ts b/apps/web/app/api/user/labels/route.ts similarity index 100% rename from app/api/user/labels/route.ts rename to apps/web/app/api/user/labels/route.ts diff --git a/app/api/user/no-reply/route.ts b/apps/web/app/api/user/no-reply/route.ts similarity index 100% rename from app/api/user/no-reply/route.ts rename to apps/web/app/api/user/no-reply/route.ts diff --git a/app/api/user/planned/[id]/controller.ts b/apps/web/app/api/user/planned/[id]/controller.ts similarity index 100% rename from app/api/user/planned/[id]/controller.ts rename to apps/web/app/api/user/planned/[id]/controller.ts diff --git a/app/api/user/planned/[id]/route.ts b/apps/web/app/api/user/planned/[id]/route.ts similarity index 100% rename from app/api/user/planned/[id]/route.ts rename to apps/web/app/api/user/planned/[id]/route.ts diff --git a/app/api/user/planned/history/route.ts b/apps/web/app/api/user/planned/history/route.ts similarity index 100% rename from app/api/user/planned/history/route.ts rename to apps/web/app/api/user/planned/history/route.ts diff --git a/app/api/user/planned/reject/route.ts b/apps/web/app/api/user/planned/reject/route.ts similarity index 100% rename from app/api/user/planned/reject/route.ts rename to apps/web/app/api/user/planned/reject/route.ts diff --git a/app/api/user/planned/route.ts b/apps/web/app/api/user/planned/route.ts similarity index 72% rename from app/api/user/planned/route.ts rename to apps/web/app/api/user/planned/route.ts index 0d46e12bc4..d128dc35b1 100644 --- a/app/api/user/planned/route.ts +++ b/apps/web/app/api/user/planned/route.ts @@ -1,4 +1,5 @@ import { NextResponse } from "next/server"; +import groupBy from "lodash/groupBy"; import { getAuthSession } from "@/utils/auth"; import { getGmailClient } from "@/utils/gmail/client"; import { getPlans } from "@/utils/redis/plan"; @@ -17,6 +18,25 @@ async function getPlanned() { const gmail = getGmailClient(session); + const messagesByThreadId = groupBy(plans, (p) => p.threadId); + + // const threads = await Promise.all( + // Object.entries(messagesByThreadId).map(async ([threadId, plans]) => { + // if (!plans.length) return; + + // const thread = await gmail.users.threads.get({ + // userId: "me", + // id: threadId, + // }); + + // return { + // ...thread.data, + // plans, + // } + + // }) + // ); + const messages = await Promise.all( plans.map(async (plan) => { if (!plan.rule) return; diff --git a/app/api/user/prompt-history/controller.ts b/apps/web/app/api/user/prompt-history/controller.ts similarity index 100% rename from app/api/user/prompt-history/controller.ts rename to apps/web/app/api/user/prompt-history/controller.ts diff --git a/app/api/user/prompt-history/route.ts b/apps/web/app/api/user/prompt-history/route.ts similarity index 100% rename from app/api/user/prompt-history/route.ts rename to apps/web/app/api/user/prompt-history/route.ts diff --git a/app/api/user/rules/[id]/controller.ts b/apps/web/app/api/user/rules/[id]/controller.ts similarity index 100% rename from app/api/user/rules/[id]/controller.ts rename to apps/web/app/api/user/rules/[id]/controller.ts diff --git a/app/api/user/rules/[id]/route.ts b/apps/web/app/api/user/rules/[id]/route.ts similarity index 100% rename from app/api/user/rules/[id]/route.ts rename to apps/web/app/api/user/rules/[id]/route.ts diff --git a/app/api/user/rules/[id]/validation.ts b/apps/web/app/api/user/rules/[id]/validation.ts similarity index 100% rename from app/api/user/rules/[id]/validation.ts rename to apps/web/app/api/user/rules/[id]/validation.ts diff --git a/app/api/user/rules/categorize/route.ts b/apps/web/app/api/user/rules/categorize/route.ts similarity index 100% rename from app/api/user/rules/categorize/route.ts rename to apps/web/app/api/user/rules/categorize/route.ts diff --git a/app/api/user/rules/controller.ts b/apps/web/app/api/user/rules/controller.ts similarity index 100% rename from app/api/user/rules/controller.ts rename to apps/web/app/api/user/rules/controller.ts diff --git a/app/api/user/rules/route.ts b/apps/web/app/api/user/rules/route.ts similarity index 100% rename from app/api/user/rules/route.ts rename to apps/web/app/api/user/rules/route.ts diff --git a/app/api/user/rules/validation.ts b/apps/web/app/api/user/rules/validation.ts similarity index 100% rename from app/api/user/rules/validation.ts rename to apps/web/app/api/user/rules/validation.ts diff --git a/app/api/user/stats/day/route.ts b/apps/web/app/api/user/stats/day/route.ts similarity index 100% rename from app/api/user/stats/day/route.ts rename to apps/web/app/api/user/stats/day/route.ts diff --git a/app/api/user/stats/route.ts b/apps/web/app/api/user/stats/route.ts similarity index 100% rename from app/api/user/stats/route.ts rename to apps/web/app/api/user/stats/route.ts diff --git a/app/api/user/stats/senders/route.ts b/apps/web/app/api/user/stats/senders/route.ts similarity index 100% rename from app/api/user/stats/senders/route.ts rename to apps/web/app/api/user/stats/senders/route.ts diff --git a/app/icon.png b/apps/web/app/icon.png similarity index 100% rename from app/icon.png rename to apps/web/app/icon.png diff --git a/app/layout.tsx b/apps/web/app/layout.tsx similarity index 100% rename from app/layout.tsx rename to apps/web/app/layout.tsx diff --git a/components.json b/apps/web/components.json similarity index 100% rename from components.json rename to apps/web/components.json diff --git a/components/ActionButtons.tsx b/apps/web/components/ActionButtons.tsx similarity index 100% rename from components/ActionButtons.tsx rename to apps/web/components/ActionButtons.tsx diff --git a/components/Alert.tsx b/apps/web/components/Alert.tsx similarity index 100% rename from components/Alert.tsx rename to apps/web/components/Alert.tsx diff --git a/components/Badge.tsx b/apps/web/components/Badge.tsx similarity index 100% rename from components/Badge.tsx rename to apps/web/components/Badge.tsx diff --git a/components/Button.tsx b/apps/web/components/Button.tsx similarity index 100% rename from components/Button.tsx rename to apps/web/components/Button.tsx diff --git a/components/ButtonGroup.tsx b/apps/web/components/ButtonGroup.tsx similarity index 100% rename from components/ButtonGroup.tsx rename to apps/web/components/ButtonGroup.tsx diff --git a/components/Card.tsx b/apps/web/components/Card.tsx similarity index 100% rename from components/Card.tsx rename to apps/web/components/Card.tsx diff --git a/components/Celebration.tsx b/apps/web/components/Celebration.tsx similarity index 100% rename from components/Celebration.tsx rename to apps/web/components/Celebration.tsx diff --git a/components/Checkbox.tsx b/apps/web/components/Checkbox.tsx similarity index 100% rename from components/Checkbox.tsx rename to apps/web/components/Checkbox.tsx diff --git a/components/CommandDemo.tsx b/apps/web/components/CommandDemo.tsx similarity index 100% rename from components/CommandDemo.tsx rename to apps/web/components/CommandDemo.tsx diff --git a/components/Container.tsx b/apps/web/components/Container.tsx similarity index 100% rename from components/Container.tsx rename to apps/web/components/Container.tsx diff --git a/components/ErrorDisplay.tsx b/apps/web/components/ErrorDisplay.tsx similarity index 100% rename from components/ErrorDisplay.tsx rename to apps/web/components/ErrorDisplay.tsx diff --git a/components/Form.tsx b/apps/web/components/Form.tsx similarity index 100% rename from components/Form.tsx rename to apps/web/components/Form.tsx diff --git a/components/GroupHeading.tsx b/apps/web/components/GroupHeading.tsx similarity index 100% rename from components/GroupHeading.tsx rename to apps/web/components/GroupHeading.tsx diff --git a/components/HoverCard.tsx b/apps/web/components/HoverCard.tsx similarity index 100% rename from components/HoverCard.tsx rename to apps/web/components/HoverCard.tsx diff --git a/components/Input.tsx b/apps/web/components/Input.tsx similarity index 100% rename from components/Input.tsx rename to apps/web/components/Input.tsx diff --git a/components/LegalPage.tsx b/apps/web/components/LegalPage.tsx similarity index 100% rename from components/LegalPage.tsx rename to apps/web/components/LegalPage.tsx diff --git a/components/Linkify.tsx b/apps/web/components/Linkify.tsx similarity index 100% rename from components/Linkify.tsx rename to apps/web/components/Linkify.tsx diff --git a/components/List.tsx b/apps/web/components/List.tsx similarity index 100% rename from components/List.tsx rename to apps/web/components/List.tsx diff --git a/components/ListHeading.tsx b/apps/web/components/ListHeading.tsx similarity index 100% rename from components/ListHeading.tsx rename to apps/web/components/ListHeading.tsx diff --git a/components/Loading.tsx b/apps/web/components/Loading.tsx similarity index 100% rename from components/Loading.tsx rename to apps/web/components/Loading.tsx diff --git a/components/LoadingContent.tsx b/apps/web/components/LoadingContent.tsx similarity index 100% rename from components/LoadingContent.tsx rename to apps/web/components/LoadingContent.tsx diff --git a/components/Logo.tsx b/apps/web/components/Logo.tsx similarity index 100% rename from components/Logo.tsx rename to apps/web/components/Logo.tsx diff --git a/components/Modal.tsx b/apps/web/components/Modal.tsx similarity index 100% rename from components/Modal.tsx rename to apps/web/components/Modal.tsx diff --git a/components/Panel.tsx b/apps/web/components/Panel.tsx similarity index 100% rename from components/Panel.tsx rename to apps/web/components/Panel.tsx diff --git a/components/PlanBadge.tsx b/apps/web/components/PlanBadge.tsx similarity index 97% rename from components/PlanBadge.tsx rename to apps/web/components/PlanBadge.tsx index 89c4327a20..1ce34aa535 100644 --- a/components/PlanBadge.tsx +++ b/apps/web/components/PlanBadge.tsx @@ -5,9 +5,9 @@ import { ActionType } from "@prisma/client"; type Plan = { rule?: { - name: string; - actions: { - type: ActionType; + name?: string; + actions?: { + type?: ActionType; to?: string | null; content?: string | null; label?: string | null; diff --git a/components/PromptBar.tsx b/apps/web/components/PromptBar.tsx similarity index 100% rename from components/PromptBar.tsx rename to apps/web/components/PromptBar.tsx diff --git a/components/PromptHistory.tsx b/apps/web/components/PromptHistory.tsx similarity index 100% rename from components/PromptHistory.tsx rename to apps/web/components/PromptHistory.tsx diff --git a/components/Select.tsx b/apps/web/components/Select.tsx similarity index 100% rename from components/Select.tsx rename to apps/web/components/Select.tsx diff --git a/components/SideNav.tsx b/apps/web/components/SideNav.tsx similarity index 100% rename from components/SideNav.tsx rename to apps/web/components/SideNav.tsx diff --git a/components/SideNavWithTopNav.tsx b/apps/web/components/SideNavWithTopNav.tsx similarity index 100% rename from components/SideNavWithTopNav.tsx rename to apps/web/components/SideNavWithTopNav.tsx diff --git a/components/SlideOverSheet.tsx b/apps/web/components/SlideOverSheet.tsx similarity index 100% rename from components/SlideOverSheet.tsx rename to apps/web/components/SlideOverSheet.tsx diff --git a/components/Stats.tsx b/apps/web/components/Stats.tsx similarity index 100% rename from components/Stats.tsx rename to apps/web/components/Stats.tsx diff --git a/components/Tabs.tsx b/apps/web/components/Tabs.tsx similarity index 100% rename from components/Tabs.tsx rename to apps/web/components/Tabs.tsx diff --git a/components/Tag.tsx b/apps/web/components/Tag.tsx similarity index 100% rename from components/Tag.tsx rename to apps/web/components/Tag.tsx diff --git a/components/Toast.tsx b/apps/web/components/Toast.tsx similarity index 100% rename from components/Toast.tsx rename to apps/web/components/Toast.tsx diff --git a/components/Toggle.tsx b/apps/web/components/Toggle.tsx similarity index 100% rename from components/Toggle.tsx rename to apps/web/components/Toggle.tsx diff --git a/components/TokenCheck.tsx b/apps/web/components/TokenCheck.tsx similarity index 100% rename from components/TokenCheck.tsx rename to apps/web/components/TokenCheck.tsx diff --git a/components/Tooltip.tsx b/apps/web/components/Tooltip.tsx similarity index 100% rename from components/Tooltip.tsx rename to apps/web/components/Tooltip.tsx diff --git a/components/TopNav.tsx b/apps/web/components/TopNav.tsx similarity index 100% rename from components/TopNav.tsx rename to apps/web/components/TopNav.tsx diff --git a/components/Typography.tsx b/apps/web/components/Typography.tsx similarity index 100% rename from components/Typography.tsx rename to apps/web/components/Typography.tsx diff --git a/components/email-list/EmailList.tsx b/apps/web/components/email-list/EmailList.tsx similarity index 100% rename from components/email-list/EmailList.tsx rename to apps/web/components/email-list/EmailList.tsx diff --git a/components/email-list/EmailPanel.tsx b/apps/web/components/email-list/EmailPanel.tsx similarity index 100% rename from components/email-list/EmailPanel.tsx rename to apps/web/components/email-list/EmailPanel.tsx diff --git a/components/email-list/PlanActions.tsx b/apps/web/components/email-list/PlanActions.tsx similarity index 100% rename from components/email-list/PlanActions.tsx rename to apps/web/components/email-list/PlanActions.tsx diff --git a/components/email-list/SendEmailForm.tsx b/apps/web/components/email-list/SendEmailForm.tsx similarity index 100% rename from components/email-list/SendEmailForm.tsx rename to apps/web/components/email-list/SendEmailForm.tsx diff --git a/components/email-list/helpers.ts b/apps/web/components/email-list/helpers.ts similarity index 100% rename from components/email-list/helpers.ts rename to apps/web/components/email-list/helpers.ts diff --git a/components/email-list/types.ts b/apps/web/components/email-list/types.ts similarity index 100% rename from components/email-list/types.ts rename to apps/web/components/email-list/types.ts diff --git a/components/home/Hero.tsx b/apps/web/components/home/Hero.tsx similarity index 100% rename from components/home/Hero.tsx rename to apps/web/components/home/Hero.tsx diff --git a/components/ui/alert.tsx b/apps/web/components/ui/alert.tsx similarity index 100% rename from components/ui/alert.tsx rename to apps/web/components/ui/alert.tsx diff --git a/components/ui/avatar.tsx b/apps/web/components/ui/avatar.tsx similarity index 100% rename from components/ui/avatar.tsx rename to apps/web/components/ui/avatar.tsx diff --git a/components/ui/button.tsx b/apps/web/components/ui/button.tsx similarity index 100% rename from components/ui/button.tsx rename to apps/web/components/ui/button.tsx diff --git a/components/ui/command.tsx b/apps/web/components/ui/command.tsx similarity index 100% rename from components/ui/command.tsx rename to apps/web/components/ui/command.tsx diff --git a/components/ui/dialog.tsx b/apps/web/components/ui/dialog.tsx similarity index 100% rename from components/ui/dialog.tsx rename to apps/web/components/ui/dialog.tsx diff --git a/components/ui/hover-card.tsx b/apps/web/components/ui/hover-card.tsx similarity index 100% rename from components/ui/hover-card.tsx rename to apps/web/components/ui/hover-card.tsx diff --git a/components/ui/input.tsx b/apps/web/components/ui/input.tsx similarity index 100% rename from components/ui/input.tsx rename to apps/web/components/ui/input.tsx diff --git a/components/ui/label.tsx b/apps/web/components/ui/label.tsx similarity index 100% rename from components/ui/label.tsx rename to apps/web/components/ui/label.tsx diff --git a/components/ui/separator.tsx b/apps/web/components/ui/separator.tsx similarity index 100% rename from components/ui/separator.tsx rename to apps/web/components/ui/separator.tsx diff --git a/components/ui/sheet.tsx b/apps/web/components/ui/sheet.tsx similarity index 100% rename from components/ui/sheet.tsx rename to apps/web/components/ui/sheet.tsx diff --git a/components/ui/skeleton.tsx b/apps/web/components/ui/skeleton.tsx similarity index 100% rename from components/ui/skeleton.tsx rename to apps/web/components/ui/skeleton.tsx diff --git a/components/ui/tooltip.tsx b/apps/web/components/ui/tooltip.tsx similarity index 100% rename from components/ui/tooltip.tsx rename to apps/web/components/ui/tooltip.tsx diff --git a/contentlayer.config.ts b/apps/web/contentlayer.config.ts similarity index 87% rename from contentlayer.config.ts rename to apps/web/contentlayer.config.ts index 91697b2274..fe894f8079 100644 --- a/contentlayer.config.ts +++ b/apps/web/contentlayer.config.ts @@ -2,7 +2,7 @@ import { defineDocumentType, makeSource } from "contentlayer/source-files"; export const LegalPost = defineDocumentType(() => ({ name: "LegalPost", - filePathPattern: `**/legal/*.md`, + filePathPattern: `**/*.md`, fields: { title: { type: "string", @@ -19,6 +19,6 @@ export const LegalPost = defineDocumentType(() => ({ })); export default makeSource({ - contentDirPath: "content", + contentDirPath: "legal", documentTypes: [LegalPost], }); diff --git a/content/legal/privacy.md b/apps/web/legal/privacy.md similarity index 100% rename from content/legal/privacy.md rename to apps/web/legal/privacy.md diff --git a/content/legal/terms.md b/apps/web/legal/terms.md similarity index 100% rename from content/legal/terms.md rename to apps/web/legal/terms.md diff --git a/next.config.js b/apps/web/next.config.js similarity index 100% rename from next.config.js rename to apps/web/next.config.js diff --git a/apps/web/package.json b/apps/web/package.json new file mode 100644 index 0000000000..929f1b276f --- /dev/null +++ b/apps/web/package.json @@ -0,0 +1,102 @@ +{ + "name": "inbox-zero-ai", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint", + "preinstall": "npx only-allow pnpm", + "postinstall": "prisma generate" + }, + "dependencies": { + "@auth/prisma-adapter": "^1.0.1", + "@google-cloud/local-auth": "2.1.1", + "@headlessui/react": "^1.7.16", + "@heroicons/react": "^2.0.18", + "@hookform/resolvers": "^3.2.0", + "@prisma/client": "^5.1.1", + "@radix-ui/react-avatar": "^1.0.3", + "@radix-ui/react-dialog": "^1.0.4", + "@radix-ui/react-hover-card": "^1.0.6", + "@radix-ui/react-label": "^2.0.2", + "@radix-ui/react-separator": "^1.0.3", + "@radix-ui/react-slot": "^1.0.2", + "@radix-ui/react-tooltip": "^1.0.6", + "@tailwindcss/forms": "^0.5.4", + "@tanstack/react-query": "^4.32.6", + "@tremor/react": "^3.6.1", + "@upstash/redis": "^1.22.0", + "ai": "^2.1.32", + "bull": "^4.11.3", + "capital-case": "^1.0.4", + "class-variance-authority": "^0.7.0", + "clsx": "^2.0.0", + "cmdk": "^0.2.0", + "contentlayer": "^0.3.4", + "date-fns": "^2.30.0", + "email-forward-parser": "^1.5.5", + "email-reply-parser": "^1.5.3", + "encoding": "^0.1.13", + "eslint": "8.46.0", + "eslint-config-next": "13.4.13", + "gmail-api-parse-message": "^2.1.2", + "googleapis": "124", + "he": "^1.2.0", + "json5": "^2.2.3", + "linkify-react": "^4.1.1", + "linkifyjs": "^4.1.1", + "lodash": "^4.17.21", + "lucide-react": "^0.263.1", + "next": "13.4.13", + "next-auth": "^4.22.5", + "next-contentlayer": "^0.3.4", + "nodemailer": "^6.9.4", + "openai-edge": "^1.2.2", + "prettier": "2.8.8", + "prettier-plugin-tailwindcss": "^0.4.1", + "react": "18.2.0", + "react-dom": "18.2.0", + "react-dom-confetti": "^0.2.0", + "react-hook-form": "^7.45.4", + "react-hotkeys-hook": "^4.4.1", + "server-only": "^0.0.1", + "sonner": "^0.6.2", + "swr": "^2.2.0", + "tailwind-merge": "^1.14.0", + "tailwindcss-animate": "^1.0.6", + "typescript": "5.1.6", + "zod": "^3.21.4" + }, + "devDependencies": { + "@headlessui/tailwindcss": "^0.2.0", + "@types/he": "^1.2.0", + "@types/lodash": "^4.14.197", + "@types/node": "20.4.9", + "@types/nodemailer": "^6.4.9", + "@types/react": "18.2.20", + "@types/react-dom": "18.2.7", + "autoprefixer": "10.4.14", + "postcss": "8.4.27", + "prisma": "^5.1.1", + "tailwindcss": "3.3.3", + "turbo": "^1.10.12", + "eslint-config-custom": "workspace:*", + "tsconfig": "workspace:*" + }, + "engines": { + "node": ">=18.0.0" + }, + "pnpm": { + "overrides": { + "@opentelemetry/api": "1.4.1", + "@opentelemetry/core": "1.13.0", + "@opentelemetry/exporter-trace-otlp-grpc": "0.39.1", + "@opentelemetry/resources": "1.13.0", + "@opentelemetry/sdk-trace-base": "1.13.0", + "@opentelemetry/sdk-trace-node": "1.13.0", + "@opentelemetry/semantic-conventions": "1.13.0" + } + } +} diff --git a/postcss.config.js b/apps/web/postcss.config.js similarity index 100% rename from postcss.config.js rename to apps/web/postcss.config.js diff --git a/prettier.config.js b/apps/web/prettier.config.js similarity index 100% rename from prettier.config.js rename to apps/web/prettier.config.js diff --git a/prisma/migrations/20230730073019_init/migration.sql b/apps/web/prisma/migrations/20230730073019_init/migration.sql similarity index 100% rename from prisma/migrations/20230730073019_init/migration.sql rename to apps/web/prisma/migrations/20230730073019_init/migration.sql diff --git a/prisma/migrations/20230804105315_rule_name/migration.sql b/apps/web/prisma/migrations/20230804105315_rule_name/migration.sql similarity index 100% rename from prisma/migrations/20230804105315_rule_name/migration.sql rename to apps/web/prisma/migrations/20230804105315_rule_name/migration.sql diff --git a/prisma/migrations/20230804140051_cascade_delete_executed_rule/migration.sql b/apps/web/prisma/migrations/20230804140051_cascade_delete_executed_rule/migration.sql similarity index 100% rename from prisma/migrations/20230804140051_cascade_delete_executed_rule/migration.sql rename to apps/web/prisma/migrations/20230804140051_cascade_delete_executed_rule/migration.sql diff --git a/prisma/migrations/migration_lock.toml b/apps/web/prisma/migrations/migration_lock.toml similarity index 100% rename from prisma/migrations/migration_lock.toml rename to apps/web/prisma/migrations/migration_lock.toml diff --git a/prisma/schema.prisma b/apps/web/prisma/schema.prisma similarity index 100% rename from prisma/schema.prisma rename to apps/web/prisma/schema.prisma diff --git a/providers/GmailProvider.tsx b/apps/web/providers/GmailProvider.tsx similarity index 100% rename from providers/GmailProvider.tsx rename to apps/web/providers/GmailProvider.tsx diff --git a/providers/PromptProvider.tsx b/apps/web/providers/PromptProvider.tsx similarity index 100% rename from providers/PromptProvider.tsx rename to apps/web/providers/PromptProvider.tsx diff --git a/providers/SWRProvider.tsx b/apps/web/providers/SWRProvider.tsx similarity index 100% rename from providers/SWRProvider.tsx rename to apps/web/providers/SWRProvider.tsx diff --git a/providers/SessionProvider.tsx b/apps/web/providers/SessionProvider.tsx similarity index 100% rename from providers/SessionProvider.tsx rename to apps/web/providers/SessionProvider.tsx diff --git a/public/images/falling.svg b/apps/web/public/images/falling.svg similarity index 100% rename from public/images/falling.svg rename to apps/web/public/images/falling.svg diff --git a/styles/CalSans-SemiBold.otf b/apps/web/styles/CalSans-SemiBold.otf similarity index 100% rename from styles/CalSans-SemiBold.otf rename to apps/web/styles/CalSans-SemiBold.otf diff --git a/styles/globals.css b/apps/web/styles/globals.css similarity index 100% rename from styles/globals.css rename to apps/web/styles/globals.css diff --git a/tailwind.config.js b/apps/web/tailwind.config.js similarity index 100% rename from tailwind.config.js rename to apps/web/tailwind.config.js diff --git a/apps/web/tsconfig.json b/apps/web/tsconfig.json new file mode 100644 index 0000000000..f2a2b93d45 --- /dev/null +++ b/apps/web/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "tsconfig/nextjs.json", + "compilerOptions": { + "baseUrl": ".", + "plugins": [{ "name": "next" }], + "paths": { + "@/*": ["./*"], + "contentlayer/generated": ["./.contentlayer/generated"] + } + }, + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + ".contentlayer/generated" + ], + "exclude": ["node_modules"] +} diff --git a/types/gmail-api-parse-message.d.ts b/apps/web/types/gmail-api-parse-message.d.ts similarity index 100% rename from types/gmail-api-parse-message.d.ts rename to apps/web/types/gmail-api-parse-message.d.ts diff --git a/utils/actionType.ts b/apps/web/utils/actionType.ts similarity index 100% rename from utils/actionType.ts rename to apps/web/utils/actionType.ts diff --git a/utils/actions.ts b/apps/web/utils/actions.ts similarity index 100% rename from utils/actions.ts rename to apps/web/utils/actions.ts diff --git a/utils/ai/actions.ts b/apps/web/utils/ai/actions.ts similarity index 100% rename from utils/ai/actions.ts rename to apps/web/utils/ai/actions.ts diff --git a/utils/ai/filters.ts b/apps/web/utils/ai/filters.ts similarity index 100% rename from utils/ai/filters.ts rename to apps/web/utils/ai/filters.ts diff --git a/utils/api.ts b/apps/web/utils/api.ts similarity index 100% rename from utils/api.ts rename to apps/web/utils/api.ts diff --git a/utils/auth.ts b/apps/web/utils/auth.ts similarity index 100% rename from utils/auth.ts rename to apps/web/utils/auth.ts diff --git a/utils/celebration.ts b/apps/web/utils/celebration.ts similarity index 100% rename from utils/celebration.ts rename to apps/web/utils/celebration.ts diff --git a/utils/config.ts b/apps/web/utils/config.ts similarity index 100% rename from utils/config.ts rename to apps/web/utils/config.ts diff --git a/utils/date.ts b/apps/web/utils/date.ts similarity index 100% rename from utils/date.ts rename to apps/web/utils/date.ts diff --git a/utils/error.ts b/apps/web/utils/error.ts similarity index 100% rename from utils/error.ts rename to apps/web/utils/error.ts diff --git a/utils/gmail/client.ts b/apps/web/utils/gmail/client.ts similarity index 100% rename from utils/gmail/client.ts rename to apps/web/utils/gmail/client.ts diff --git a/utils/gmail/mail.ts b/apps/web/utils/gmail/mail.ts similarity index 100% rename from utils/gmail/mail.ts rename to apps/web/utils/gmail/mail.ts diff --git a/utils/index.ts b/apps/web/utils/index.ts similarity index 100% rename from utils/index.ts rename to apps/web/utils/index.ts diff --git a/utils/label.ts b/apps/web/utils/label.ts similarity index 100% rename from utils/label.ts rename to apps/web/utils/label.ts diff --git a/utils/mail.ts b/apps/web/utils/mail.ts similarity index 100% rename from utils/mail.ts rename to apps/web/utils/mail.ts diff --git a/utils/middleware.ts b/apps/web/utils/middleware.ts similarity index 100% rename from utils/middleware.ts rename to apps/web/utils/middleware.ts diff --git a/utils/openai.ts b/apps/web/utils/openai.ts similarity index 100% rename from utils/openai.ts rename to apps/web/utils/openai.ts diff --git a/utils/prisma.ts b/apps/web/utils/prisma.ts similarity index 100% rename from utils/prisma.ts rename to apps/web/utils/prisma.ts diff --git a/apps/web/utils/queue.ts b/apps/web/utils/queue.ts new file mode 100644 index 0000000000..7077001205 --- /dev/null +++ b/apps/web/utils/queue.ts @@ -0,0 +1,12 @@ +import Queue from "bull"; + +const apiRequestQueue = new Queue("openai-requests", { + redis: { + host: process.env.UPSTASH_REDIS_URL, + }, +}); + +export async function addRequestToQueue(requestData: any) { + await apiRequestQueue.add("api-request", requestData); + // Logic to acknowledge the request has been queued +} diff --git a/utils/redis/index.ts b/apps/web/utils/redis/index.ts similarity index 100% rename from utils/redis/index.ts rename to apps/web/utils/redis/index.ts diff --git a/utils/redis/label.ts b/apps/web/utils/redis/label.ts similarity index 100% rename from utils/redis/label.ts rename to apps/web/utils/redis/label.ts diff --git a/utils/redis/plan.ts b/apps/web/utils/redis/plan.ts similarity index 100% rename from utils/redis/plan.ts rename to apps/web/utils/redis/plan.ts diff --git a/utils/redis/stats.ts b/apps/web/utils/redis/stats.ts similarity index 100% rename from utils/redis/stats.ts rename to apps/web/utils/redis/stats.ts diff --git a/utils/redis/usage.ts b/apps/web/utils/redis/usage.ts similarity index 100% rename from utils/redis/usage.ts rename to apps/web/utils/redis/usage.ts diff --git a/utils/retry.ts b/apps/web/utils/retry.ts similarity index 100% rename from utils/retry.ts rename to apps/web/utils/retry.ts diff --git a/utils/sleep.ts b/apps/web/utils/sleep.ts similarity index 100% rename from utils/sleep.ts rename to apps/web/utils/sleep.ts diff --git a/utils/types.ts b/apps/web/utils/types.ts similarity index 100% rename from utils/types.ts rename to apps/web/utils/types.ts diff --git a/package.json b/package.json index c2699db059..5ec1cd9a0e 100644 --- a/package.json +++ b/package.json @@ -1,110 +1,28 @@ { - "name": "inbox-zero-ai", - "version": "0.1.0", + "name": "inbox-zero", "private": true, "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "lint": "next lint", + "build": "turbo run build", + "dev": "turbo run dev", + "lint": "turbo run lint", + "format": "prettier --write \"**/*.{ts,tsx,md}\"", "pretty-quick": "npx pretty-quick --write \"**/*.{ts,tsx}\"", "prettier": "npx prettier --write \"**/*.{ts,tsx}\"", - "prepare": "husky install", - "preinstall": "npx only-allow pnpm", - "postinstall": "prisma generate" + "prepare": "husky install" }, - "dependencies": { - "@auth/prisma-adapter": "^1.0.1", - "@google-cloud/local-auth": "2.1.1", - "@headlessui/react": "^1.7.16", - "@heroicons/react": "^2.0.18", - "@hookform/resolvers": "^3.2.0", - "@prisma/client": "^5.1.1", - "@radix-ui/react-avatar": "^1.0.3", - "@radix-ui/react-dialog": "^1.0.4", - "@radix-ui/react-hover-card": "^1.0.6", - "@radix-ui/react-label": "^2.0.2", - "@radix-ui/react-separator": "^1.0.3", - "@radix-ui/react-slot": "^1.0.2", - "@radix-ui/react-tooltip": "^1.0.6", - "@tailwindcss/forms": "^0.5.4", - "@tanstack/react-query": "^4.32.6", - "@tremor/react": "^3.6.1", - "@upstash/redis": "^1.22.0", - "ai": "^2.1.32", - "bull": "^4.11.3", - "capital-case": "^1.0.4", - "class-variance-authority": "^0.7.0", - "clsx": "^2.0.0", - "cmdk": "^0.2.0", - "contentlayer": "^0.3.4", - "date-fns": "^2.30.0", - "email-forward-parser": "^1.5.5", - "email-reply-parser": "^1.5.3", - "encoding": "^0.1.13", - "eslint": "8.46.0", - "eslint-config-next": "13.4.13", - "gmail-api-parse-message": "^2.1.2", - "googleapis": "124", - "he": "^1.2.0", + "devDependencies": { + "@turbo/gen": "^1.9.7", + "eslint": "^7.32.0", + "eslint-config-custom": "workspace:*", "husky": "^8.0.3", - "json5": "^2.2.3", - "linkify-react": "^4.1.1", - "linkifyjs": "^4.1.1", "lint-staged": "^13.2.3", - "lodash": "^4.17.21", - "lucide-react": "^0.263.1", - "next": "13.4.13", - "next-auth": "^4.22.5", - "next-contentlayer": "^0.3.4", - "nodemailer": "^6.9.4", - "openai-edge": "^1.2.2", "prettier": "2.8.8", - "prettier-plugin-tailwindcss": "^0.4.1", "pretty-quick": "^3.1.3", - "react": "18.2.0", - "react-dom": "18.2.0", - "react-dom-confetti": "^0.2.0", - "react-hook-form": "^7.45.4", - "react-hotkeys-hook": "^4.4.1", - "server-only": "^0.0.1", - "sonner": "^0.6.2", - "swr": "^2.2.0", - "tailwind-merge": "^1.14.0", - "tailwindcss-animate": "^1.0.6", - "typescript": "5.1.6", - "zod": "^3.21.4" - }, - "devDependencies": { - "@headlessui/tailwindcss": "^0.2.0", - "@types/he": "^1.2.0", - "@types/lodash": "^4.14.197", - "@types/node": "20.4.9", - "@types/nodemailer": "^6.4.9", - "@types/react": "18.2.20", - "@types/react-dom": "18.2.7", - "autoprefixer": "10.4.14", - "postcss": "8.4.27", - "prisma": "^5.1.1", - "tailwindcss": "3.3.3", - "turbo": "^1.10.12" + "turbo": "latest" }, + "packageManager": "pnpm@8.6.10", "lint-staged": { "*.{ts,tsx}": "pnpm run lint --cache --fix", "**/*.{ts,tsx}": "tsc-files --noEmit" - }, - "engines": { - "node": ">=18.0.0" - }, - "pnpm": { - "overrides": { - "@opentelemetry/api": "1.4.1", - "@opentelemetry/core": "1.13.0", - "@opentelemetry/exporter-trace-otlp-grpc": "0.39.1", - "@opentelemetry/resources": "1.13.0", - "@opentelemetry/sdk-trace-base": "1.13.0", - "@opentelemetry/sdk-trace-node": "1.13.0", - "@opentelemetry/semantic-conventions": "1.13.0" - } } } diff --git a/packages/eslint-config-custom/index.js b/packages/eslint-config-custom/index.js new file mode 100644 index 0000000000..c9523f13cd --- /dev/null +++ b/packages/eslint-config-custom/index.js @@ -0,0 +1,11 @@ +module.exports = { + extends: ["next", "turbo", "prettier"], + rules: { + "@next/next/no-html-link-for-pages": "off", + }, + parserOptions: { + babelOptions: { + presets: [require.resolve("next/babel")], + }, + }, +}; diff --git a/packages/eslint-config-custom/package.json b/packages/eslint-config-custom/package.json new file mode 100644 index 0000000000..17574f3c58 --- /dev/null +++ b/packages/eslint-config-custom/package.json @@ -0,0 +1,15 @@ +{ + "name": "eslint-config-custom", + "version": "0.0.0", + "main": "index.js", + "license": "MIT", + "dependencies": { + "eslint-config-next": "^13.4.1", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-react": "7.28.0", + "eslint-config-turbo": "^1.9.3" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/packages/tsconfig/base.json b/packages/tsconfig/base.json new file mode 100644 index 0000000000..d72a9f3a27 --- /dev/null +++ b/packages/tsconfig/base.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Default", + "compilerOptions": { + "composite": false, + "declaration": true, + "declarationMap": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "inlineSources": false, + "isolatedModules": true, + "moduleResolution": "node", + "noUnusedLocals": false, + "noUnusedParameters": false, + "preserveWatchOutput": true, + "skipLibCheck": true, + "strict": true + }, + "exclude": ["node_modules"] +} diff --git a/packages/tsconfig/nextjs.json b/packages/tsconfig/nextjs.json new file mode 100644 index 0000000000..d5010a1bbc --- /dev/null +++ b/packages/tsconfig/nextjs.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "Next.js", + "extends": "./base.json", + "compilerOptions": { + "plugins": [{ "name": "next" }], + "allowJs": true, + "declaration": false, + "declarationMap": false, + "incremental": true, + "jsx": "preserve", + "lib": ["dom", "dom.iterable", "esnext"], + "module": "esnext", + "noEmit": true, + "resolveJsonModule": true, + "strict": false, + "target": "es5" + }, + "include": ["src", "next-env.d.ts"], + "exclude": ["node_modules"] +} diff --git a/packages/tsconfig/package.json b/packages/tsconfig/package.json new file mode 100644 index 0000000000..6efb83e14c --- /dev/null +++ b/packages/tsconfig/package.json @@ -0,0 +1,9 @@ +{ + "name": "tsconfig", + "version": "0.0.0", + "private": true, + "license": "MIT", + "publishConfig": { + "access": "public" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c9c676a753..4f67a67185 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,234 +4,298 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -overrides: - "@opentelemetry/api": 1.4.1 - "@opentelemetry/core": 1.13.0 - "@opentelemetry/exporter-trace-otlp-grpc": 0.39.1 - "@opentelemetry/resources": 1.13.0 - "@opentelemetry/sdk-trace-base": 1.13.0 - "@opentelemetry/sdk-trace-node": 1.13.0 - "@opentelemetry/semantic-conventions": 1.13.0 - -dependencies: - "@auth/prisma-adapter": - specifier: ^1.0.1 - version: 1.0.1(@prisma/client@5.1.1)(nodemailer@6.9.4) - "@google-cloud/local-auth": - specifier: 2.1.1 - version: 2.1.1(encoding@0.1.13) - "@headlessui/react": - specifier: ^1.7.16 - version: 1.7.16(react-dom@18.2.0)(react@18.2.0) - "@heroicons/react": - specifier: ^2.0.18 - version: 2.0.18(react@18.2.0) - "@hookform/resolvers": - specifier: ^3.2.0 - version: 3.2.0(react-hook-form@7.45.4) - "@prisma/client": - specifier: ^5.1.1 - version: 5.1.1(prisma@5.1.1) - "@radix-ui/react-avatar": - specifier: ^1.0.3 - version: 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - "@radix-ui/react-dialog": - specifier: ^1.0.4 - version: 1.0.4(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - "@radix-ui/react-hover-card": - specifier: ^1.0.6 - version: 1.0.6(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - "@radix-ui/react-label": - specifier: ^2.0.2 - version: 2.0.2(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - "@radix-ui/react-separator": - specifier: ^1.0.3 - version: 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - "@radix-ui/react-slot": - specifier: ^1.0.2 - version: 1.0.2(@types/react@18.2.20)(react@18.2.0) - "@radix-ui/react-tooltip": - specifier: ^1.0.6 - version: 1.0.6(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - "@tailwindcss/forms": - specifier: ^0.5.4 - version: 0.5.4(tailwindcss@3.3.3) - "@tanstack/react-query": - specifier: ^4.32.6 - version: 4.32.6(react-dom@18.2.0)(react@18.2.0) - "@tremor/react": - specifier: ^3.6.1 - version: 3.6.1(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0)(tailwindcss@3.3.3) - "@upstash/redis": - specifier: ^1.22.0 - version: 1.22.0(encoding@0.1.13) - ai: - specifier: ^2.1.32 - version: 2.1.32(react@18.2.0)(solid-js@1.7.8)(svelte@4.1.1)(vue@3.3.4) - bull: - specifier: ^4.11.3 - version: 4.11.3 - capital-case: - specifier: ^1.0.4 - version: 1.0.4 - class-variance-authority: - specifier: ^0.7.0 - version: 0.7.0 - clsx: - specifier: ^2.0.0 - version: 2.0.0 - cmdk: - specifier: ^0.2.0 - version: 0.2.0(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) - contentlayer: - specifier: ^0.3.4 - version: 0.3.4(esbuild@0.18.13) - date-fns: - specifier: ^2.30.0 - version: 2.30.0 - email-forward-parser: - specifier: ^1.5.5 - version: 1.5.5 - email-reply-parser: - specifier: ^1.5.3 - version: 1.5.3 - encoding: - specifier: ^0.1.13 - version: 0.1.13 - eslint: - specifier: 8.46.0 - version: 8.46.0 - eslint-config-next: - specifier: 13.4.13 - version: 13.4.13(eslint@8.46.0)(typescript@5.1.6) - gmail-api-parse-message: - specifier: ^2.1.2 - version: 2.1.2 - googleapis: - specifier: "124" - version: 124.0.0(encoding@0.1.13) - he: - specifier: ^1.2.0 - version: 1.2.0 - husky: - specifier: ^8.0.3 - version: 8.0.3 - json5: - specifier: ^2.2.3 - version: 2.2.3 - linkify-react: - specifier: ^4.1.1 - version: 4.1.1(linkifyjs@4.1.1)(react@18.2.0) - linkifyjs: - specifier: ^4.1.1 - version: 4.1.1 - lint-staged: - specifier: ^13.2.3 - version: 13.2.3 - lodash: - specifier: ^4.17.21 - version: 4.17.21 - lucide-react: - specifier: ^0.263.1 - version: 0.263.1(react@18.2.0) - next: - specifier: 13.4.13 - version: 13.4.13(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0) - next-auth: - specifier: ^4.22.5 - version: 4.22.5(next@13.4.13)(nodemailer@6.9.4)(react-dom@18.2.0)(react@18.2.0) - next-contentlayer: - specifier: ^0.3.4 - version: 0.3.4(contentlayer@0.3.4)(esbuild@0.18.13)(next@13.4.13)(react-dom@18.2.0)(react@18.2.0) - nodemailer: - specifier: ^6.9.4 - version: 6.9.4 - openai-edge: - specifier: ^1.2.2 - version: 1.2.2 - prettier: - specifier: 2.8.8 - version: 2.8.8 - prettier-plugin-tailwindcss: - specifier: ^0.4.1 - version: 0.4.1(prettier@2.8.8) - pretty-quick: - specifier: ^3.1.3 - version: 3.1.3(prettier@2.8.8) - react: - specifier: 18.2.0 - version: 18.2.0 - react-dom: - specifier: 18.2.0 - version: 18.2.0(react@18.2.0) - react-dom-confetti: - specifier: ^0.2.0 - version: 0.2.0(react@18.2.0) - react-hook-form: - specifier: ^7.45.4 - version: 7.45.4(react@18.2.0) - react-hotkeys-hook: - specifier: ^4.4.1 - version: 4.4.1(react-dom@18.2.0)(react@18.2.0) - server-only: - specifier: ^0.0.1 - version: 0.0.1 - sonner: - specifier: ^0.6.2 - version: 0.6.2(react-dom@18.2.0)(react@18.2.0) - swr: - specifier: ^2.2.0 - version: 2.2.0(react@18.2.0) - tailwind-merge: - specifier: ^1.14.0 - version: 1.14.0 - tailwindcss-animate: - specifier: ^1.0.6 - version: 1.0.6(tailwindcss@3.3.3) - typescript: - specifier: 5.1.6 - version: 5.1.6 - zod: - specifier: ^3.21.4 - version: 3.21.4 - -devDependencies: - "@headlessui/tailwindcss": - specifier: ^0.2.0 - version: 0.2.0(tailwindcss@3.3.3) - "@types/he": - specifier: ^1.2.0 - version: 1.2.0 - "@types/lodash": - specifier: ^4.14.197 - version: 4.14.197 - "@types/node": - specifier: 20.4.9 - version: 20.4.9 - "@types/nodemailer": - specifier: ^6.4.9 - version: 6.4.9 - "@types/react": - specifier: 18.2.20 - version: 18.2.20 - "@types/react-dom": - specifier: 18.2.7 - version: 18.2.7 - autoprefixer: - specifier: 10.4.14 - version: 10.4.14(postcss@8.4.27) - postcss: - specifier: 8.4.27 - version: 8.4.27 - prisma: - specifier: ^5.1.1 - version: 5.1.1 - tailwindcss: - specifier: 3.3.3 - version: 3.3.3 - turbo: - specifier: ^1.10.12 - version: 1.10.12 +importers: + .: + devDependencies: + "@turbo/gen": + specifier: ^1.9.7 + version: 1.9.7(@types/node@17.0.12)(typescript@5.1.6) + eslint: + specifier: ^7.32.0 + version: 7.32.0 + eslint-config-custom: + specifier: workspace:* + version: link:packages/eslint-config-custom + husky: + specifier: ^8.0.3 + version: 8.0.3 + lint-staged: + specifier: ^13.2.3 + version: 13.2.3 + prettier: + specifier: 2.8.8 + version: 2.8.8 + pretty-quick: + specifier: ^3.1.3 + version: 3.1.3(prettier@2.8.8) + turbo: + specifier: latest + version: 1.10.12 + + apps/process-queue: + dependencies: + bull: + specifier: ^4.11.3 + version: 4.11.3 + devDependencies: + "@types/node": + specifier: ^17.0.12 + version: 17.0.12 + "@types/react": + specifier: ^18.0.22 + version: 18.2.20 + "@types/react-dom": + specifier: ^18.0.7 + version: 18.2.7 + eslint-config-custom: + specifier: workspace:* + version: link:../../packages/eslint-config-custom + nodemon: + specifier: ^3.0.1 + version: 3.0.1 + ts-node: + specifier: ^10.9.1 + version: 10.9.1(@types/node@17.0.12)(typescript@5.1.6) + tsconfig: + specifier: workspace:* + version: link:../../packages/tsconfig + typescript: + specifier: 5.1.6 + version: 5.1.6 + + apps/web: + dependencies: + "@auth/prisma-adapter": + specifier: ^1.0.1 + version: 1.0.1(@prisma/client@5.1.1)(nodemailer@6.9.4) + "@google-cloud/local-auth": + specifier: 2.1.1 + version: 2.1.1(encoding@0.1.13) + "@headlessui/react": + specifier: ^1.7.16 + version: 1.7.16(react-dom@18.2.0)(react@18.2.0) + "@heroicons/react": + specifier: ^2.0.18 + version: 2.0.18(react@18.2.0) + "@hookform/resolvers": + specifier: ^3.2.0 + version: 3.2.0(react-hook-form@7.45.4) + "@prisma/client": + specifier: ^5.1.1 + version: 5.1.1(prisma@5.1.1) + "@radix-ui/react-avatar": + specifier: ^1.0.3 + version: 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + "@radix-ui/react-dialog": + specifier: ^1.0.4 + version: 1.0.4(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + "@radix-ui/react-hover-card": + specifier: ^1.0.6 + version: 1.0.6(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + "@radix-ui/react-label": + specifier: ^2.0.2 + version: 2.0.2(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + "@radix-ui/react-separator": + specifier: ^1.0.3 + version: 1.0.3(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + "@radix-ui/react-slot": + specifier: ^1.0.2 + version: 1.0.2(@types/react@18.2.20)(react@18.2.0) + "@radix-ui/react-tooltip": + specifier: ^1.0.6 + version: 1.0.6(@types/react-dom@18.2.7)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + "@tailwindcss/forms": + specifier: ^0.5.4 + version: 0.5.4(tailwindcss@3.3.3) + "@tanstack/react-query": + specifier: ^4.32.6 + version: 4.32.6(react-dom@18.2.0)(react@18.2.0) + "@tremor/react": + specifier: ^3.6.1 + version: 3.6.1(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0)(tailwindcss@3.3.3) + "@upstash/redis": + specifier: ^1.22.0 + version: 1.22.0(encoding@0.1.13) + ai: + specifier: ^2.1.32 + version: 2.1.32(react@18.2.0)(solid-js@1.7.8)(svelte@4.1.1)(vue@3.3.4) + bull: + specifier: ^4.11.3 + version: 4.11.3 + capital-case: + specifier: ^1.0.4 + version: 1.0.4 + class-variance-authority: + specifier: ^0.7.0 + version: 0.7.0 + clsx: + specifier: ^2.0.0 + version: 2.0.0 + cmdk: + specifier: ^0.2.0 + version: 0.2.0(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + contentlayer: + specifier: ^0.3.4 + version: 0.3.4(esbuild@0.18.13) + date-fns: + specifier: ^2.30.0 + version: 2.30.0 + email-forward-parser: + specifier: ^1.5.5 + version: 1.5.5 + email-reply-parser: + specifier: ^1.5.3 + version: 1.5.3 + encoding: + specifier: ^0.1.13 + version: 0.1.13 + eslint: + specifier: 8.46.0 + version: 8.46.0 + eslint-config-next: + specifier: 13.4.13 + version: 13.4.13(eslint@8.46.0)(typescript@5.1.6) + gmail-api-parse-message: + specifier: ^2.1.2 + version: 2.1.2 + googleapis: + specifier: "124" + version: 124.0.0(encoding@0.1.13) + he: + specifier: ^1.2.0 + version: 1.2.0 + json5: + specifier: ^2.2.3 + version: 2.2.3 + linkify-react: + specifier: ^4.1.1 + version: 4.1.1(linkifyjs@4.1.1)(react@18.2.0) + linkifyjs: + specifier: ^4.1.1 + version: 4.1.1 + lodash: + specifier: ^4.17.21 + version: 4.17.21 + lucide-react: + specifier: ^0.263.1 + version: 0.263.1(react@18.2.0) + next: + specifier: 13.4.13 + version: 13.4.13(@opentelemetry/api@1.4.1)(react-dom@18.2.0)(react@18.2.0) + next-auth: + specifier: ^4.22.5 + version: 4.22.5(next@13.4.13)(nodemailer@6.9.4)(react-dom@18.2.0)(react@18.2.0) + next-contentlayer: + specifier: ^0.3.4 + version: 0.3.4(contentlayer@0.3.4)(esbuild@0.18.13)(next@13.4.13)(react-dom@18.2.0)(react@18.2.0) + nodemailer: + specifier: ^6.9.4 + version: 6.9.4 + openai-edge: + specifier: ^1.2.2 + version: 1.2.2 + prettier: + specifier: 2.8.8 + version: 2.8.8 + prettier-plugin-tailwindcss: + specifier: ^0.4.1 + version: 0.4.1(prettier@2.8.8) + react: + specifier: 18.2.0 + version: 18.2.0 + react-dom: + specifier: 18.2.0 + version: 18.2.0(react@18.2.0) + react-dom-confetti: + specifier: ^0.2.0 + version: 0.2.0(react@18.2.0) + react-hook-form: + specifier: ^7.45.4 + version: 7.45.4(react@18.2.0) + react-hotkeys-hook: + specifier: ^4.4.1 + version: 4.4.1(react-dom@18.2.0)(react@18.2.0) + server-only: + specifier: ^0.0.1 + version: 0.0.1 + sonner: + specifier: ^0.6.2 + version: 0.6.2(react-dom@18.2.0)(react@18.2.0) + swr: + specifier: ^2.2.0 + version: 2.2.0(react@18.2.0) + tailwind-merge: + specifier: ^1.14.0 + version: 1.14.0 + tailwindcss-animate: + specifier: ^1.0.6 + version: 1.0.6(tailwindcss@3.3.3) + typescript: + specifier: 5.1.6 + version: 5.1.6 + zod: + specifier: ^3.21.4 + version: 3.21.4 + devDependencies: + "@headlessui/tailwindcss": + specifier: ^0.2.0 + version: 0.2.0(tailwindcss@3.3.3) + "@types/he": + specifier: ^1.2.0 + version: 1.2.0 + "@types/lodash": + specifier: ^4.14.197 + version: 4.14.197 + "@types/node": + specifier: 20.4.9 + version: 20.4.9 + "@types/nodemailer": + specifier: ^6.4.9 + version: 6.4.9 + "@types/react": + specifier: 18.2.20 + version: 18.2.20 + "@types/react-dom": + specifier: 18.2.7 + version: 18.2.7 + autoprefixer: + specifier: 10.4.14 + version: 10.4.14(postcss@8.4.27) + eslint-config-custom: + specifier: workspace:* + version: link:../../packages/eslint-config-custom + postcss: + specifier: 8.4.27 + version: 8.4.27 + prisma: + specifier: ^5.1.1 + version: 5.1.1 + tailwindcss: + specifier: 3.3.3 + version: 3.3.3 + tsconfig: + specifier: workspace:* + version: link:../../packages/tsconfig + turbo: + specifier: ^1.10.12 + version: 1.10.12 + + packages/eslint-config-custom: + dependencies: + eslint-config-next: + specifier: ^13.4.1 + version: 13.4.13(eslint@7.32.0)(typescript@5.1.6) + eslint-config-prettier: + specifier: ^8.3.0 + version: 8.3.0(eslint@7.32.0) + eslint-config-turbo: + specifier: ^1.9.3 + version: 1.9.3(eslint@7.32.0) + eslint-plugin-react: + specifier: 7.28.0 + version: 7.28.0(eslint@7.32.0) + + packages/tsconfig: {} packages: /@aashutoshrathi/word-wrap@1.2.6: @@ -240,7 +304,6 @@ packages: integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, } engines: { node: ">=0.10.0" } - dev: false /@alloc/quick-lru@5.2.0: resolution: @@ -294,6 +357,14 @@ packages: - nodemailer dev: false + /@babel/code-frame@7.12.11: + resolution: + { + integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==, + } + dependencies: + "@babel/highlight": 7.22.10 + /@babel/helper-string-parser@7.22.5: resolution: { @@ -308,7 +379,17 @@ packages: integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==, } engines: { node: ">=6.9.0" } - dev: false + + /@babel/highlight@7.22.10: + resolution: + { + integrity: sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/helper-validator-identifier": 7.22.5 + chalk: 2.4.2 + js-tokens: 4.0.0 /@babel/parser@7.22.5: resolution: @@ -321,6 +402,17 @@ packages: "@babel/types": 7.22.5 dev: false + /@babel/runtime-corejs3@7.22.10: + resolution: + { + integrity: sha512-IcixfV2Jl3UrqZX4c81+7lVg5++2ufYJyAFW3Aux/ZTvY6LVYYhJ9rMgnbX0zGVq6eqfVpnoatTjZdVki/GmWA==, + } + engines: { node: ">=6.9.0" } + dependencies: + core-js-pure: 3.32.0 + regenerator-runtime: 0.14.0 + dev: true + /@babel/runtime@7.22.5: resolution: { @@ -482,6 +574,16 @@ packages: type-fest: 3.13.1 dev: false + /@cspotcode/source-map-support@0.8.1: + resolution: + { + integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==, + } + engines: { node: ">=12" } + dependencies: + "@jridgewell/trace-mapping": 0.3.9 + dev: true + /@effect-ts/core@0.60.5: resolution: { @@ -857,6 +959,25 @@ packages: engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } dev: false + /@eslint/eslintrc@0.4.3: + resolution: + { + integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==, + } + engines: { node: ^10.12.0 || >=12.0.0 } + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 7.3.1 + globals: 13.20.0 + ignore: 4.0.6 + import-fresh: 3.3.0 + js-yaml: 3.14.1 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + /@eslint/eslintrc@2.1.1: resolution: { @@ -1069,6 +1190,19 @@ packages: - supports-color dev: false + /@humanwhocodes/config-array@0.5.0: + resolution: + { + integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==, + } + engines: { node: ">=10.10.0" } + dependencies: + "@humanwhocodes/object-schema": 1.2.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + /@humanwhocodes/module-importer@1.0.1: resolution: { @@ -1082,7 +1216,6 @@ packages: { integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==, } - dev: false /@ioredis/commands@1.2.0: resolution: @@ -1152,6 +1285,16 @@ packages: "@jridgewell/resolve-uri": 3.1.0 "@jridgewell/sourcemap-codec": 1.4.14 + /@jridgewell/trace-mapping@0.3.9: + resolution: + { + integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==, + } + dependencies: + "@jridgewell/resolve-uri": 3.1.0 + "@jridgewell/sourcemap-codec": 1.4.15 + dev: true + /@js-temporal/polyfill@0.4.4: resolution: { @@ -2708,6 +2851,58 @@ packages: - tailwindcss dev: false + /@tsconfig/node10@1.0.9: + resolution: + { + integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==, + } + dev: true + + /@tsconfig/node12@1.0.11: + resolution: + { + integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==, + } + dev: true + + /@tsconfig/node14@1.0.3: + resolution: + { + integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==, + } + dev: true + + /@tsconfig/node16@1.0.4: + resolution: + { + integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==, + } + dev: true + + /@turbo/gen@1.9.7(@types/node@17.0.12)(typescript@5.1.6): + resolution: + { + integrity: sha512-mjenROdRNvYxZixNfamJY/XxwKMT+01PuQby8+qdRUUa5ZLBPOv4rw11n+II1O8ZnpFpBJIGGFJcnRNY+lCddw==, + } + hasBin: true + dependencies: + chalk: 2.4.2 + commander: 10.0.1 + fs-extra: 10.1.0 + inquirer: 8.2.6 + minimatch: 9.0.3 + node-plop: 0.26.3 + semver: 7.5.3 + ts-node: 10.9.1(@types/node@17.0.12)(typescript@5.1.6) + update-check: 1.5.4 + validate-npm-package-name: 5.0.0 + transitivePeerDependencies: + - "@swc/core" + - "@swc/wasm" + - "@types/node" + - typescript + dev: true + /@types/acorn@4.0.6: resolution: { @@ -2811,6 +3006,16 @@ packages: } dev: false + /@types/glob@7.2.0: + resolution: + { + integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==, + } + dependencies: + "@types/minimatch": 3.0.5 + "@types/node": 20.4.9 + dev: true + /@types/hast@2.3.5: resolution: { @@ -2827,6 +3032,16 @@ packages: } dev: true + /@types/inquirer@6.5.0: + resolution: + { + integrity: sha512-rjaYQ9b9y/VFGOpqBEXRavc3jh0a+e6evAbI31tMda8VlPaSy0AZJfXsvmIe3wklc7W6C3zCSfleuMXR7NOyXw==, + } + dependencies: + "@types/through": 0.0.30 + rxjs: 6.6.7 + dev: true + /@types/json5@0.0.29: resolution: { @@ -2869,7 +3084,7 @@ packages: { integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==, } - dev: false + dev: true /@types/ms@0.7.31: resolution: @@ -2878,6 +3093,13 @@ packages: } dev: false + /@types/node@17.0.12: + resolution: + { + integrity: sha512-4YpbAsnJXWYK/fpTVFlMIcUIho2AYCi4wg5aNPrG1ng7fn/1/RZfCIpRCiBX+12RVa34RluilnvCqD+g3KiSiA==, + } + dev: true + /@types/node@20.4.9: resolution: { @@ -2937,6 +3159,15 @@ packages: integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==, } + /@types/through@0.0.30: + resolution: + { + integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==, + } + dependencies: + "@types/node": 20.4.9 + dev: true + /@types/unist@2.0.7: resolution: { @@ -2944,6 +3175,29 @@ packages: } dev: false + /@typescript-eslint/parser@5.60.1(eslint@7.32.0)(typescript@5.1.6): + resolution: + { + integrity: sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + dependencies: + "@typescript-eslint/scope-manager": 5.60.1 + "@typescript-eslint/types": 5.60.1 + "@typescript-eslint/typescript-estree": 5.60.1(typescript@5.1.6) + debug: 4.3.4 + eslint: 7.32.0 + typescript: 5.1.6 + transitivePeerDependencies: + - supports-color + dev: false + /@typescript-eslint/parser@5.60.1(eslint@8.46.0)(typescript@5.1.6): resolution: { @@ -3150,7 +3404,16 @@ packages: { integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==, } - dev: false + + /acorn-jsx@5.3.2(acorn@7.4.1): + resolution: + { + integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, + } + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 7.4.1 /acorn-jsx@5.3.2(acorn@8.9.0): resolution: @@ -3163,6 +3426,22 @@ packages: acorn: 8.9.0 dev: false + /acorn-walk@8.2.0: + resolution: + { + integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==, + } + engines: { node: ">=0.4.0" } + dev: true + + /acorn@7.4.1: + resolution: + { + integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==, + } + engines: { node: ">=0.4.0" } + hasBin: true + /acorn@8.9.0: resolution: { @@ -3170,7 +3449,6 @@ packages: } engines: { node: ">=0.4.0" } hasBin: true - dev: false /agent-base@6.0.2: resolution: @@ -3215,7 +3493,6 @@ packages: dependencies: clean-stack: 2.2.0 indent-string: 4.0.0 - dev: false /ai@2.1.32(react@18.2.0)(solid-js@1.7.8)(svelte@4.1.1)(vue@3.3.4): resolution: @@ -3261,7 +3538,24 @@ packages: fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 - dev: false + + /ajv@8.12.0: + resolution: + { + integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==, + } + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + + /ansi-colors@4.1.3: + resolution: + { + integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==, + } + engines: { node: ">=6" } /ansi-escapes@4.3.2: resolution: @@ -3271,7 +3565,7 @@ packages: engines: { node: ">=8" } dependencies: type-fest: 0.21.3 - dev: false + dev: true /ansi-regex@5.0.1: resolution: @@ -3279,7 +3573,6 @@ packages: integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, } engines: { node: ">=8" } - dev: false /ansi-regex@6.0.1: resolution: @@ -3287,7 +3580,15 @@ packages: integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==, } engines: { node: ">=12" } - dev: false + + /ansi-styles@3.2.1: + resolution: + { + integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, + } + engines: { node: ">=4" } + dependencies: + color-convert: 1.9.3 /ansi-styles@4.3.0: resolution: @@ -3297,7 +3598,6 @@ packages: engines: { node: ">=8" } dependencies: color-convert: 2.0.1 - dev: false /ansi-styles@6.2.1: resolution: @@ -3305,7 +3605,6 @@ packages: integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==, } engines: { node: ">=12" } - dev: false /any-promise@1.3.0: resolution: @@ -3341,6 +3640,13 @@ packages: readable-stream: 3.6.2 dev: false + /arg@4.1.3: + resolution: + { + integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==, + } + dev: true + /arg@5.0.2: resolution: { @@ -3354,7 +3660,6 @@ packages: } dependencies: sprintf-js: 1.0.3 - dev: false /argparse@2.0.1: resolution: @@ -3398,7 +3703,7 @@ packages: integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==, } engines: { node: ">=8" } - dev: false + dev: true /array-includes@3.1.6: resolution: @@ -3427,7 +3732,6 @@ packages: integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==, } engines: { node: ">=8" } - dev: false /array.prototype.flat@1.3.1: resolution: @@ -3474,7 +3778,6 @@ packages: integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==, } engines: { node: ">=8" } - dev: false /ast-types-flow@0.0.7: resolution: @@ -3489,7 +3792,6 @@ packages: integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==, } engines: { node: ">=8" } - dev: false /astring@1.8.6: resolution: @@ -3568,7 +3870,6 @@ packages: { integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, } - dev: false /big-integer@1.6.51: resolution: @@ -3592,6 +3893,17 @@ packages: } engines: { node: ">=8" } + /bl@4.1.0: + resolution: + { + integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==, + } + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + /bplist-parser@0.2.0: resolution: { @@ -3618,7 +3930,6 @@ packages: } dependencies: balanced-match: 1.0.2 - dev: false /braces@3.0.2: resolution: @@ -3657,6 +3968,25 @@ packages: } dev: false + /buffer@5.7.1: + resolution: + { + integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==, + } + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: true + + /builtins@5.0.1: + resolution: + { + integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==, + } + dependencies: + semver: 7.5.3 + dev: true + /bull@4.11.3: resolution: { @@ -3732,7 +4062,16 @@ packages: integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, } engines: { node: ">=6" } - dev: false + + /camel-case@3.0.0: + resolution: + { + integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==, + } + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + dev: true /camel-case@4.1.2: resolution: @@ -3775,6 +4114,17 @@ packages: } dev: false + /chalk@2.4.2: + resolution: + { + integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, + } + engines: { node: ">=4" } + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + /chalk@3.0.0: resolution: { @@ -3784,7 +4134,7 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - dev: false + dev: true /chalk@4.1.2: resolution: @@ -3795,7 +4145,6 @@ packages: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - dev: false /chalk@5.2.0: resolution: @@ -3803,7 +4152,33 @@ packages: integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==, } engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } - dev: false + dev: true + + /change-case@3.1.0: + resolution: + { + integrity: sha512-2AZp7uJZbYEzRPsFoa+ijKdvp9zsrnnt6+yFokfwEpeJm0xuJDVoxiRCAaTzyJND8GJkofo2IcKWaUZ/OECVzw==, + } + dependencies: + camel-case: 3.0.0 + constant-case: 2.0.0 + dot-case: 2.1.1 + header-case: 1.0.1 + is-lower-case: 1.1.3 + is-upper-case: 1.1.2 + lower-case: 1.1.4 + lower-case-first: 1.0.2 + no-case: 2.3.2 + param-case: 2.1.1 + pascal-case: 2.0.1 + path-case: 2.1.1 + sentence-case: 2.1.1 + snake-case: 2.1.0 + swap-case: 1.1.2 + title-case: 2.1.1 + upper-case: 1.1.3 + upper-case-first: 1.1.2 + dev: true /character-entities-html4@2.1.0: resolution: @@ -3833,6 +4208,13 @@ packages: } dev: false + /chardet@0.7.0: + resolution: + { + integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==, + } + dev: true + /chokidar@3.5.3: resolution: { @@ -3880,7 +4262,6 @@ packages: integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==, } engines: { node: ">=6" } - dev: false /cli-cursor@3.1.0: resolution: @@ -3890,7 +4271,15 @@ packages: engines: { node: ">=8" } dependencies: restore-cursor: 3.1.0 - dev: false + dev: true + + /cli-spinners@2.9.0: + resolution: + { + integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==, + } + engines: { node: ">=6" } + dev: true /cli-truncate@2.1.0: resolution: @@ -3901,7 +4290,7 @@ packages: dependencies: slice-ansi: 3.0.0 string-width: 4.2.3 - dev: false + dev: true /cli-truncate@3.1.0: resolution: @@ -3912,7 +4301,15 @@ packages: dependencies: slice-ansi: 5.0.0 string-width: 5.1.2 - dev: false + dev: true + + /cli-width@3.0.0: + resolution: + { + integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==, + } + engines: { node: ">= 10" } + dev: true /client-only@0.0.1: resolution: @@ -3944,6 +4341,14 @@ packages: wrap-ansi: 7.0.0 dev: false + /clone@1.0.4: + resolution: + { + integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==, + } + engines: { node: ">=0.8" } + dev: true + /clsx@2.0.0: resolution: { @@ -3990,6 +4395,14 @@ packages: periscopic: 3.1.0 dev: false + /color-convert@1.9.3: + resolution: + { + integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, + } + dependencies: + color-name: 1.1.3 + /color-convert@2.0.1: resolution: { @@ -3998,14 +4411,18 @@ packages: engines: { node: ">=7.0.0" } dependencies: color-name: 1.1.4 - dev: false + + /color-name@1.1.3: + resolution: + { + integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, + } /color-name@1.1.4: resolution: { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, } - dev: false /color-support@1.1.3: resolution: @@ -4020,7 +4437,7 @@ packages: { integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, } - dev: false + dev: true /comma-separated-tokens@2.0.3: resolution: @@ -4042,7 +4459,7 @@ packages: integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==, } engines: { node: ">=14" } - dev: false + dev: true /commander@4.1.1: resolution: @@ -4078,6 +4495,16 @@ packages: } dev: false + /constant-case@2.0.0: + resolution: + { + integrity: sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ==, + } + dependencies: + snake-case: 2.1.0 + upper-case: 1.1.3 + dev: true + /contentlayer@0.3.4(esbuild@0.18.13): resolution: { @@ -4108,6 +4535,14 @@ packages: engines: { node: ">= 0.6" } dev: false + /core-js-pure@3.32.0: + resolution: + { + integrity: sha512-qsev1H+dTNYpDUEURRuOXMvpdtAnNEvQWS/FMJ2Vb5AY8ZP4rAPQldkE27joykZPJTe0+IVgHZYh1P5Xu1/i1g==, + } + requiresBuild: true + dev: true + /core-util-is@1.0.3: resolution: { @@ -4115,6 +4550,13 @@ packages: } dev: false + /create-require@1.1.1: + resolution: + { + integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==, + } + dev: true + /cron-parser@4.8.1: resolution: { @@ -4135,7 +4577,6 @@ packages: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - dev: false /css-tree@2.3.1: resolution: @@ -4298,7 +4739,7 @@ packages: "@babel/runtime": 7.22.5 dev: false - /debug@3.2.7: + /debug@3.2.7(supports-color@5.5.0): resolution: { integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==, @@ -4310,7 +4751,7 @@ packages: optional: true dependencies: ms: 2.1.3 - dev: false + supports-color: 5.5.0 /debug@4.3.4: resolution: @@ -4325,7 +4766,6 @@ packages: optional: true dependencies: ms: 2.1.2 - dev: false /decimal.js-light@2.5.1: resolution: @@ -4343,12 +4783,19 @@ packages: character-entities: 2.0.2 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==, } - dev: false /default-browser-id@3.0.0: resolution: @@ -4374,6 +4821,15 @@ packages: titleize: 3.0.0 dev: false + /defaults@1.0.4: + resolution: + { + integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==, + } + dependencies: + clone: 1.0.4 + dev: true + /define-lazy-prop@3.0.0: resolution: { @@ -4393,6 +4849,23 @@ packages: object-keys: 1.1.1 dev: false + /del@5.1.0: + resolution: + { + integrity: sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==, + } + engines: { node: ">=8" } + dependencies: + globby: 10.0.2 + graceful-fs: 4.2.11 + is-glob: 4.0.3 + is-path-cwd: 2.2.0 + is-path-inside: 3.0.3 + p-map: 3.0.0 + rimraf: 3.0.2 + slash: 3.0.0 + dev: true + /delegates@1.0.0: resolution: { @@ -4429,6 +4902,14 @@ packages: integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==, } + /diff@4.0.2: + resolution: + { + integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==, + } + engines: { node: ">=0.3.1" } + dev: true + /diff@5.1.0: resolution: { @@ -4445,7 +4926,6 @@ packages: engines: { node: ">=8" } dependencies: path-type: 4.0.0 - dev: false /dlv@1.1.3: resolution: @@ -4471,7 +4951,6 @@ packages: engines: { node: ">=6.0.0" } dependencies: esutils: 2.0.3 - dev: false /dom-confetti@0.2.2: resolution: @@ -4499,12 +4978,20 @@ packages: csstype: 3.1.2 dev: false + /dot-case@2.1.1: + resolution: + { + integrity: sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug==, + } + dependencies: + no-case: 2.3.2 + dev: true + /eastasianwidth@0.2.0: resolution: { integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==, } - dev: false /ecdsa-sig-formatter@1.0.11: resolution: @@ -4550,14 +5037,12 @@ packages: { integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, } - dev: false /emoji-regex@9.2.2: resolution: { integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==, } - dev: false /encoding@0.1.13: resolution: @@ -4575,7 +5060,7 @@ packages: } dependencies: once: 1.4.0 - dev: false + dev: true /enhanced-resolve@5.15.0: resolution: @@ -4588,6 +5073,16 @@ packages: tapable: 2.2.1 dev: false + /enquirer@2.4.1: + resolution: + { + integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==, + } + engines: { node: ">=8.6" } + dependencies: + ansi-colors: 4.1.3 + strip-ansi: 6.0.1 + /env-paths@2.2.1: resolution: { @@ -4719,12 +5214,46 @@ packages: } engines: { node: ">=6" } + /escape-string-regexp@1.0.5: + resolution: + { + integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, + } + engines: { node: ">=0.8.0" } + /escape-string-regexp@4.0.0: resolution: { integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, } engines: { node: ">=10" } + + /eslint-config-next@13.4.13(eslint@7.32.0)(typescript@5.1.6): + resolution: + { + integrity: sha512-EXAh5h1yG/YTNa5YdskzaSZncBjKjvFe2zclMCi2KXyTsXha22wB6MPs/U7idB6a2qjpBdbZcruQY1TWjfNMZw==, + } + peerDependencies: + eslint: ^7.23.0 || ^8.0.0 + typescript: ">=3.3.1" + peerDependenciesMeta: + typescript: + optional: true + dependencies: + "@next/eslint-plugin-next": 13.4.13 + "@rushstack/eslint-patch": 1.3.2 + "@typescript-eslint/parser": 5.60.1(eslint@7.32.0)(typescript@5.1.6) + eslint: 7.32.0 + eslint-import-resolver-node: 0.3.7 + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@7.32.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-typescript@3.5.5)(eslint@7.32.0) + eslint-plugin-jsx-a11y: 6.7.1(eslint@7.32.0) + eslint-plugin-react: 7.32.2(eslint@7.32.0) + eslint-plugin-react-hooks: 5.0.0-canary-7118f5dd7-20230705(eslint@7.32.0) + typescript: 5.1.6 + transitivePeerDependencies: + - eslint-import-resolver-webpack + - supports-color dev: false /eslint-config-next@13.4.13(eslint@8.46.0)(typescript@5.1.6): @@ -4755,19 +5284,70 @@ packages: - supports-color dev: false + /eslint-config-prettier@8.3.0(eslint@7.32.0): + resolution: + { + integrity: sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==, + } + hasBin: true + peerDependencies: + eslint: ">=7.0.0" + dependencies: + eslint: 7.32.0 + dev: false + + /eslint-config-turbo@1.9.3(eslint@7.32.0): + resolution: + { + integrity: sha512-QG6jxFQkrGSpQqlFKefPdtgUfr20EbU0s4tGGIuGFOcPuJEdsY6VYZpZUxNJvmMcTGqPgMyOPjAFBKhy/DPHLA==, + } + peerDependencies: + eslint: ">6.6.0" + dependencies: + eslint: 7.32.0 + eslint-plugin-turbo: 1.9.3(eslint@7.32.0) + dev: false + /eslint-import-resolver-node@0.3.7: resolution: { integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==, } dependencies: - debug: 3.2.7 + debug: 3.2.7(supports-color@5.5.0) is-core-module: 2.12.1 resolve: 1.22.2 transitivePeerDependencies: - supports-color dev: false + /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@7.32.0): + resolution: + { + integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + peerDependencies: + eslint: "*" + eslint-plugin-import: "*" + dependencies: + debug: 4.3.4 + enhanced-resolve: 5.15.0 + eslint: 7.32.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@7.32.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-typescript@3.5.5)(eslint@7.32.0) + get-tsconfig: 4.6.2 + globby: 13.2.1 + is-core-module: 2.12.1 + is-glob: 4.0.3 + synckit: 0.8.5 + transitivePeerDependencies: + - "@typescript-eslint/parser" + - eslint-import-resolver-node + - eslint-import-resolver-webpack + - supports-color + dev: false + /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.46.0): resolution: { @@ -4795,6 +5375,39 @@ packages: - supports-color dev: false + /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@7.32.0): + resolution: + { + integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==, + } + engines: { node: ">=4" } + peerDependencies: + "@typescript-eslint/parser": "*" + eslint: "*" + eslint-import-resolver-node: "*" + eslint-import-resolver-typescript: "*" + eslint-import-resolver-webpack: "*" + peerDependenciesMeta: + "@typescript-eslint/parser": + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + "@typescript-eslint/parser": 5.60.1(eslint@7.32.0)(typescript@5.1.6) + debug: 3.2.7(supports-color@5.5.0) + eslint: 7.32.0 + eslint-import-resolver-node: 0.3.7 + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@7.32.0) + transitivePeerDependencies: + - supports-color + dev: false + /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0): resolution: { @@ -4820,7 +5433,7 @@ packages: optional: true dependencies: "@typescript-eslint/parser": 5.60.1(eslint@8.46.0)(typescript@5.1.6) - debug: 3.2.7 + debug: 3.2.7(supports-color@5.5.0) eslint: 8.46.0 eslint-import-resolver-node: 0.3.7 eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.46.0) @@ -4828,6 +5441,42 @@ packages: - supports-color dev: false + /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-typescript@3.5.5)(eslint@7.32.0): + resolution: + { + integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==, + } + engines: { node: ">=4" } + peerDependencies: + "@typescript-eslint/parser": "*" + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + "@typescript-eslint/parser": + optional: true + dependencies: + "@typescript-eslint/parser": 5.60.1(eslint@7.32.0)(typescript@5.1.6) + array-includes: 3.1.6 + array.prototype.flat: 1.3.1 + array.prototype.flatmap: 1.3.1 + debug: 3.2.7(supports-color@5.5.0) + doctrine: 2.1.0 + eslint: 7.32.0 + eslint-import-resolver-node: 0.3.7 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@7.32.0) + has: 1.0.3 + is-core-module: 2.12.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.values: 1.1.6 + resolve: 1.22.2 + semver: 6.3.0 + tsconfig-paths: 3.14.2 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: false + /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.60.1)(eslint-import-resolver-typescript@3.5.5)(eslint@8.46.0): resolution: { @@ -4845,7 +5494,7 @@ packages: array-includes: 3.1.6 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 - debug: 3.2.7 + debug: 3.2.7(supports-color@5.5.0) doctrine: 2.1.0 eslint: 8.46.0 eslint-import-resolver-node: 0.3.7 @@ -4864,44 +5513,137 @@ packages: - supports-color dev: false + /eslint-plugin-jsx-a11y@6.7.1(eslint@7.32.0): + resolution: + { + integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==, + } + engines: { node: ">=4.0" } + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + "@babel/runtime": 7.22.5 + aria-query: 5.3.0 + array-includes: 3.1.6 + array.prototype.flatmap: 1.3.1 + ast-types-flow: 0.0.7 + axe-core: 4.7.2 + axobject-query: 3.2.1 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + eslint: 7.32.0 + has: 1.0.3 + jsx-ast-utils: 3.3.4 + language-tags: 1.0.5 + minimatch: 3.1.2 + object.entries: 1.1.6 + object.fromentries: 2.0.6 + semver: 6.3.0 + dev: false + /eslint-plugin-jsx-a11y@6.7.1(eslint@8.46.0): resolution: { - integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==, + integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==, + } + engines: { node: ">=4.0" } + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + "@babel/runtime": 7.22.5 + aria-query: 5.3.0 + array-includes: 3.1.6 + array.prototype.flatmap: 1.3.1 + ast-types-flow: 0.0.7 + axe-core: 4.7.2 + axobject-query: 3.2.1 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + eslint: 8.46.0 + has: 1.0.3 + jsx-ast-utils: 3.3.4 + language-tags: 1.0.5 + minimatch: 3.1.2 + object.entries: 1.1.6 + object.fromentries: 2.0.6 + semver: 6.3.0 + dev: false + + /eslint-plugin-react-hooks@5.0.0-canary-7118f5dd7-20230705(eslint@7.32.0): + resolution: + { + integrity: sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==, + } + 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: 7.32.0 + dev: false + + /eslint-plugin-react-hooks@5.0.0-canary-7118f5dd7-20230705(eslint@8.46.0): + resolution: + { + integrity: sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==, + } + 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.46.0 + dev: false + + /eslint-plugin-react@7.28.0(eslint@7.32.0): + resolution: + { + integrity: sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw==, } - engines: { node: ">=4.0" } + engines: { node: ">=4" } peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - "@babel/runtime": 7.22.5 - aria-query: 5.3.0 array-includes: 3.1.6 array.prototype.flatmap: 1.3.1 - ast-types-flow: 0.0.7 - axe-core: 4.7.2 - axobject-query: 3.2.1 - damerau-levenshtein: 1.0.8 - emoji-regex: 9.2.2 - eslint: 8.46.0 - has: 1.0.3 + doctrine: 2.1.0 + eslint: 7.32.0 + estraverse: 5.3.0 jsx-ast-utils: 3.3.4 - language-tags: 1.0.5 minimatch: 3.1.2 object.entries: 1.1.6 object.fromentries: 2.0.6 + object.hasown: 1.1.2 + object.values: 1.1.6 + prop-types: 15.8.1 + resolve: 2.0.0-next.4 semver: 6.3.0 + string.prototype.matchall: 4.0.8 dev: false - /eslint-plugin-react-hooks@5.0.0-canary-7118f5dd7-20230705(eslint@8.46.0): + /eslint-plugin-react@7.32.2(eslint@7.32.0): resolution: { - integrity: sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==, + integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==, } - engines: { node: ">=10" } + engines: { node: ">=4" } peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - eslint: 8.46.0 + array-includes: 3.1.6 + array.prototype.flatmap: 1.3.1 + array.prototype.tosorted: 1.1.1 + doctrine: 2.1.0 + eslint: 7.32.0 + estraverse: 5.3.0 + jsx-ast-utils: 3.3.4 + minimatch: 3.1.2 + object.entries: 1.1.6 + object.fromentries: 2.0.6 + object.hasown: 1.1.2 + object.values: 1.1.6 + prop-types: 15.8.1 + resolve: 2.0.0-next.4 + semver: 6.3.0 + string.prototype.matchall: 4.0.8 dev: false /eslint-plugin-react@7.32.2(eslint@8.46.0): @@ -4931,6 +5673,27 @@ packages: string.prototype.matchall: 4.0.8 dev: false + /eslint-plugin-turbo@1.9.3(eslint@7.32.0): + resolution: + { + integrity: sha512-ZsRtksdzk3v+z5/I/K4E50E4lfZ7oYmLX395gkrUMBz4/spJlYbr+GC8hP9oVNLj9s5Pvnm9rLv/zoj5PVYaVw==, + } + peerDependencies: + eslint: ">6.6.0" + dependencies: + eslint: 7.32.0 + dev: false + + /eslint-scope@5.1.1: + resolution: + { + integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==, + } + engines: { node: ">=8.0.0" } + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + /eslint-scope@7.2.2: resolution: { @@ -4942,6 +5705,29 @@ packages: estraverse: 5.3.0 dev: false + /eslint-utils@2.1.0: + resolution: + { + integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==, + } + engines: { node: ">=6" } + dependencies: + eslint-visitor-keys: 1.3.0 + + /eslint-visitor-keys@1.3.0: + resolution: + { + integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==, + } + engines: { node: ">=4" } + + /eslint-visitor-keys@2.1.0: + resolution: + { + integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==, + } + engines: { node: ">=10" } + /eslint-visitor-keys@3.4.2: resolution: { @@ -4950,6 +5736,57 @@ packages: engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: false + /eslint@7.32.0: + resolution: + { + integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==, + } + engines: { node: ^10.12.0 || >=12.0.0 } + hasBin: true + dependencies: + "@babel/code-frame": 7.12.11 + "@eslint/eslintrc": 0.4.3 + "@humanwhocodes/config-array": 0.5.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + enquirer: 2.4.1 + escape-string-regexp: 4.0.0 + eslint-scope: 5.1.1 + eslint-utils: 2.1.0 + eslint-visitor-keys: 2.1.0 + espree: 7.3.1 + esquery: 1.5.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: 5.1.2 + globals: 13.20.0 + ignore: 4.0.6 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + js-yaml: 3.14.1 + 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.3 + progress: 2.0.3 + regexpp: 3.2.0 + semver: 7.5.3 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + table: 6.8.1 + text-table: 0.2.0 + v8-compile-cache: 2.3.0 + transitivePeerDependencies: + - supports-color + /eslint@8.46.0: resolution: { @@ -4999,6 +5836,17 @@ packages: - supports-color dev: false + /espree@7.3.1: + resolution: + { + integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==, + } + engines: { node: ^10.12.0 || >=12.0.0 } + dependencies: + acorn: 7.4.1 + acorn-jsx: 5.3.2(acorn@7.4.1) + eslint-visitor-keys: 1.3.0 + /espree@9.6.1: resolution: { @@ -5018,7 +5866,6 @@ packages: } engines: { node: ">=4" } hasBin: true - dev: false /esquery@1.5.0: resolution: @@ -5028,7 +5875,6 @@ packages: engines: { node: ">=0.10" } dependencies: estraverse: 5.3.0 - dev: false /esrecurse@4.3.0: resolution: @@ -5038,7 +5884,13 @@ packages: engines: { node: ">=4.0" } dependencies: estraverse: 5.3.0 - dev: false + + /estraverse@4.3.0: + resolution: + { + integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==, + } + engines: { node: ">=4.0" } /estraverse@5.3.0: resolution: @@ -5046,7 +5898,6 @@ packages: integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, } engines: { node: ">=4.0" } - dev: false /estree-util-attach-comments@2.1.1: resolution: @@ -5135,7 +5986,6 @@ packages: integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, } engines: { node: ">=0.10.0" } - dev: false /eventemitter3@4.0.7: resolution: @@ -5168,7 +6018,7 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 - dev: false + dev: true /execa@5.1.1: resolution: @@ -5204,7 +6054,6 @@ packages: onetime: 6.0.0 signal-exit: 3.0.7 strip-final-newline: 3.0.0 - dev: false /exponential-backoff@3.1.1: resolution: @@ -5230,12 +6079,23 @@ packages: } dev: false + /external-editor@3.1.0: + resolution: + { + integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==, + } + engines: { node: ">=4" } + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + dev: true + /fast-deep-equal@3.1.3: resolution: { integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, } - dev: false /fast-equals@5.0.1: resolution: @@ -5263,14 +6123,12 @@ packages: { integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, } - dev: false /fast-levenshtein@2.0.6: resolution: { integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, } - dev: false /fast-text-encoding@1.0.6: resolution: @@ -5307,6 +6165,16 @@ packages: web-streams-polyfill: 3.2.1 dev: false + /figures@3.2.0: + resolution: + { + integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==, + } + engines: { node: ">=8" } + dependencies: + escape-string-regexp: 1.0.5 + dev: true + /file-entry-cache@6.0.1: resolution: { @@ -5315,7 +6183,6 @@ packages: engines: { node: ^10.12.0 || >=12.0.0 } dependencies: flat-cache: 3.0.4 - dev: false /fill-range@7.0.1: resolution: @@ -5335,7 +6202,7 @@ packages: dependencies: locate-path: 5.0.0 path-exists: 4.0.0 - dev: false + dev: true /find-up@5.0.0: resolution: @@ -5357,14 +6224,12 @@ packages: dependencies: flatted: 3.2.7 rimraf: 3.0.2 - dev: false /flatted@3.2.7: resolution: { integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==, } - dev: false /for-each@0.3.3: resolution: @@ -5411,6 +6276,18 @@ packages: } dev: true + /fs-extra@10.1.0: + resolution: + { + integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==, + } + engines: { node: ">=12" } + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + /fs-minipass@2.1.0: resolution: { @@ -5473,6 +6350,12 @@ packages: functions-have-names: 1.2.3 dev: false + /functional-red-black-tree@1.0.1: + resolution: + { + integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==, + } + /functions-have-names@1.2.3: resolution: { @@ -5601,7 +6484,7 @@ packages: engines: { node: ">=8" } dependencies: pump: 3.0.0 - dev: false + dev: true /get-stream@6.0.1: resolution: @@ -5609,7 +6492,6 @@ packages: integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==, } engines: { node: ">=10" } - dev: false /get-symbol-description@1.0.0: resolution: @@ -5710,7 +6592,6 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: false /globals@13.20.0: resolution: @@ -5720,7 +6601,6 @@ packages: engines: { node: ">=8" } dependencies: type-fest: 0.20.2 - dev: false /globalthis@1.0.3: resolution: @@ -5732,6 +6612,23 @@ packages: define-properties: 1.2.0 dev: false + /globby@10.0.2: + resolution: + { + integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==, + } + engines: { node: ">=8" } + dependencies: + "@types/glob": 7.2.0 + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.0 + glob: 7.2.3 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + /globby@11.1.0: resolution: { @@ -5867,7 +6764,6 @@ packages: { integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, } - dev: false /graphemer@1.4.0: resolution: @@ -5918,6 +6814,22 @@ packages: - supports-color dev: false + /handlebars@4.7.8: + resolution: + { + integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==, + } + engines: { node: ">=0.4.7" } + hasBin: true + dependencies: + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.17.4 + dev: true + /has-bigints@1.0.2: resolution: { @@ -5925,13 +6837,19 @@ packages: } dev: false + /has-flag@3.0.0: + resolution: + { + integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, + } + engines: { node: ">=4" } + /has-flag@4.0.0: resolution: { integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, } engines: { node: ">=8" } - dev: false /has-own-prop@2.0.0: resolution: @@ -6128,6 +7046,16 @@ packages: hasBin: true dev: false + /header-case@1.0.1: + resolution: + { + integrity: sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ==, + } + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + dev: true + /html-void-elements@2.0.1: resolution: { @@ -6188,7 +7116,7 @@ packages: integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==, } engines: { node: ">=8.12.0" } - dev: false + dev: true /human-signals@2.1.0: resolution: @@ -6204,7 +7132,6 @@ packages: integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==, } engines: { node: ">=14.18.0" } - dev: false /humanize-ms@1.2.1: resolution: @@ -6222,7 +7149,17 @@ packages: } engines: { node: ">=14" } hasBin: true - dev: false + dev: true + + /iconv-lite@0.4.24: + resolution: + { + integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==, + } + engines: { node: ">=0.10.0" } + dependencies: + safer-buffer: 2.1.2 + dev: true /iconv-lite@0.6.3: resolution: @@ -6234,13 +7171,33 @@ packages: safer-buffer: 2.1.2 dev: false + /ieee754@1.2.1: + resolution: + { + integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, + } + dev: true + + /ignore-by-default@1.0.1: + resolution: + { + integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==, + } + dev: true + + /ignore@4.0.6: + resolution: + { + integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==, + } + engines: { node: ">= 4" } + /ignore@5.2.4: resolution: { integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==, } engines: { node: ">= 4" } - dev: false /imagescript@1.2.16: resolution: @@ -6259,7 +7216,6 @@ packages: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - dev: false /imurmurhash@0.1.4: resolution: @@ -6267,7 +7223,6 @@ packages: integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, } engines: { node: ">=0.8.19" } - dev: false /indent-string@4.0.0: resolution: @@ -6275,7 +7230,6 @@ packages: integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==, } engines: { node: ">=8" } - dev: false /inflection@2.0.1: resolution: @@ -6300,12 +7254,65 @@ packages: integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, } - /inline-style-parser@0.1.1: + /ini@1.3.8: + resolution: + { + integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==, + } + dev: true + + /inline-style-parser@0.1.1: + resolution: + { + integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==, + } + dev: false + + /inquirer@7.3.3: + resolution: + { + integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==, + } + engines: { node: ">=8.0.0" } + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + run-async: 2.4.1 + rxjs: 6.6.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + dev: true + + /inquirer@8.2.6: resolution: { - integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==, + integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==, } - dev: false + engines: { node: ">=12.0.0" } + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + ora: 5.4.1 + run-async: 2.4.1 + rxjs: 7.8.1 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + wrap-ansi: 6.2.0 + dev: true /install-artifact-from-github@1.3.3: resolution: @@ -6508,7 +7515,6 @@ packages: integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, } engines: { node: ">=8" } - dev: false /is-fullwidth-code-point@4.0.0: resolution: @@ -6516,7 +7522,7 @@ packages: integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==, } engines: { node: ">=12" } - dev: false + dev: true /is-glob@4.0.3: resolution: @@ -6545,6 +7551,14 @@ packages: is-docker: 3.0.0 dev: false + /is-interactive@1.0.0: + resolution: + { + integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==, + } + engines: { node: ">=8" } + dev: true + /is-lambda@1.0.1: resolution: { @@ -6552,6 +7566,15 @@ packages: } dev: false + /is-lower-case@1.1.3: + resolution: + { + integrity: sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA==, + } + dependencies: + lower-case: 1.1.4 + dev: true + /is-negative-zero@2.0.2: resolution: { @@ -6577,13 +7600,20 @@ packages: } engines: { node: ">=0.12.0" } + /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: false /is-plain-obj@3.0.0: resolution: @@ -6636,7 +7666,6 @@ packages: integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==, } engines: { node: ">=8" } - dev: false /is-stream@3.0.0: resolution: @@ -6644,7 +7673,6 @@ packages: integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, } engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dev: false /is-string@1.0.7: resolution: @@ -6680,6 +7708,23 @@ packages: has-tostringtag: 1.0.0 dev: false + /is-unicode-supported@0.1.0: + resolution: + { + integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==, + } + engines: { node: ">=10" } + dev: true + + /is-upper-case@1.1.2: + resolution: + { + integrity: sha512-GQYSJMgfeAmVwh9ixyk888l7OIhNAGKtY6QA+IrWlu9MDTCaXmeozOZ2S9Knj7bQwBO/H6J2kb+pbyTUiMNbsw==, + } + dependencies: + upper-case: 1.1.3 + dev: true + /is-weakref@1.0.2: resolution: { @@ -6699,12 +7744,19 @@ packages: is-docker: 2.2.1 dev: false + /isbinaryfile@4.0.10: + resolution: + { + integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==, + } + engines: { node: ">= 8.0.0" } + dev: true + /isexe@2.0.0: resolution: { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, } - dev: false /isomorphic-fetch@3.0.0(encoding@0.1.13): resolution: @@ -6749,7 +7801,6 @@ packages: { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, } - dev: false /js-yaml@3.14.1: resolution: @@ -6760,7 +7811,6 @@ packages: dependencies: argparse: 1.0.10 esprima: 4.0.1 - dev: false /js-yaml@4.1.0: resolution: @@ -6793,14 +7843,18 @@ packages: { integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, } - dev: false + + /json-schema-traverse@1.0.0: + resolution: + { + integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, + } /json-stable-stringify-without-jsonify@1.0.1: resolution: { integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, } - dev: false /json5@1.0.2: resolution: @@ -6821,6 +7875,17 @@ packages: hasBin: true dev: false + /jsonfile@6.1.0: + resolution: + { + integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, + } + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + /jsx-ast-utils@3.3.4: resolution: { @@ -6896,7 +7961,6 @@ packages: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - dev: false /lilconfig@2.1.0: resolution: @@ -6955,7 +8019,7 @@ packages: transitivePeerDependencies: - enquirer - supports-color - dev: false + dev: true /listr2@5.0.8: resolution: @@ -6977,7 +8041,7 @@ packages: rxjs: 7.8.1 through: 2.3.8 wrap-ansi: 7.0.0 - dev: false + dev: true /locate-character@3.0.0: resolution: @@ -6994,7 +8058,7 @@ packages: engines: { node: ">=8" } dependencies: p-locate: 4.1.0 - dev: false + dev: true /locate-path@6.0.0: resolution: @@ -7020,6 +8084,13 @@ packages: } dev: false + /lodash.get@4.4.2: + resolution: + { + integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==, + } + dev: true + /lodash.isarguments@3.1.0: resolution: { @@ -7032,14 +8103,29 @@ packages: { integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, } - dev: false + + /lodash.truncate@4.4.2: + resolution: + { + integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==, + } /lodash@4.17.21: resolution: { integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, } - dev: false + + /log-symbols@4.1.0: + resolution: + { + integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==, + } + engines: { node: ">=10" } + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true /log-update@4.0.0: resolution: @@ -7052,7 +8138,7 @@ packages: cli-cursor: 3.1.0 slice-ansi: 4.0.0 wrap-ansi: 6.2.0 - dev: false + dev: true /long@4.0.0: resolution: @@ -7085,6 +8171,22 @@ packages: js-tokens: 4.0.0 dev: false + /lower-case-first@1.0.2: + resolution: + { + integrity: sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA==, + } + dependencies: + lower-case: 1.1.4 + dev: true + + /lower-case@1.1.4: + resolution: + { + integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==, + } + dev: true + /lower-case@2.0.2: resolution: { @@ -7110,7 +8212,6 @@ packages: engines: { node: ">=10" } dependencies: yallist: 4.0.0 - dev: false /lru-cache@7.18.3: resolution: @@ -7149,6 +8250,13 @@ packages: "@jridgewell/sourcemap-codec": 1.4.15 dev: false + /make-error@1.3.6: + resolution: + { + integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==, + } + dev: true + /make-fetch-happen@11.1.1: resolution: { @@ -7390,7 +8498,6 @@ packages: { integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, } - dev: false /merge2@1.4.1: resolution: @@ -7773,7 +8880,6 @@ packages: integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, } engines: { node: ">=6" } - dev: false /mimic-fn@4.0.0: resolution: @@ -7781,7 +8887,6 @@ packages: integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, } engines: { node: ">=12" } - dev: false /mini-svg-data-uri@1.4.4: resolution: @@ -7807,14 +8912,12 @@ packages: engines: { node: ">=16 || 14 >=14.17" } dependencies: brace-expansion: 2.0.1 - dev: false /minimist@1.2.8: resolution: { integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, } - dev: false /minipass-collect@1.0.2: resolution: @@ -7899,6 +9002,16 @@ packages: yallist: 4.0.0 dev: false + /mkdirp@0.5.6: + resolution: + { + integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==, + } + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + /mkdirp@1.0.4: resolution: { @@ -7914,21 +9027,18 @@ packages: integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==, } engines: { node: ">=4" } - dev: false /ms@2.1.2: resolution: { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, } - dev: false /ms@2.1.3: resolution: { integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, } - dev: false /msgpackr-extract@3.0.2: resolution: @@ -7970,7 +9080,14 @@ packages: array-union: 2.1.0 arrify: 2.0.1 minimatch: 3.1.2 - dev: false + dev: true + + /mute-stream@0.0.8: + resolution: + { + integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==, + } + dev: true /mz@2.7.0: resolution: @@ -8002,7 +9119,6 @@ packages: { integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, } - dev: false /negotiator@0.6.3: resolution: @@ -8012,6 +9128,13 @@ packages: engines: { node: ">= 0.6" } dev: false + /neo-async@2.6.2: + resolution: + { + integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==, + } + dev: true + /next-auth@4.22.5(next@13.4.13)(nodemailer@6.9.4)(react-dom@18.2.0)(react@18.2.0): resolution: { @@ -8109,6 +9232,15 @@ packages: - babel-plugin-macros dev: false + /no-case@2.3.2: + resolution: + { + integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==, + } + dependencies: + lower-case: 1.1.4 + dev: true + /no-case@3.0.4: resolution: { @@ -8196,6 +9328,26 @@ packages: - supports-color dev: false + /node-plop@0.26.3: + resolution: + { + integrity: sha512-Cov028YhBZ5aB7MdMWJEmwyBig43aGL5WT4vdoB28Oitau1zZAcHUn8Sgfk9HM33TqhtLJ9PlM/O0Mv+QpV/4Q==, + } + engines: { node: ">=8.9.4" } + dependencies: + "@babel/runtime-corejs3": 7.22.10 + "@types/inquirer": 6.5.0 + change-case: 3.1.0 + del: 5.1.0 + globby: 10.0.2 + handlebars: 4.7.8 + inquirer: 7.3.3 + isbinaryfile: 4.0.10 + lodash.get: 4.4.2 + mkdirp: 0.5.6 + resolve: 1.22.2 + dev: true + /node-releases@2.0.12: resolution: { @@ -8211,6 +9363,36 @@ packages: engines: { node: ">=6.0.0" } dev: false + /nodemon@3.0.1: + resolution: + { + integrity: sha512-g9AZ7HmkhQkqXkRc20w+ZfQ73cHLbE8hnPbtaFbFtCumZsjyMhKk9LajQ07U5Ux28lvFjZ5X7HvWR1xzU8jHVw==, + } + engines: { node: ">=10" } + hasBin: true + dependencies: + chokidar: 3.5.3 + debug: 3.2.7(supports-color@5.5.0) + ignore-by-default: 1.0.1 + minimatch: 3.1.2 + pstree.remy: 1.1.8 + semver: 7.5.3 + simple-update-notifier: 2.0.0 + supports-color: 5.5.0 + touch: 3.1.0 + undefsafe: 2.0.5 + dev: true + + /nopt@1.0.10: + resolution: + { + integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==, + } + hasBin: true + dependencies: + abbrev: 1.1.1 + dev: true + /nopt@6.0.0: resolution: { @@ -8245,7 +9427,6 @@ packages: engines: { node: ">=8" } dependencies: path-key: 3.1.1 - dev: false /npm-run-path@5.1.0: resolution: @@ -8255,7 +9436,6 @@ packages: engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: path-key: 4.0.0 - dev: false /npmlog@6.0.2: resolution: @@ -8311,7 +9491,6 @@ packages: { integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==, } - dev: false /object-keys@1.1.1: resolution: @@ -8404,7 +9583,6 @@ packages: engines: { node: ">=6" } dependencies: mimic-fn: 2.1.0 - dev: false /onetime@6.0.0: resolution: @@ -8414,7 +9592,6 @@ packages: engines: { node: ">=12" } dependencies: mimic-fn: 4.0.0 - dev: false /oo-ascii-tree@1.84.0: resolution: @@ -8481,7 +9658,32 @@ packages: levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - dev: false + + /ora@5.4.1: + resolution: + { + integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==, + } + engines: { node: ">=10" } + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.0 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + dev: true + + /os-tmpdir@1.0.2: + resolution: + { + integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==, + } + engines: { node: ">=0.10.0" } + dev: true /p-limit@2.3.0: resolution: @@ -8491,7 +9693,7 @@ packages: engines: { node: ">=6" } dependencies: p-try: 2.2.0 - dev: false + dev: true /p-limit@3.1.0: resolution: @@ -8511,7 +9713,7 @@ packages: engines: { node: ">=8" } dependencies: p-limit: 2.3.0 - dev: false + dev: true /p-locate@5.0.0: resolution: @@ -8523,6 +9725,16 @@ packages: p-limit: 3.1.0 dev: false + /p-map@3.0.0: + resolution: + { + integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==, + } + engines: { node: ">=8" } + dependencies: + aggregate-error: 3.1.0 + dev: true + /p-map@4.0.0: resolution: { @@ -8531,7 +9743,6 @@ packages: engines: { node: ">=10" } dependencies: aggregate-error: 3.1.0 - dev: false /p-try@2.2.0: resolution: @@ -8539,7 +9750,16 @@ packages: integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==, } engines: { node: ">=6" } - dev: false + dev: true + + /param-case@2.1.1: + resolution: + { + integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==, + } + dependencies: + no-case: 2.3.2 + dev: true /parent-module@1.0.1: resolution: @@ -8549,7 +9769,6 @@ packages: engines: { node: ">=6" } dependencies: callsites: 3.1.0 - dev: false /parse-entities@4.0.1: resolution: @@ -8574,6 +9793,16 @@ packages: } dev: false + /pascal-case@2.0.1: + resolution: + { + integrity: sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ==, + } + dependencies: + camel-case: 3.0.0 + upper-case-first: 1.1.2 + dev: true + /pascal-case@3.1.2: resolution: { @@ -8584,13 +9813,21 @@ packages: tslib: 2.6.0 dev: false + /path-case@2.1.1: + resolution: + { + integrity: sha512-Ou0N05MioItesaLr9q8TtHVWmJ6fxWdqKB2RohFmNWVyJ+2zeKIeDNWAN6B/Pe7wpzWChhZX6nONYmOnMeJQ/Q==, + } + dependencies: + no-case: 2.3.2 + dev: true + /path-exists@4.0.0: resolution: { integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, } engines: { node: ">=8" } - dev: false /path-is-absolute@1.0.1: resolution: @@ -8605,7 +9842,6 @@ packages: integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, } engines: { node: ">=8" } - dev: false /path-key@4.0.0: resolution: @@ -8613,7 +9849,6 @@ packages: integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, } engines: { node: ">=12" } - dev: false /path-parse@1.0.7: resolution: @@ -8638,7 +9873,6 @@ packages: integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, } engines: { node: ">=8" } - dev: false /periscopic@3.1.0: resolution: @@ -8671,7 +9905,7 @@ packages: } engines: { node: ">=0.10" } hasBin: true - dev: false + dev: true /pify@2.3.0: resolution: @@ -8834,7 +10068,6 @@ packages: integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, } engines: { node: ">= 0.8.0" } - dev: false /prettier-plugin-tailwindcss@0.4.1(prettier@2.8.8): resolution: @@ -8901,7 +10134,6 @@ packages: } engines: { node: ">=10.13.0" } hasBin: true - dev: false /pretty-format@3.8.0: resolution: @@ -8927,7 +10159,7 @@ packages: mri: 1.2.0 multimatch: 4.0.0 prettier: 2.8.8 - dev: false + dev: true /prisma@5.1.1: resolution: @@ -8940,6 +10172,13 @@ packages: dependencies: "@prisma/engines": 5.1.1 + /progress@2.0.3: + resolution: + { + integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==, + } + engines: { node: ">=0.4.0" } + /promise-retry@2.0.1: resolution: { @@ -8991,6 +10230,13 @@ packages: long: 5.2.3 dev: false + /pstree.remy@1.1.8: + resolution: + { + integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==, + } + dev: true + /pump@3.0.0: resolution: { @@ -8999,7 +10245,7 @@ packages: dependencies: end-of-stream: 1.4.4 once: 1.4.0 - dev: false + dev: true /punycode@2.3.0: resolution: @@ -9007,7 +10253,6 @@ packages: integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==, } engines: { node: ">=6" } - dev: false /qs@6.11.2: resolution: @@ -9025,6 +10270,19 @@ packages: integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, } + /rc@1.2.8: + resolution: + { + integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==, + } + hasBin: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + dev: true + /re2@1.20.1: resolution: { @@ -9292,7 +10550,6 @@ packages: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: false /readdirp@3.6.0: resolution: @@ -9372,6 +10629,13 @@ packages: } dev: false + /regenerator-runtime@0.14.0: + resolution: + { + integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==, + } + dev: true + /regexp.prototype.flags@1.5.0: resolution: { @@ -9384,6 +10648,33 @@ packages: functions-have-names: 1.2.3 dev: false + /regexpp@3.2.0: + resolution: + { + integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==, + } + engines: { node: ">=8" } + + /registry-auth-token@3.3.2: + resolution: + { + integrity: sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==, + } + dependencies: + rc: 1.2.8 + safe-buffer: 5.2.1 + dev: true + + /registry-url@3.1.0: + resolution: + { + integrity: sha512-ZbgR5aZEdf4UKZVBPYIgaglBmSF2Hi94s2PcIHhRGFjKYu+chjJdYfHn4rt3hB6eCKLJ8giVIIfgMa1ehDfZKA==, + } + engines: { node: ">=0.10.0" } + dependencies: + rc: 1.2.8 + dev: true + /rehype-stringify@9.0.3: resolution: { @@ -9473,13 +10764,19 @@ packages: engines: { node: ">=0.10.0" } dev: false + /require-from-string@2.0.2: + resolution: + { + integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, + } + engines: { node: ">=0.10.0" } + /resolve-from@4.0.0: resolution: { integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, } engines: { node: ">=4" } - dev: false /resolve-pkg-maps@1.0.0: resolution: @@ -9520,7 +10817,7 @@ packages: dependencies: onetime: 5.1.2 signal-exit: 3.0.7 - dev: false + dev: true /retry@0.12.0: resolution: @@ -9542,7 +10839,7 @@ packages: { integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==, } - dev: false + dev: true /rimraf@3.0.2: resolution: @@ -9552,7 +10849,6 @@ packages: hasBin: true dependencies: glob: 7.2.3 - dev: false /run-applescript@5.0.0: resolution: @@ -9564,6 +10860,14 @@ packages: execa: 5.1.1 dev: false + /run-async@2.4.1: + resolution: + { + integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==, + } + engines: { node: ">=0.12.0" } + dev: true + /run-parallel@1.2.0: resolution: { @@ -9572,6 +10876,16 @@ packages: dependencies: queue-microtask: 1.2.3 + /rxjs@6.6.7: + resolution: + { + integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==, + } + engines: { npm: ">=2.0.0" } + dependencies: + tslib: 1.14.1 + dev: true + /rxjs@7.8.1: resolution: { @@ -9579,7 +10893,7 @@ packages: } dependencies: tslib: 2.6.0 - dev: false + dev: true /sade@1.8.1: resolution: @@ -9596,7 +10910,6 @@ packages: { integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, } - dev: false /safe-regex-test@1.0.0: resolution: @@ -9614,7 +10927,6 @@ packages: { integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, } - dev: false /scheduler@0.23.0: resolution: @@ -9653,7 +10965,16 @@ packages: hasBin: true dependencies: lru-cache: 6.0.0 - dev: false + + /sentence-case@2.1.1: + resolution: + { + integrity: sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ==, + } + dependencies: + no-case: 2.3.2 + upper-case-first: 1.1.2 + dev: true /seroval@0.5.1: resolution: @@ -9692,7 +11013,6 @@ packages: engines: { node: ">=8" } dependencies: shebang-regex: 3.0.0 - dev: false /shebang-regex@3.0.0: resolution: @@ -9700,7 +11020,6 @@ packages: integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, } engines: { node: ">=8" } - dev: false /side-channel@1.0.4: resolution: @@ -9718,7 +11037,6 @@ packages: { integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, } - dev: false /signal-exit@4.1.0: resolution: @@ -9728,13 +11046,22 @@ packages: engines: { node: ">=14" } dev: false + /simple-update-notifier@2.0.0: + resolution: + { + integrity: sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==, + } + engines: { node: ">=10" } + dependencies: + semver: 7.5.3 + dev: true + /slash@3.0.0: resolution: { integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, } engines: { node: ">=8" } - dev: false /slash@4.0.0: resolution: @@ -9754,7 +11081,7 @@ packages: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - dev: false + dev: true /slice-ansi@4.0.0: resolution: @@ -9766,7 +11093,6 @@ packages: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - dev: false /slice-ansi@5.0.0: resolution: @@ -9777,7 +11103,7 @@ packages: dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 - dev: false + dev: true /smart-buffer@4.2.0: resolution: @@ -9787,6 +11113,15 @@ packages: engines: { node: ">= 6.0.0", npm: ">= 3.0.0" } dev: false + /snake-case@2.1.0: + resolution: + { + integrity: sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q==, + } + dependencies: + no-case: 2.3.2 + dev: true + /socks-proxy-agent@7.0.0: resolution: { @@ -9872,7 +11207,6 @@ packages: integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, } engines: { node: ">=0.10.0" } - dev: false /source-map@0.7.4: resolution: @@ -9894,7 +11228,6 @@ packages: { integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, } - dev: false /ssri@10.0.4: resolution: @@ -9939,7 +11272,7 @@ packages: integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==, } engines: { node: ">=0.6.19" } - dev: false + dev: true /string-width@4.2.3: resolution: @@ -9951,7 +11284,6 @@ packages: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - dev: false /string-width@5.1.2: resolution: @@ -9963,7 +11295,6 @@ packages: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 - dev: false /string.prototype.matchall@4.0.8: resolution: @@ -10022,7 +11353,6 @@ packages: } dependencies: safe-buffer: 5.2.1 - dev: false /stringify-entities@4.0.3: resolution: @@ -10042,7 +11372,6 @@ packages: engines: { node: ">=8" } dependencies: ansi-regex: 5.0.1 - dev: false /strip-ansi@7.1.0: resolution: @@ -10052,7 +11381,6 @@ packages: engines: { node: ">=12" } dependencies: ansi-regex: 6.0.1 - dev: false /strip-bom-string@1.0.0: resolution: @@ -10076,7 +11404,6 @@ packages: integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, } engines: { node: ">=6" } - dev: false /strip-final-newline@3.0.0: resolution: @@ -10084,7 +11411,14 @@ packages: integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, } engines: { node: ">=12" } - dev: false + + /strip-json-comments@2.0.1: + resolution: + { + integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==, + } + engines: { node: ">=0.10.0" } + dev: true /strip-json-comments@3.1.1: resolution: @@ -10092,7 +11426,6 @@ packages: integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, } engines: { node: ">=8" } - dev: false /style-to-object@0.4.1: resolution: @@ -10139,6 +11472,15 @@ packages: pirates: 4.0.6 ts-interface-checker: 0.1.13 + /supports-color@5.5.0: + resolution: + { + integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, + } + engines: { node: ">=4" } + dependencies: + has-flag: 3.0.0 + /supports-color@7.2.0: resolution: { @@ -10147,7 +11489,6 @@ packages: engines: { node: ">=8" } dependencies: has-flag: 4.0.0 - dev: false /supports-preserve-symlinks-flag@1.0.0: resolution: @@ -10178,6 +11519,16 @@ packages: periscopic: 3.1.0 dev: false + /swap-case@1.1.2: + resolution: + { + integrity: sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ==, + } + dependencies: + lower-case: 1.1.4 + upper-case: 1.1.3 + dev: true + /swr-store@0.10.6: resolution: { @@ -10236,6 +11587,19 @@ packages: } dev: false + /table@6.8.1: + resolution: + { + integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==, + } + engines: { node: ">=10.0.0" } + dependencies: + ajv: 8.12.0 + lodash.truncate: 4.4.2 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + /tailwind-merge@1.14.0: resolution: { @@ -10315,7 +11679,6 @@ packages: { integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, } - dev: false /thenify-all@1.6.0: resolution: @@ -10339,7 +11702,17 @@ packages: { integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, } - dev: false + dev: true + + /title-case@2.1.1: + resolution: + { + integrity: sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==, + } + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + dev: true /titleize@3.0.0: resolution: @@ -10349,6 +11722,16 @@ packages: engines: { node: ">=12" } dev: false + /tmp@0.0.33: + resolution: + { + integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==, + } + engines: { node: ">=0.6.0" } + dependencies: + os-tmpdir: 1.0.2 + dev: true + /to-fast-properties@2.0.0: resolution: { @@ -10373,6 +11756,16 @@ packages: } dev: false + /touch@3.1.0: + resolution: + { + integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==, + } + hasBin: true + dependencies: + nopt: 1.0.10 + dev: true + /tr46@0.0.3: resolution: { @@ -10400,6 +11793,40 @@ packages: integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==, } + /ts-node@10.9.1(@types/node@17.0.12)(typescript@5.1.6): + resolution: + { + integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==, + } + hasBin: true + peerDependencies: + "@swc/core": ">=1.2.50" + "@swc/wasm": ">=1.2.50" + "@types/node": "*" + typescript: ">=2.7" + peerDependenciesMeta: + "@swc/core": + optional: true + "@swc/wasm": + optional: true + dependencies: + "@cspotcode/source-map-support": 0.8.1 + "@tsconfig/node10": 1.0.9 + "@tsconfig/node12": 1.0.11 + "@tsconfig/node14": 1.0.3 + "@tsconfig/node16": 1.0.4 + "@types/node": 17.0.12 + acorn: 8.9.0 + acorn-walk: 8.2.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.1.6 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: true + /ts-pattern@4.3.0: resolution: { @@ -10424,14 +11851,12 @@ packages: { integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==, } - dev: false /tslib@2.6.0: resolution: { integrity: sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==, } - dev: false /tsutils@3.21.0(typescript@5.1.6): resolution: @@ -10543,7 +11968,6 @@ packages: engines: { node: ">= 0.8.0" } dependencies: prelude-ls: 1.2.1 - dev: false /type-fest@0.20.2: resolution: @@ -10551,7 +11975,6 @@ packages: integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, } engines: { node: ">=10" } - dev: false /type-fest@0.21.3: resolution: @@ -10559,7 +11982,7 @@ packages: integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==, } engines: { node: ">=10" } - dev: false + dev: true /type-fest@3.13.1: resolution: @@ -10587,7 +12010,17 @@ packages: } engines: { node: ">=14.17" } hasBin: true - dev: false + + /uglify-js@3.17.4: + resolution: + { + integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==, + } + engines: { node: ">=0.8.0" } + hasBin: true + requiresBuild: true + dev: true + optional: true /unbox-primitive@1.0.2: resolution: @@ -10601,6 +12034,13 @@ packages: which-boxed-primitive: 1.0.2 dev: false + /undefsafe@2.0.5: + resolution: + { + integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==, + } + dev: true + /unified@10.1.2: resolution: { @@ -10710,6 +12150,14 @@ packages: unist-util-visit-parents: 5.1.3 dev: false + /universalify@2.0.0: + resolution: + { + integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==, + } + engines: { node: ">= 10.0.0" } + dev: true + /untildify@4.0.0: resolution: { @@ -10732,6 +12180,25 @@ packages: picocolors: 1.0.0 dev: true + /update-check@1.5.4: + resolution: + { + integrity: sha512-5YHsflzHP4t1G+8WGPlvKbJEbAJGCgw+Em+dGR1KmBUbr1J36SJBqlHLjR7oob7sco5hWHGQVcr9B2poIVDDTQ==, + } + dependencies: + registry-auth-token: 3.3.2 + registry-url: 3.1.0 + dev: true + + /upper-case-first@1.1.2: + resolution: + { + integrity: sha512-wINKYvI3Db8dtjikdAqoBbZoP6Q+PZUyfMR7pmwHzjC2quzSkUq5DmPrTtPEqHaz8AGtmsB4TqwapMTM1QAQOQ==, + } + dependencies: + upper-case: 1.1.3 + dev: true + /upper-case-first@2.0.2: resolution: { @@ -10741,6 +12208,13 @@ packages: tslib: 2.6.0 dev: false + /upper-case@1.1.3: + resolution: + { + integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==, + } + dev: true + /uri-js@4.4.1: resolution: { @@ -10748,7 +12222,6 @@ packages: } dependencies: punycode: 2.3.0 - dev: false /url-template@2.0.8: resolution: @@ -10841,6 +12314,29 @@ packages: sade: 1.8.1 dev: false + /v8-compile-cache-lib@3.0.1: + resolution: + { + integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==, + } + dev: true + + /v8-compile-cache@2.3.0: + resolution: + { + integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==, + } + + /validate-npm-package-name@5.0.0: + resolution: + { + integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dependencies: + builtins: 5.0.1 + dev: true + /vfile-location@4.1.0: resolution: { @@ -10919,6 +12415,15 @@ packages: graceful-fs: 4.2.11 dev: false + /wcwidth@1.0.1: + resolution: + { + integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==, + } + dependencies: + defaults: 1.0.4 + dev: true + /web-namespaces@2.0.1: resolution: { @@ -10995,7 +12500,6 @@ packages: hasBin: true dependencies: isexe: 2.0.0 - dev: false /wide-align@1.1.5: resolution: @@ -11006,6 +12510,13 @@ packages: string-width: 4.2.3 dev: false + /wordwrap@1.0.0: + resolution: + { + integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==, + } + dev: true + /wrap-ansi@6.2.0: resolution: { @@ -11016,7 +12527,7 @@ packages: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: false + dev: true /wrap-ansi@7.0.0: resolution: @@ -11028,7 +12539,6 @@ packages: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: false /wrap-ansi@8.1.0: resolution: @@ -11061,7 +12571,6 @@ packages: { integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, } - dev: false /yaml@2.3.1: resolution: @@ -11094,6 +12603,14 @@ packages: yargs-parser: 21.1.1 dev: false + /yn@3.1.1: + resolution: + { + integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==, + } + engines: { node: ">=6" } + dev: true + /yocto-queue@0.1.0: resolution: { diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000000..4998798407 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +packages: + - "packages/*" + - "apps/*" \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index a7c99ac745..0000000000 --- a/tsconfig.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "compilerOptions": { - "baseUrl": ".", - "target": "es5", - "lib": ["dom", "dom.iterable", "esnext"], - "allowJs": true, - "skipLibCheck": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noEmit": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "jsx": "preserve", - "incremental": true, - "plugins": [ - { - "name": "next" - } - ], - "paths": { - "@/*": ["./*"], - "contentlayer/generated": ["./.contentlayer/generated"] - } - }, - "include": [ - "next-env.d.ts", - "**/*.ts", - "**/*.tsx", - ".next/types/**/*.ts", - ".contentlayer/generated" - ], - "exclude": ["node_modules"] -} diff --git a/turbo.json b/turbo.json index 3b9dda3395..d44dedb04a 100644 --- a/turbo.json +++ b/turbo.json @@ -1,9 +1,14 @@ { "$schema": "https://turbo.build/schema.json", + "globalDependencies": ["**/.env.*local"], "pipeline": { "build": { "outputs": [".next/**", "!.next/cache/**"] }, - "lint": {} + "lint": {}, + "dev": { + "cache": false, + "persistent": true + } } }