refactor: some renaming and corrections
This commit is contained in:
@@ -6,7 +6,7 @@
|
|||||||
- Custom url shortener for links in the newsletter
|
- Custom url shortener for links in the newsletter
|
||||||
- Cron every 10 minutes: people are more likely to open the newsletter if delivered around the time when they subscribed (if cron becomes not enough, then the cost of sending all the emails might be a bigger issue)
|
- Cron every 10 minutes: people are more likely to open the newsletter if delivered around the time when they subscribed (if cron becomes not enough, then the cost of sending all the emails might be a bigger issue)
|
||||||
|
|
||||||
## Vercel basics
|
## Commands
|
||||||
|
|
||||||
Install vercel cli
|
Install vercel cli
|
||||||
|
|
||||||
@@ -43,3 +43,9 @@ Reset Prisma database
|
|||||||
```bash
|
```bash
|
||||||
yarn db:reset
|
yarn db:reset
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Run on Docker
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker-compose up --build
|
||||||
|
```
|
||||||
|
|||||||
@@ -19,10 +19,17 @@ export async function GET(request: Request) {
|
|||||||
where: {
|
where: {
|
||||||
confirmed: true,
|
confirmed: true,
|
||||||
deleted: false,
|
deleted: false,
|
||||||
|
OR: [
|
||||||
|
{
|
||||||
lastMail: {
|
lastMail: {
|
||||||
lt: new Date(Date.now() - 1000 * 60 * 60 * 24 + 1000 * 10 * 60) // 24h - 10m
|
lt: new Date(Date.now() - 1000 * 60 * 60 * 24 + 1000 * 10 * 60) // 24h - 10m
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
lastMail: null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
select: {
|
select: {
|
||||||
id: true,
|
id: true,
|
||||||
email: true
|
email: true
|
||||||
@@ -38,7 +45,7 @@ export async function GET(request: Request) {
|
|||||||
const news = await prisma.news.findMany({
|
const news = await prisma.news.findMany({
|
||||||
where: {
|
where: {
|
||||||
createdAt: {
|
createdAt: {
|
||||||
gt: new Date(Date.now() - 1000 * 60 * 60)
|
gt: new Date(Date.now() - 1000 * 60 * 60 * 24)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -6,10 +6,15 @@ export async function GET() {
|
|||||||
orderBy: {
|
orderBy: {
|
||||||
createdAt: 'desc'
|
createdAt: 'desc'
|
||||||
},
|
},
|
||||||
take: 100
|
take: 50,
|
||||||
|
select: {
|
||||||
|
id: true,
|
||||||
|
title: true,
|
||||||
|
by: true
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (news && news.length === 100) {
|
if (news) {
|
||||||
return ApiResponse(200, JSON.stringify(news));
|
return ApiResponse(200, JSON.stringify(news));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
import { useRouter, useSearchParams } from 'next/navigation';
|
import { useRouter, useSearchParams } from 'next/navigation';
|
||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
import { CustomCard } from '../../components/custom/card';
|
import { Card } from '../../components/custom/card';
|
||||||
import { ResponseSchema } from '../../utils/schemas';
|
import { ResponseSchema } from '../../utils/schemas';
|
||||||
|
|
||||||
export default function Confirmation() {
|
export default function Confirmation() {
|
||||||
@@ -55,7 +55,7 @@ export default function Confirmation() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<CustomCard
|
<Card
|
||||||
style='text-center'
|
style='text-center'
|
||||||
title={loading ? 'Verifying' : 'Confirmed!'}
|
title={loading ? 'Verifying' : 'Confirmed!'}
|
||||||
content={render()}
|
content={render()}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { zodResolver } from '@hookform/resolvers/zod';
|
|||||||
import { useEffect, useRef, useState } from 'react';
|
import { useEffect, useRef, useState } from 'react';
|
||||||
import { useForm } from 'react-hook-form';
|
import { useForm } from 'react-hook-form';
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
import { CustomCard } from '../components/custom/card';
|
import { Card } from '../components/custom/card';
|
||||||
import ErrorMessage from '../components/custom/error';
|
import ErrorMessage from '../components/custom/error';
|
||||||
import { Button } from '../components/ui/button';
|
import { Button } from '../components/ui/button';
|
||||||
import {
|
import {
|
||||||
@@ -108,7 +108,7 @@ export default function Home() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<CustomCard
|
<Card
|
||||||
style='text-center'
|
style='text-center'
|
||||||
title='Hackernews + newsletter'
|
title='Hackernews + newsletter'
|
||||||
description='Top stories from Hackernews. Once a day. Every day.'
|
description='Top stories from Hackernews. Once a day. Every day.'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
'use client';
|
'use client';
|
||||||
import { CustomCard } from '../../components/custom/card';
|
import { Card } from '../../components/custom/card';
|
||||||
|
|
||||||
export default function Privacy() {
|
export default function Privacy() {
|
||||||
const body = (
|
const body = (
|
||||||
@@ -25,7 +25,6 @@ export default function Privacy() {
|
|||||||
</p>
|
</p>
|
||||||
<br />
|
<br />
|
||||||
<h2 className='styledH2'>Interpretation and Definitions</h2>
|
<h2 className='styledH2'>Interpretation and Definitions</h2>
|
||||||
<br />
|
|
||||||
<h3 className='styledH3'>Interpretation</h3>
|
<h3 className='styledH3'>Interpretation</h3>
|
||||||
<p>
|
<p>
|
||||||
The words of which the initial letter is capitalized have meanings
|
The words of which the initial letter is capitalized have meanings
|
||||||
@@ -116,9 +115,7 @@ export default function Privacy() {
|
|||||||
</ul>
|
</ul>
|
||||||
<br />
|
<br />
|
||||||
<h2 className='styledH2'>Collecting and Using Your Personal Data</h2>
|
<h2 className='styledH2'>Collecting and Using Your Personal Data</h2>
|
||||||
<br />
|
|
||||||
<h3 className='styledH3'>Types of Data Collected</h3>
|
<h3 className='styledH3'>Types of Data Collected</h3>
|
||||||
<br />
|
|
||||||
<h4 className='styledH4'>Personal Data</h4>
|
<h4 className='styledH4'>Personal Data</h4>
|
||||||
<p>
|
<p>
|
||||||
While using Our Service, We may ask You to provide Us with certain
|
While using Our Service, We may ask You to provide Us with certain
|
||||||
@@ -432,7 +429,7 @@ export default function Privacy() {
|
|||||||
);
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<CustomCard
|
<Card
|
||||||
title='Privacy Policy'
|
title='Privacy Policy'
|
||||||
description='Last updated: December 03, 2023'
|
description='Last updated: December 03, 2023'
|
||||||
content={body}
|
content={body}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { zodResolver } from '@hookform/resolvers/zod';
|
|||||||
import { useEffect, useRef, useState } from 'react';
|
import { useEffect, useRef, useState } from 'react';
|
||||||
import { useForm } from 'react-hook-form';
|
import { useForm } from 'react-hook-form';
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
import { CustomCard } from '../../components/custom/card';
|
import { Card } from '../../components/custom/card';
|
||||||
import ErrorMessage from '../../components/custom/error';
|
import ErrorMessage from '../../components/custom/error';
|
||||||
import { Button } from '../../components/ui/button';
|
import { Button } from '../../components/ui/button';
|
||||||
import {
|
import {
|
||||||
@@ -108,7 +108,7 @@ export default function Unsubscribe() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<CustomCard
|
<Card
|
||||||
style='text-center'
|
style='text-center'
|
||||||
title='Unsubscribe'
|
title='Unsubscribe'
|
||||||
description='You sure you want to leave? :('
|
description='You sure you want to leave? :('
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
import { NewsSchema } from '../../../../utils/schemas';
|
import { NewsTileSchema } from '../../../../utils/schemas';
|
||||||
import { TileContent } from './tileContent';
|
import { TileContent } from './tileContent';
|
||||||
|
|
||||||
type CardProps = {
|
type CardProps = {
|
||||||
newsA?: z.infer<typeof NewsSchema>;
|
newsA?: z.infer<typeof NewsTileSchema>;
|
||||||
newsB?: z.infer<typeof NewsSchema>;
|
newsB?: z.infer<typeof NewsTileSchema>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export function Tile({ newsA, newsB }: CardProps) {
|
export function Tile({ newsA, newsB }: CardProps) {
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
import { getRandomColor } from '../../../../utils/getRandomColor';
|
import { getRandomColor } from '../../../../utils/getRandomColor';
|
||||||
import { NewsSchema } from '../../../../utils/schemas';
|
import { NewsTileSchema } from '../../../../utils/schemas';
|
||||||
|
|
||||||
type CardContentProps = {
|
type CardContentProps = {
|
||||||
story: z.infer<typeof NewsSchema>;
|
story: z.infer<typeof NewsTileSchema>;
|
||||||
side: boolean;
|
side: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
import { usePathname } from 'next/navigation';
|
import { usePathname } from 'next/navigation';
|
||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
import { NewsSchema } from '../../../../utils/schemas';
|
import { NewsTile, NewsTileSchema } from '../../../../utils/schemas';
|
||||||
import { Tile } from './tile';
|
import { Tile } from './tile';
|
||||||
|
|
||||||
type TilesProps = {
|
type TilesProps = {
|
||||||
@@ -19,11 +19,11 @@ export const Tiles = ({ children }: TilesProps) => {
|
|||||||
width: 0,
|
width: 0,
|
||||||
height: 0
|
height: 0
|
||||||
});
|
});
|
||||||
const [news, setNews] = useState<z.infer<typeof NewsSchema>[]>();
|
const [news, setNews] = useState<z.infer<typeof NewsTileSchema>[]>();
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
async function getNews() {
|
async function getNews() {
|
||||||
const news = await fetch('/api/news').then(res => res.json());
|
const news: NewsTile[] = await fetch('/api/news').then(res => res.json());
|
||||||
|
|
||||||
if (news) {
|
if (news) {
|
||||||
setNews(news);
|
setNews(news);
|
||||||
@@ -83,7 +83,7 @@ export const Tiles = ({ children }: TilesProps) => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<div className='flex flex-col justify-between'>
|
<div className='-ml-12 -mt-10 flex flex-col justify-between'>
|
||||||
{Array.from({ length: rows }).map((_, index) =>
|
{Array.from({ length: rows }).map((_, index) =>
|
||||||
renderRow(columns, index)
|
renderRow(columns, index)
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
import { ReactNode, useEffect, useState } from 'react';
|
import { ReactNode, useEffect, useState } from 'react';
|
||||||
import { useMediaQuery } from 'react-responsive';
|
import { useMediaQuery } from 'react-responsive';
|
||||||
import {
|
import {
|
||||||
Card,
|
|
||||||
CardContent,
|
CardContent,
|
||||||
CardDescription,
|
CardDescription,
|
||||||
CardFooter,
|
CardFooter,
|
||||||
CardHeader,
|
CardHeader,
|
||||||
CardTitle
|
CardTitle,
|
||||||
|
Card as CardUI
|
||||||
} from '../../components/ui/card';
|
} from '../../components/ui/card';
|
||||||
import Footer from './footer';
|
import Footer from './footer';
|
||||||
|
|
||||||
type CustomCardProps = {
|
type CardProps = {
|
||||||
title: string;
|
title: string;
|
||||||
description?: string;
|
description?: string;
|
||||||
content: ReactNode;
|
content: ReactNode;
|
||||||
@@ -18,13 +18,13 @@ type CustomCardProps = {
|
|||||||
footer?: boolean;
|
footer?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const CustomCard = ({
|
export const Card = ({
|
||||||
title,
|
title,
|
||||||
description,
|
description,
|
||||||
content,
|
content,
|
||||||
style,
|
style,
|
||||||
footer = true
|
footer = true
|
||||||
}: CustomCardProps) => {
|
}: CardProps) => {
|
||||||
const [isLoaded, setIsLoaded] = useState(false);
|
const [isLoaded, setIsLoaded] = useState(false);
|
||||||
const isMobile = useMediaQuery({ query: '(max-width: 767px)' });
|
const isMobile = useMediaQuery({ query: '(max-width: 767px)' });
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ export const CustomCard = ({
|
|||||||
if (isMobile) {
|
if (isMobile) {
|
||||||
console.log(isMobile);
|
console.log(isMobile);
|
||||||
return (
|
return (
|
||||||
<Card className={`max-h-[90vh] w-[90%] p-4`}>
|
<CardUI className={`max-h-[90vh] w-[90%] p-4`}>
|
||||||
<CardHeader className='text-center'>
|
<CardHeader className='text-center'>
|
||||||
<CardTitle>{title}</CardTitle>
|
<CardTitle>{title}</CardTitle>
|
||||||
<CardDescription>{description}</CardDescription>
|
<CardDescription>{description}</CardDescription>
|
||||||
@@ -52,12 +52,16 @@ export const CustomCard = ({
|
|||||||
<Footer />
|
<Footer />
|
||||||
</CardFooter>
|
</CardFooter>
|
||||||
)}
|
)}
|
||||||
</Card>
|
</CardUI>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Card className={`${style ?? 'sm:w-2/3 md:w-2/5 lg:w-1/3 xl:w-1/4'} p-4`}>
|
<CardUI
|
||||||
|
className={`${
|
||||||
|
style ?? 'sm:w-2/3 md:w-2/5 lg:w-1/3 xl:w-1/4'
|
||||||
|
} p-4 shadow-2xl`}
|
||||||
|
>
|
||||||
<CardHeader className='text-center'>
|
<CardHeader className='text-center'>
|
||||||
<CardTitle>{title}</CardTitle>
|
<CardTitle>{title}</CardTitle>
|
||||||
<CardDescription>{description}</CardDescription>
|
<CardDescription>{description}</CardDescription>
|
||||||
@@ -70,6 +74,6 @@ export const CustomCard = ({
|
|||||||
<Footer />
|
<Footer />
|
||||||
</CardFooter>
|
</CardFooter>
|
||||||
)}
|
)}
|
||||||
</Card>
|
</CardUI>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
import NextLink from 'next/link';
|
|
||||||
import { Button } from '../ui/button';
|
import { Button } from '../ui/button';
|
||||||
|
|
||||||
type LinkProps = {
|
type LinkProps = {
|
||||||
@@ -9,7 +8,7 @@ type LinkProps = {
|
|||||||
export function Link({ path, text }: LinkProps) {
|
export function Link({ path, text }: LinkProps) {
|
||||||
return (
|
return (
|
||||||
<Button asChild>
|
<Button asChild>
|
||||||
<NextLink href={path}>{text}</NextLink>
|
<a href={path}>{text}</a>
|
||||||
</Button>
|
</Button>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,10 +11,13 @@ export function Footer() {
|
|||||||
<div className='ml-8 flex items-center justify-between pb-4'>
|
<div className='ml-8 flex items-center justify-between pb-4'>
|
||||||
<div>
|
<div>
|
||||||
<h4 className='text-lg font-semibold'>Contact Us</h4>
|
<h4 className='text-lg font-semibold'>Contact Us</h4>
|
||||||
<p>{process.env.BRAND_NAME}</p>
|
<p>{process.env.NEXT_PUBLIC_BRAND_NAME}</p>
|
||||||
<a href={`mailto:${process.env.BRAND_EMAIL}`}>
|
<p>
|
||||||
Email: {process.env.BRAND_EMAIL}
|
Email:{' '}
|
||||||
|
<a href={`mailto:${process.env.NEXT_PUBLIC_BRAND_EMAIL}`}>
|
||||||
|
Email: {process.env.NEXT_PUBLIC_BRAND_EMAIL}
|
||||||
</a>
|
</a>
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|||||||
7401
package-lock.json
generated
7401
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -14,8 +14,8 @@ model User {
|
|||||||
code String @unique
|
code String @unique
|
||||||
confirmed Boolean @default(false)
|
confirmed Boolean @default(false)
|
||||||
deleted Boolean @default(false)
|
deleted Boolean @default(false)
|
||||||
createdAt DateTime @default(now()) @map(name: "created_at")
|
createdAt DateTime @default(now())
|
||||||
lastMail DateTime @default(now()) @updatedAt @map(name: "updated_at")
|
lastMail DateTime?
|
||||||
|
|
||||||
@@map(name: "users")
|
@@map(name: "users")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,11 +3,7 @@ import { fontFamily } from 'tailwindcss/defaultTheme';
|
|||||||
/** @type {import('tailwindcss').Config} */
|
/** @type {import('tailwindcss').Config} */
|
||||||
module.exports = {
|
module.exports = {
|
||||||
darkMode: ['class'],
|
darkMode: ['class'],
|
||||||
content: [
|
content: ['./components/**/*.{ts,tsx}', './app/**/*.{ts,tsx}'],
|
||||||
'./pages/**/*.{ts,tsx}',
|
|
||||||
'./components/**/*.{ts,tsx}',
|
|
||||||
'./app/**/*.{ts,tsx}'
|
|
||||||
],
|
|
||||||
theme: {
|
theme: {
|
||||||
container: {
|
container: {
|
||||||
center: true,
|
center: true,
|
||||||
|
|||||||
@@ -41,3 +41,11 @@ export const NewsSchema = z.object({
|
|||||||
score: z.number(),
|
score: z.number(),
|
||||||
createdAt: z.date()
|
createdAt: z.date()
|
||||||
});
|
});
|
||||||
|
|
||||||
|
export const NewsTileSchema = z.object({
|
||||||
|
id: z.number(),
|
||||||
|
title: z.string(),
|
||||||
|
by: z.string()
|
||||||
|
});
|
||||||
|
|
||||||
|
export type NewsTile = z.infer<typeof NewsTileSchema>;
|
||||||
|
|||||||
190
yarn.lock
190
yarn.lock
@@ -389,45 +389,45 @@
|
|||||||
integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
|
integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
|
||||||
|
|
||||||
"@prisma/client@^5.6.0":
|
"@prisma/client@^5.6.0":
|
||||||
version "5.7.0"
|
version "5.7.1"
|
||||||
resolved "https://registry.yarnpkg.com/@prisma/client/-/client-5.7.0.tgz#c29dd9a16e100902eb2d2443d90fee2482d2aeac"
|
resolved "https://registry.yarnpkg.com/@prisma/client/-/client-5.7.1.tgz#a124afd05663267f7255a639a81d28303684a063"
|
||||||
integrity sha512-cZmglCrfNbYpzUtz7HscVHl38e9CrUs31nrVoGUK1nIPXGgt8hT4jj2s657UXcNdQ/jBUxDgGmHyu2Nyrq1txg==
|
integrity sha512-TUSa4nUcC4nf/e7X3jyO1pEd6XcI/TLRCA0KjkA46RDIpxUaRsBYEOqITwXRW2c0bMFyKcCRXrH4f7h4q9oOlg==
|
||||||
|
|
||||||
"@prisma/debug@5.7.0":
|
"@prisma/debug@5.7.1":
|
||||||
version "5.7.0"
|
version "5.7.1"
|
||||||
resolved "https://registry.yarnpkg.com/@prisma/debug/-/debug-5.7.0.tgz#abdb2060be4fe819e73e2683cf1b039841566198"
|
resolved "https://registry.yarnpkg.com/@prisma/debug/-/debug-5.7.1.tgz#064177066e630beb43492ffa608acc21a118e2ce"
|
||||||
integrity sha512-tZ+MOjWlVvz1kOEhNYMa4QUGURY+kgOUBqLHYIV8jmCsMuvA1tWcn7qtIMLzYWCbDcQT4ZS8xDgK0R2gl6/0wA==
|
integrity sha512-yrVSO/YZOxdeIxcBtZ5BaNqUfPrZkNsAKQIQg36cJKMxj/VYK3Vk5jMKkI+gQLl0KReo1YvX8GWKfV788SELjw==
|
||||||
|
|
||||||
"@prisma/engines-version@5.7.0-41.79fb5193cf0a8fdbef536e4b4a159cad677ab1b9":
|
"@prisma/engines-version@5.7.1-1.0ca5ccbcfa6bdc81c003cf549abe4269f59c41e5":
|
||||||
version "5.7.0-41.79fb5193cf0a8fdbef536e4b4a159cad677ab1b9"
|
version "5.7.1-1.0ca5ccbcfa6bdc81c003cf549abe4269f59c41e5"
|
||||||
resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-5.7.0-41.79fb5193cf0a8fdbef536e4b4a159cad677ab1b9.tgz#777827898f1bfe6a76b17fbe7d9600cf543c4cc1"
|
resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-5.7.1-1.0ca5ccbcfa6bdc81c003cf549abe4269f59c41e5.tgz#b7845425313e5395a3a3e64f3e0d04c1f320fa92"
|
||||||
integrity sha512-V6tgRVi62jRwTm0Hglky3Scwjr/AKFBFtS+MdbsBr7UOuiu1TKLPc6xfPiyEN1+bYqjEtjxwGsHgahcJsd1rNg==
|
integrity sha512-dIR5IQK/ZxEoWRBDOHF87r1Jy+m2ih3Joi4vzJRP+FOj5yxCwS2pS5SBR3TWoVnEK1zxtLI/3N7BjHyGF84fgw==
|
||||||
|
|
||||||
"@prisma/engines@5.7.0":
|
"@prisma/engines@5.7.1":
|
||||||
version "5.7.0"
|
version "5.7.1"
|
||||||
resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-5.7.0.tgz#a32e232819b66bd9dee7500b455781742dc54b2f"
|
resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-5.7.1.tgz#631c27daa326bbacd5d7119446e0d3f15c0f274c"
|
||||||
integrity sha512-TkOMgMm60n5YgEKPn9erIvFX2/QuWnl3GBo6yTRyZKk5O5KQertXiNnrYgSLy0SpsKmhovEPQb+D4l0SzyE7XA==
|
integrity sha512-R+Pqbra8tpLP2cvyiUpx+SIKglav3nTCpA+rn6826CThviQ8yvbNG0s8jNpo51vS9FuZO3pOkARqG062vKX7uA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@prisma/debug" "5.7.0"
|
"@prisma/debug" "5.7.1"
|
||||||
"@prisma/engines-version" "5.7.0-41.79fb5193cf0a8fdbef536e4b4a159cad677ab1b9"
|
"@prisma/engines-version" "5.7.1-1.0ca5ccbcfa6bdc81c003cf549abe4269f59c41e5"
|
||||||
"@prisma/fetch-engine" "5.7.0"
|
"@prisma/fetch-engine" "5.7.1"
|
||||||
"@prisma/get-platform" "5.7.0"
|
"@prisma/get-platform" "5.7.1"
|
||||||
|
|
||||||
"@prisma/fetch-engine@5.7.0":
|
"@prisma/fetch-engine@5.7.1":
|
||||||
version "5.7.0"
|
version "5.7.1"
|
||||||
resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-5.7.0.tgz#7d2795828b692b02707e7ab6876f6227a68fc309"
|
resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-5.7.1.tgz#d7baa3493867c6f7cedfc41df477cfd0963059ca"
|
||||||
integrity sha512-zIn/qmO+N/3FYe7/L9o+yZseIU8ivh4NdPKSkQRIHfg2QVTVMnbhGoTcecbxfVubeTp+DjcbjS0H9fCuM4W04w==
|
integrity sha512-9ELauIEBkIaEUpMIYPRlh5QELfoC6pyHolHVQgbNxglaINikZ9w9X7r1TIePAcm05pCNp2XPY1ObQIJW5nYfBQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@prisma/debug" "5.7.0"
|
"@prisma/debug" "5.7.1"
|
||||||
"@prisma/engines-version" "5.7.0-41.79fb5193cf0a8fdbef536e4b4a159cad677ab1b9"
|
"@prisma/engines-version" "5.7.1-1.0ca5ccbcfa6bdc81c003cf549abe4269f59c41e5"
|
||||||
"@prisma/get-platform" "5.7.0"
|
"@prisma/get-platform" "5.7.1"
|
||||||
|
|
||||||
"@prisma/get-platform@5.7.0":
|
"@prisma/get-platform@5.7.1":
|
||||||
version "5.7.0"
|
version "5.7.1"
|
||||||
resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-5.7.0.tgz#eb81011f537c2d10c0225278cd5165a82d0b57c8"
|
resolved "https://registry.yarnpkg.com/@prisma/get-platform/-/get-platform-5.7.1.tgz#bc2fe43838c7d47b321aa4728a0f60990d02bc9e"
|
||||||
integrity sha512-ZeV/Op4bZsWXuw5Tg05WwRI8BlKiRFhsixPcAM+5BKYSiUZiMKIi713tfT3drBq8+T0E1arNZgYSA9QYcglWNA==
|
integrity sha512-eDlswr3a1m5z9D/55Iyt/nZqS5UpD+DZ9MooBB3hvrcPhDQrcf9m4Tl7buy4mvAtrubQ626ECtb8c6L/f7rGSQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@prisma/debug" "5.7.0"
|
"@prisma/debug" "5.7.1"
|
||||||
|
|
||||||
"@radix-ui/react-compose-refs@1.0.1":
|
"@radix-ui/react-compose-refs@1.0.1":
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
@@ -533,9 +533,9 @@
|
|||||||
undici-types "~5.26.4"
|
undici-types "~5.26.4"
|
||||||
|
|
||||||
"@types/node@^20":
|
"@types/node@^20":
|
||||||
version "20.10.4"
|
version "20.10.5"
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.4.tgz#b246fd84d55d5b1b71bf51f964bd514409347198"
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.5.tgz#47ad460b514096b7ed63a1dae26fad0914ed3ab2"
|
||||||
integrity sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==
|
integrity sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==
|
||||||
dependencies:
|
dependencies:
|
||||||
undici-types "~5.26.4"
|
undici-types "~5.26.4"
|
||||||
|
|
||||||
@@ -576,15 +576,15 @@
|
|||||||
integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==
|
integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==
|
||||||
|
|
||||||
"@typescript-eslint/eslint-plugin@^6.12.0":
|
"@typescript-eslint/eslint-plugin@^6.12.0":
|
||||||
version "6.14.0"
|
version "6.15.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.14.0.tgz#fc1ab5f23618ba590c87e8226ff07a760be3dd7b"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.15.0.tgz#b0b3e15fa8c3e67ed4386b765cc0ba98ad3a303b"
|
||||||
integrity sha512-1ZJBykBCXaSHG94vMMKmiHoL0MhNHKSVlcHVYZNw+BKxufhqQVTOawNpwwI1P5nIFZ/4jLVop0mcY6mJJDFNaw==
|
integrity sha512-j5qoikQqPccq9QoBAupOP+CBu8BaJ8BLjaXSioDISeTZkVO3ig7oSIKh3H+rEpee7xCXtWwSB4KIL5l6hWZzpg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@eslint-community/regexpp" "^4.5.1"
|
"@eslint-community/regexpp" "^4.5.1"
|
||||||
"@typescript-eslint/scope-manager" "6.14.0"
|
"@typescript-eslint/scope-manager" "6.15.0"
|
||||||
"@typescript-eslint/type-utils" "6.14.0"
|
"@typescript-eslint/type-utils" "6.15.0"
|
||||||
"@typescript-eslint/utils" "6.14.0"
|
"@typescript-eslint/utils" "6.15.0"
|
||||||
"@typescript-eslint/visitor-keys" "6.14.0"
|
"@typescript-eslint/visitor-keys" "6.15.0"
|
||||||
debug "^4.3.4"
|
debug "^4.3.4"
|
||||||
graphemer "^1.4.0"
|
graphemer "^1.4.0"
|
||||||
ignore "^5.2.4"
|
ignore "^5.2.4"
|
||||||
@@ -593,71 +593,71 @@
|
|||||||
ts-api-utils "^1.0.1"
|
ts-api-utils "^1.0.1"
|
||||||
|
|
||||||
"@typescript-eslint/parser@^5.4.2 || ^6.0.0", "@typescript-eslint/parser@^6.12.0":
|
"@typescript-eslint/parser@^5.4.2 || ^6.0.0", "@typescript-eslint/parser@^6.12.0":
|
||||||
version "6.14.0"
|
version "6.15.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.14.0.tgz#a2d6a732e0d2b95c73f6a26ae7362877cc1b4212"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.15.0.tgz#1af69741cfa314a13c1434d0bdd5a0c3096699d7"
|
||||||
integrity sha512-QjToC14CKacd4Pa7JK4GeB/vHmWFJckec49FR4hmIRf97+KXole0T97xxu9IFiPxVQ1DBWrQ5wreLwAGwWAVQA==
|
integrity sha512-MkgKNnsjC6QwcMdlNAel24jjkEO/0hQaMDLqP4S9zq5HBAUJNQB6y+3DwLjX7b3l2b37eNAxMPLwb3/kh8VKdA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/scope-manager" "6.14.0"
|
"@typescript-eslint/scope-manager" "6.15.0"
|
||||||
"@typescript-eslint/types" "6.14.0"
|
"@typescript-eslint/types" "6.15.0"
|
||||||
"@typescript-eslint/typescript-estree" "6.14.0"
|
"@typescript-eslint/typescript-estree" "6.15.0"
|
||||||
"@typescript-eslint/visitor-keys" "6.14.0"
|
"@typescript-eslint/visitor-keys" "6.15.0"
|
||||||
debug "^4.3.4"
|
debug "^4.3.4"
|
||||||
|
|
||||||
"@typescript-eslint/scope-manager@6.14.0":
|
"@typescript-eslint/scope-manager@6.15.0":
|
||||||
version "6.14.0"
|
version "6.15.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.14.0.tgz#53d24363fdb5ee0d1d8cda4ed5e5321272ab3d48"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.15.0.tgz#40e5214a3e9e048aca55ce33381bc61b6b51c32a"
|
||||||
integrity sha512-VT7CFWHbZipPncAZtuALr9y3EuzY1b1t1AEkIq2bTXUPKw+pHoXflGNG5L+Gv6nKul1cz1VH8fz16IThIU0tdg==
|
integrity sha512-+BdvxYBltqrmgCNu4Li+fGDIkW9n//NrruzG9X1vBzaNK+ExVXPoGB71kneaVw/Jp+4rH/vaMAGC6JfMbHstVg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/types" "6.14.0"
|
"@typescript-eslint/types" "6.15.0"
|
||||||
"@typescript-eslint/visitor-keys" "6.14.0"
|
"@typescript-eslint/visitor-keys" "6.15.0"
|
||||||
|
|
||||||
"@typescript-eslint/type-utils@6.14.0":
|
"@typescript-eslint/type-utils@6.15.0":
|
||||||
version "6.14.0"
|
version "6.15.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.14.0.tgz#ac9cb5ba0615c837f1a6b172feeb273d36e4f8af"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.15.0.tgz#c22261bd00566821a300d08f4632533a8f9bed01"
|
||||||
integrity sha512-x6OC9Q7HfYKqjnuNu5a7kffIYs3No30isapRBJl1iCHLitD8O0lFbRcVGiOcuyN837fqXzPZ1NS10maQzZMKqw==
|
integrity sha512-CnmHKTfX6450Bo49hPg2OkIm/D/TVYV7jO1MCfPYGwf6x3GO0VU8YMO5AYMn+u3X05lRRxA4fWCz87GFQV6yVQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/typescript-estree" "6.14.0"
|
"@typescript-eslint/typescript-estree" "6.15.0"
|
||||||
"@typescript-eslint/utils" "6.14.0"
|
"@typescript-eslint/utils" "6.15.0"
|
||||||
debug "^4.3.4"
|
debug "^4.3.4"
|
||||||
ts-api-utils "^1.0.1"
|
ts-api-utils "^1.0.1"
|
||||||
|
|
||||||
"@typescript-eslint/types@6.14.0":
|
"@typescript-eslint/types@6.15.0":
|
||||||
version "6.14.0"
|
version "6.15.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.14.0.tgz#935307f7a931016b7a5eb25d494ea3e1f613e929"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.15.0.tgz#a9f7b006aee52b0948be6e03f521814bf435ddd5"
|
||||||
integrity sha512-uty9H2K4Xs8E47z3SnXEPRNDfsis8JO27amp2GNCnzGETEW3yTqEIVg5+AI7U276oGF/tw6ZA+UesxeQ104ceA==
|
integrity sha512-yXjbt//E4T/ee8Ia1b5mGlbNj9fB9lJP4jqLbZualwpP2BCQ5is6BcWwxpIsY4XKAhmdv3hrW92GdtJbatC6dQ==
|
||||||
|
|
||||||
"@typescript-eslint/typescript-estree@6.14.0":
|
"@typescript-eslint/typescript-estree@6.15.0":
|
||||||
version "6.14.0"
|
version "6.15.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.14.0.tgz#90c7ddd45cd22139adf3d4577580d04c9189ac13"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.15.0.tgz#2f8a513df1ce5e6e1ba8e5c6aa52f392ae023fc5"
|
||||||
integrity sha512-yPkaLwK0yH2mZKFE/bXkPAkkFgOv15GJAUzgUVonAbv0Hr4PK/N2yaA/4XQbTZQdygiDkpt5DkxPELqHguNvyw==
|
integrity sha512-7mVZJN7Hd15OmGuWrp2T9UvqR2Ecg+1j/Bp1jXUEY2GZKV6FXlOIoqVDmLpBiEiq3katvj/2n2mR0SDwtloCew==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/types" "6.14.0"
|
"@typescript-eslint/types" "6.15.0"
|
||||||
"@typescript-eslint/visitor-keys" "6.14.0"
|
"@typescript-eslint/visitor-keys" "6.15.0"
|
||||||
debug "^4.3.4"
|
debug "^4.3.4"
|
||||||
globby "^11.1.0"
|
globby "^11.1.0"
|
||||||
is-glob "^4.0.3"
|
is-glob "^4.0.3"
|
||||||
semver "^7.5.4"
|
semver "^7.5.4"
|
||||||
ts-api-utils "^1.0.1"
|
ts-api-utils "^1.0.1"
|
||||||
|
|
||||||
"@typescript-eslint/utils@6.14.0":
|
"@typescript-eslint/utils@6.15.0":
|
||||||
version "6.14.0"
|
version "6.15.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.14.0.tgz#856a9e274367d99ffbd39c48128b93a86c4261e3"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.15.0.tgz#f80dbb79f3b0f569077a8711dd44186a8933fa4c"
|
||||||
integrity sha512-XwRTnbvRr7Ey9a1NT6jqdKX8y/atWG+8fAIu3z73HSP8h06i3r/ClMhmaF/RGWGW1tHJEwij1uEg2GbEmPYvYg==
|
integrity sha512-eF82p0Wrrlt8fQSRL0bGXzK5nWPRV2dYQZdajcfzOD9+cQz9O7ugifrJxclB+xVOvWvagXfqS4Es7vpLP4augw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@eslint-community/eslint-utils" "^4.4.0"
|
"@eslint-community/eslint-utils" "^4.4.0"
|
||||||
"@types/json-schema" "^7.0.12"
|
"@types/json-schema" "^7.0.12"
|
||||||
"@types/semver" "^7.5.0"
|
"@types/semver" "^7.5.0"
|
||||||
"@typescript-eslint/scope-manager" "6.14.0"
|
"@typescript-eslint/scope-manager" "6.15.0"
|
||||||
"@typescript-eslint/types" "6.14.0"
|
"@typescript-eslint/types" "6.15.0"
|
||||||
"@typescript-eslint/typescript-estree" "6.14.0"
|
"@typescript-eslint/typescript-estree" "6.15.0"
|
||||||
semver "^7.5.4"
|
semver "^7.5.4"
|
||||||
|
|
||||||
"@typescript-eslint/visitor-keys@6.14.0":
|
"@typescript-eslint/visitor-keys@6.15.0":
|
||||||
version "6.14.0"
|
version "6.15.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.14.0.tgz#1d1d486581819287de824a56c22f32543561138e"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.15.0.tgz#5baf97a7bfeec6f4894d400437055155a46b2330"
|
||||||
integrity sha512-fB5cw6GRhJUz03MrROVuj5Zm/Q+XWlVdIsFj+Zb1Hvqouc8t+XP2H5y53QYU/MGtd2dPg6/vJJlhoX3xc2ehfw==
|
integrity sha512-1zvtdC1a9h5Tb5jU9x3ADNXO9yjP8rXlaoChu0DQX40vf5ACVpYIVIZhIMZ6d5sDXH7vq4dsZBT1fEGj8D2n2w==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/types" "6.14.0"
|
"@typescript-eslint/types" "6.15.0"
|
||||||
eslint-visitor-keys "^3.4.1"
|
eslint-visitor-keys "^3.4.1"
|
||||||
|
|
||||||
"@ungap/structured-clone@^1.2.0":
|
"@ungap/structured-clone@^1.2.0":
|
||||||
@@ -1369,9 +1369,9 @@ editorconfig@^1.0.3:
|
|||||||
semver "^7.5.3"
|
semver "^7.5.3"
|
||||||
|
|
||||||
electron-to-chromium@^1.4.601:
|
electron-to-chromium@^1.4.601:
|
||||||
version "1.4.614"
|
version "1.4.615"
|
||||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.614.tgz#2fe789d61fa09cb875569f37c309d0c2701f91c0"
|
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.615.tgz#b1c41839962d2e4e63dca05519da9040e34848c2"
|
||||||
integrity sha512-X4ze/9Sc3QWs6h92yerwqv7aB/uU8vCjZcrMjA8N9R1pjMFRe44dLsck5FzLilOYvcXuDn93B+bpGYyufc70gQ==
|
integrity sha512-/bKPPcgZVUziECqDc+0HkT87+0zhaWSZHNXqF8FLd2lQcptpmUFwoCSWjCdOng9Gdq+afKArPdEg/0ZW461Eng==
|
||||||
|
|
||||||
emoji-regex@^10.3.0:
|
emoji-regex@^10.3.0:
|
||||||
version "10.3.0"
|
version "10.3.0"
|
||||||
@@ -1793,9 +1793,9 @@ fast-levenshtein@^2.0.6:
|
|||||||
integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
|
integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
|
||||||
|
|
||||||
fastq@^1.6.0:
|
fastq@^1.6.0:
|
||||||
version "1.15.0"
|
version "1.16.0"
|
||||||
resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a"
|
resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.16.0.tgz#83b9a9375692db77a822df081edb6a9cf6839320"
|
||||||
integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==
|
integrity sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==
|
||||||
dependencies:
|
dependencies:
|
||||||
reusify "^1.0.4"
|
reusify "^1.0.4"
|
||||||
|
|
||||||
@@ -3304,11 +3304,11 @@ pretty@2.0.0:
|
|||||||
js-beautify "^1.6.12"
|
js-beautify "^1.6.12"
|
||||||
|
|
||||||
prisma@^5.6.0:
|
prisma@^5.6.0:
|
||||||
version "5.7.0"
|
version "5.7.1"
|
||||||
resolved "https://registry.yarnpkg.com/prisma/-/prisma-5.7.0.tgz#3c1c56d392b5d1137de954edefa4533fa092663e"
|
resolved "https://registry.yarnpkg.com/prisma/-/prisma-5.7.1.tgz#af60ed90531adc0ab8a683c9b1fc86d841c39864"
|
||||||
integrity sha512-0rcfXO2ErmGAtxnuTNHQT9ztL0zZheQjOI/VNJzdq87C3TlGPQtMqtM+KCwU6XtmkoEr7vbCQqA7HF9IY0ST+Q==
|
integrity sha512-ekho7ziH0WEJvC4AxuJz+ewRTMskrebPcrKuBwcNzVDniYxx+dXOGcorNeIb9VEMO5vrKzwNYvhD271Ui2jnNw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@prisma/engines" "5.7.0"
|
"@prisma/engines" "5.7.1"
|
||||||
|
|
||||||
prop-types@^15.6.1, prop-types@^15.8.1:
|
prop-types@^15.6.1, prop-types@^15.8.1:
|
||||||
version "15.8.1"
|
version "15.8.1"
|
||||||
@@ -3897,9 +3897,9 @@ tailwindcss-animate@^1.0.7:
|
|||||||
integrity sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==
|
integrity sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==
|
||||||
|
|
||||||
tailwindcss@^3.3.0:
|
tailwindcss@^3.3.0:
|
||||||
version "3.3.6"
|
version "3.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.3.6.tgz#4dd7986bf4902ad385d90d45fd4b2fa5fab26d5f"
|
resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.0.tgz#045a9c474e6885ebd0436354e611a76af1c76839"
|
||||||
integrity sha512-AKjF7qbbLvLaPieoKeTjG1+FyNZT6KaJMJPFeQyLfIp7l82ggH1fbHJSsYIvnbTFQOlkh+gBYpyby5GT1LIdLw==
|
integrity sha512-VigzymniH77knD1dryXbyxR+ePHihHociZbXnLZHUyzf2MMs2ZVqlUrZ3FvpXP8pno9JzmILt1sZPD19M3IxtA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@alloc/quick-lru" "^5.2.0"
|
"@alloc/quick-lru" "^5.2.0"
|
||||||
arg "^5.0.2"
|
arg "^5.0.2"
|
||||||
|
|||||||
Reference in New Issue
Block a user