mirror of
https://github.com/ahmadk953/tasko.git
synced 2025-01-31 00:53:37 +00:00
Merge pull request #943 from ahmadk953/bugfixes
Small bug fixes and improvements
This commit is contained in:
commit
b14aacd76b
13 changed files with 250 additions and 23 deletions
3
.github/workflows/tests.yml
vendored
3
.github/workflows/tests.yml
vendored
|
@ -25,6 +25,9 @@ jobs:
|
|||
- name: Install dependencies
|
||||
run: yarn install --immutable
|
||||
|
||||
- name: Build content collections
|
||||
run: yarn build-collections
|
||||
|
||||
- name: Run tests
|
||||
run: yarn coverage
|
||||
|
||||
|
|
48
__tests__/__snapshots__/blog-page.test.tsx.snap
Normal file
48
__tests__/__snapshots__/blog-page.test.tsx.snap
Normal file
|
@ -0,0 +1,48 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`Blog Page renders blog page unchanged 1`] = `
|
||||
<div>
|
||||
<div
|
||||
class="ml-4 mr-4 flex flex-col items-center space-y-10"
|
||||
>
|
||||
<h1
|
||||
class="text-4xl font-semibold text-neutral-800 dark:text-neutral-100"
|
||||
>
|
||||
Blog
|
||||
</h1>
|
||||
<div
|
||||
class="grid grid-cols-2 gap-20 md:grid-cols-3 lg:grid-cols-4"
|
||||
>
|
||||
<div
|
||||
class="space-y-4 text-center"
|
||||
>
|
||||
<a
|
||||
href="blog/posts/blog-welcome"
|
||||
>
|
||||
<img
|
||||
alt="post cover image"
|
||||
class="aspect-video w-full rounded-md object-cover"
|
||||
data-nimg="1"
|
||||
decoding="async"
|
||||
height="100"
|
||||
loading="lazy"
|
||||
src="/hero.svg"
|
||||
style="color: transparent;"
|
||||
width="300"
|
||||
/>
|
||||
<h2
|
||||
class="text-lg font-semibold text-neutral-800 dark:text-neutral-100"
|
||||
>
|
||||
Welcome to the Blog!
|
||||
</h2>
|
||||
<p
|
||||
class="text-sm text-neutral-700 dark:text-neutral-200"
|
||||
>
|
||||
Welcome to our new blog page!
|
||||
</p>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
26
__tests__/blog-page.test.tsx
Normal file
26
__tests__/blog-page.test.tsx
Normal file
|
@ -0,0 +1,26 @@
|
|||
import { render, screen } from '@testing-library/react';
|
||||
|
||||
import Page from '@/app/(main)/blog/page';
|
||||
|
||||
describe('Blog Page', () => {
|
||||
it('renders blog page unchanged', () => {
|
||||
const { container } = render(<Page />);
|
||||
expect(container).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it('renders a heading', () => {
|
||||
render(<Page />);
|
||||
|
||||
const heading = screen.getByRole('heading', { level: 1 });
|
||||
|
||||
expect(heading).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('renders blog posts', () => {
|
||||
render(<Page />);
|
||||
|
||||
const posts = screen.getAllByRole('heading', { level: 2 });
|
||||
|
||||
expect(posts.length).toBeGreaterThan(0);
|
||||
});
|
||||
});
|
|
@ -12,7 +12,7 @@ const PostPage = async (props: PostPageProps) => {
|
|||
|
||||
if (!post) {
|
||||
return (
|
||||
<h1 className='text-6xl font-semibold text-neutral-900'>
|
||||
<h1 className='mx-auto text-center text-6xl font-semibold text-neutral-800 dark:text-neutral-100'>
|
||||
Post not found
|
||||
</h1>
|
||||
);
|
||||
|
@ -27,10 +27,10 @@ const PostPage = async (props: PostPageProps) => {
|
|||
height={600}
|
||||
alt='post cover image'
|
||||
/>
|
||||
<h1 className='mb-12 text-center text-6xl font-bold text-neutral-900'>
|
||||
<h1 className='mb-12 text-center text-6xl font-bold text-neutral-800 dark:text-neutral-100'>
|
||||
{post.title}
|
||||
</h1>{' '}
|
||||
<div className='container prose prose-headings:mt-8 prose-headings:font-semibold prose-headings:text-black prose-h1:text-5xl prose-h2:text-4xl prose-h3:text-3xl prose-h4:text-2xl prose-h5:text-xl prose-h6:text-lg prose-p:text-xl dark:prose-headings:text-white'>
|
||||
<div className='container prose prose-headings:mt-8 prose-headings:font-semibold prose-headings:text-neutral-800 prose-h1:text-5xl prose-h2:text-4xl prose-h3:text-3xl prose-h4:text-2xl prose-h5:text-xl prose-h6:text-lg prose-p:text-xl prose-p:text-neutral-700 dark:prose-headings:text-neutral-100 dark:prose-p:text-neutral-200'>
|
||||
<MDXContent code={post.mdx} />
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -50,14 +50,14 @@ BoardLiveblocks.Skeleton = function SkeletonBoardLiveblocks() {
|
|||
<div className='h-full overflow-x-auto p-4'>
|
||||
<ol className='flex h-full gap-x-3'>
|
||||
<li className='h-full w-[272px] shrink-0 select-none'>
|
||||
<div className='w-full rounded-md bg-[#f1f2f4] pb-2 shadow-md'>
|
||||
<div className='w-full rounded-md bg-[#f1f2f4] pb-2 shadow-md dark:bg-[#1f1f1f]'>
|
||||
<div className='flex items-start justify-between gap-x-2 px-2 pt-2 text-sm font-semibold'>
|
||||
<Skeleton className='h-7 truncate border-transparent bg-transparent px-[7px] py-1 text-sm font-medium' />
|
||||
</div>
|
||||
<ol className='mx-1 mt-2 flex flex-col gap-y-2 px-1 py-0.5'>
|
||||
<Skeleton className='h-12 space-y-2 truncate rounded-md border-2 border-transparent bg-white px-3 py-2 text-sm shadow-sm' />
|
||||
<Skeleton className='h-24 space-y-2 truncate rounded-md border-2 border-transparent bg-white px-3 py-2 text-sm shadow-sm' />
|
||||
<Skeleton className='h-16 space-y-2 truncate rounded-md border-2 border-transparent bg-white px-3 py-2 text-sm shadow-sm' />
|
||||
<Skeleton className='h-12 space-y-2 truncate rounded-md border-2 border-transparent bg-white px-3 py-2 text-sm shadow-sm dark:bg-black' />
|
||||
<Skeleton className='h-24 space-y-2 truncate rounded-md border-2 border-transparent bg-white px-3 py-2 text-sm shadow-sm dark:bg-black' />
|
||||
<Skeleton className='h-16 space-y-2 truncate rounded-md border-2 border-transparent bg-white px-3 py-2 text-sm shadow-sm dark:bg-black' />
|
||||
</ol>
|
||||
</div>
|
||||
</li>
|
||||
|
|
|
@ -76,7 +76,7 @@ export const ListForm = () => {
|
|||
className='h-7 border-transparent px-2 py-1 text-sm font-medium transition hover:border-input focus:border-input'
|
||||
placeholder='Enter list title...'
|
||||
/>
|
||||
<input hidden value={params.boardId} name='boardId' />
|
||||
<input hidden defaultValue={params.boardId} name='boardId' />
|
||||
<div className='flex items-center gap-x-1'>
|
||||
<FormSubmit>Add list</FormSubmit>
|
||||
<Button onClick={disableEditing} size='sm' variant='ghost'>
|
||||
|
|
|
@ -88,7 +88,7 @@ export const ListHeader = ({ data, onAddCard }: ListHeaderProps) => {
|
|||
id='title'
|
||||
placeholder='Enter list title...'
|
||||
defaultValue={title}
|
||||
className='h-7 truncate border-transparent bg-transparent px-[7px] py-1 text-sm font-medium transition hover:border-input focus:border-input focus:bg-white'
|
||||
className='h-7 truncate border-transparent bg-transparent px-[7px] py-1 text-sm font-medium transition hover:border-input focus:border-input focus:bg-white dark:focus:bg-black'
|
||||
/>
|
||||
<button hidden type='submit' />
|
||||
</form>
|
||||
|
|
|
@ -68,12 +68,12 @@ export const ListOptions = ({ data, onAddCard }: ListOptionsProps) => {
|
|||
</Button>
|
||||
</PopoverTrigger>
|
||||
<PopoverContent className='px-0 pb-3 pt-3' side='bottom' align='start'>
|
||||
<div className='pb-4 text-center text-sm font-medium text-neutral-600'>
|
||||
<div className='pb-4 text-center text-sm font-medium text-neutral-600 dark:text-neutral-200'>
|
||||
List Actions
|
||||
</div>
|
||||
<PopoverClose ref={closeRef} asChild>
|
||||
<Button
|
||||
className='absolute right-2 top-2 h-auto w-auto p-2 text-neutral-600'
|
||||
className='absolute right-2 top-2 h-auto w-auto p-2 text-neutral-600 dark:text-neutral-200'
|
||||
variant='ghost'
|
||||
>
|
||||
<X className='h-4 w-4' />
|
||||
|
@ -87,8 +87,13 @@ export const ListOptions = ({ data, onAddCard }: ListOptionsProps) => {
|
|||
Add card...
|
||||
</Button>
|
||||
<form action={onCopy}>
|
||||
<input hidden name='id' id='id' value={data.id} />
|
||||
<input hidden name='boardId' id='boardId' value={data.boardId} />
|
||||
<input hidden name='id' id='id' defaultValue={data.id} />
|
||||
<input
|
||||
hidden
|
||||
name='boardId'
|
||||
id='boardId'
|
||||
defaultValue={data.boardId}
|
||||
/>
|
||||
<FormSubmit
|
||||
className='h-auto w-full justify-start rounded-none p-2 px-5 text-sm font-normal'
|
||||
variant='ghost'
|
||||
|
@ -98,10 +103,15 @@ export const ListOptions = ({ data, onAddCard }: ListOptionsProps) => {
|
|||
</form>
|
||||
<Separator />
|
||||
<form action={onDelete}>
|
||||
<input hidden name='id' id='id' value={data.id} />
|
||||
<input hidden name='boardId' id='boardId' value={data.boardId} />
|
||||
<input hidden name='id' id='id' defaultValue={data.id} />
|
||||
<input
|
||||
hidden
|
||||
name='boardId'
|
||||
id='boardId'
|
||||
defaultValue={data.boardId}
|
||||
/>
|
||||
<FormSubmit
|
||||
className='h-auto w-full justify-start rounded-none p-2 px-5 text-sm font-normal text-destructive hover:text-destructive'
|
||||
className='h-auto w-full justify-start rounded-none p-2 px-5 text-sm font-normal text-destructive hover:text-destructive dark:text-red-500 dark:hover:text-red-500'
|
||||
variant='ghost'
|
||||
>
|
||||
Delete this list
|
||||
|
|
|
@ -9,17 +9,17 @@ import { ModalProvider } from '@/components/providers/modal-provider';
|
|||
import { QueryProvider } from '@/components/providers/query-provider';
|
||||
|
||||
const PlatformLayout = ({ children }: { children: React.ReactNode }) => {
|
||||
const { theme } = useTheme();
|
||||
const { resolvedTheme } = useTheme();
|
||||
|
||||
return (
|
||||
<ClerkProvider
|
||||
afterSignOutUrl='/'
|
||||
appearance={{
|
||||
baseTheme: theme === 'dark' ? dark : undefined,
|
||||
baseTheme: resolvedTheme === 'dark' ? dark : undefined,
|
||||
}}
|
||||
>
|
||||
<QueryProvider>
|
||||
<Toaster theme='system' />
|
||||
<Toaster theme={resolvedTheme === 'dark' ? 'dark' : 'light'} />
|
||||
<ModalProvider />
|
||||
{children}
|
||||
</QueryProvider>
|
||||
|
|
|
@ -48,7 +48,7 @@ export const FormTextarea = forwardRef<HTMLTextAreaElement, FormTextareaProps>(
|
|||
{label ? (
|
||||
<Label
|
||||
htmlFor={id}
|
||||
className='text-xs font-semibold text-neutral-700'
|
||||
className='text-xs font-semibold text-neutral-700 dark:text-neutral-200'
|
||||
>
|
||||
{label}
|
||||
</Label>
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
"$schema": "https://mintlify.com/schema.json",
|
||||
"name": "Tasko",
|
||||
"logo": {
|
||||
"dark": "/public/logo-light.svg",
|
||||
"light": "/public/logo-dark.svg",
|
||||
"dark": "/public/logo-dark.svg",
|
||||
"light": "/public/logo-light.svg",
|
||||
"href": "https://tasko.ahmadk953.org/"
|
||||
},
|
||||
"favicon": "/public/favicon.svg",
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
"dev": "next dev --turbo",
|
||||
"debug": "NODE_OPTIONS='--inspect' next dev --turbo",
|
||||
"build": "next build",
|
||||
"build-collections": "content-collections build",
|
||||
"start": "next start",
|
||||
"lint": "next lint && tsc --noemit",
|
||||
"postinstall": "prisma generate --no-engine",
|
||||
|
@ -65,6 +66,7 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@codecov/nextjs-webpack-plugin": "^1.7.0",
|
||||
"@content-collections/cli": "^0.1.6",
|
||||
"@content-collections/core": "^0.8.0",
|
||||
"@content-collections/mdx": "^0.2.0",
|
||||
"@content-collections/next": "^0.2.4",
|
||||
|
|
140
yarn.lock
140
yarn.lock
|
@ -640,6 +640,66 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@clerc/core@npm:^0.44.0":
|
||||
version: 0.44.0
|
||||
resolution: "@clerc/core@npm:0.44.0"
|
||||
dependencies:
|
||||
"@clerc/utils": "npm:0.44.0"
|
||||
defu: "npm:^6.1.2"
|
||||
is-platform: "npm:^1.0.0"
|
||||
lite-emit: "npm:^2.3.0"
|
||||
type-fest: "npm:^4.3.1"
|
||||
type-flag: "npm:^3.0.0"
|
||||
checksum: 10c0/330374351519653bc5f0535b26a75cf874ef983e7c1d3a3a9957849cf13c9b167cf7fcb08fa7869ceb8e2297bd725a470a149447fdaafd09707538a44d52d4d3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@clerc/plugin-completions@npm:^0.44.0":
|
||||
version: 0.44.0
|
||||
resolution: "@clerc/plugin-completions@npm:0.44.0"
|
||||
dependencies:
|
||||
"@clerc/utils": "npm:0.44.0"
|
||||
peerDependencies:
|
||||
"@clerc/core": "*"
|
||||
checksum: 10c0/4dda7bcacdeded2abf208fb244f1156f6d64a6212ca4fe9d60174ddac7ca40f167158dd9fa5395eabcfb592d5ebba3c2935d94fe43b42cdb13ca48e02f5c23d7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@clerc/plugin-help@npm:^0.44.0":
|
||||
version: 0.44.0
|
||||
resolution: "@clerc/plugin-help@npm:0.44.0"
|
||||
dependencies:
|
||||
"@clerc/utils": "npm:0.44.0"
|
||||
"@types/text-table": "npm:^0.2.3"
|
||||
string-width: "npm:^6.1.0"
|
||||
text-table: "npm:^0.2.0"
|
||||
yoctocolors: "npm:^1.0.0"
|
||||
peerDependencies:
|
||||
"@clerc/core": "*"
|
||||
checksum: 10c0/8508f0fd5c398380f59410aaa06d5e8466ce0a091bc04505f5b9fa98430240a767c6c2d239d29086324ffef3dcf398a10507073de30429c592d54f169bd7fbaf
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@clerc/plugin-version@npm:^0.44.0":
|
||||
version: 0.44.0
|
||||
resolution: "@clerc/plugin-version@npm:0.44.0"
|
||||
dependencies:
|
||||
"@clerc/utils": "npm:0.44.0"
|
||||
peerDependencies:
|
||||
"@clerc/core": "*"
|
||||
checksum: 10c0/7a66e4417f7b008528b17333032c21302987b11b472e9169e1cd9a7082b6fb28cbe16451af3bffbc861d4059375279373a998772334ae6eacbd931952a0ef9bc
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@clerc/utils@npm:0.44.0":
|
||||
version: 0.44.0
|
||||
resolution: "@clerc/utils@npm:0.44.0"
|
||||
peerDependencies:
|
||||
"@clerc/core": "*"
|
||||
checksum: 10c0/160c970f7c0ae80708023c19170ad5ee3d1c45e62d9b1244811a507ac5d3ac74a81d36ec81555c0c9327826f5bbad351c3f7008591d7e349ef374862b2b962ee
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@clerk/backend@npm:^1.22.0":
|
||||
version: 1.22.0
|
||||
resolution: "@clerk/backend@npm:1.22.0"
|
||||
|
@ -798,6 +858,23 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@content-collections/cli@npm:^0.1.6":
|
||||
version: 0.1.6
|
||||
resolution: "@content-collections/cli@npm:0.1.6"
|
||||
dependencies:
|
||||
"@clerc/core": "npm:^0.44.0"
|
||||
"@clerc/plugin-completions": "npm:^0.44.0"
|
||||
"@clerc/plugin-help": "npm:^0.44.0"
|
||||
"@clerc/plugin-version": "npm:^0.44.0"
|
||||
"@content-collections/integrations": "npm:0.2.1"
|
||||
peerDependencies:
|
||||
"@content-collections/core": 0.x
|
||||
bin:
|
||||
content-collections: dist/index.js
|
||||
checksum: 10c0/e3b9598a53493e2efeeb6d159c31990734d96a8326e6d5a522718837132fcb584ce75b393ded4cd1f077d5e824f6c6ec89fe0e4d2c149e726ef72521c97520e7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@content-collections/core@npm:^0.8.0":
|
||||
version: 0.8.0
|
||||
resolution: "@content-collections/core@npm:0.8.0"
|
||||
|
@ -4571,6 +4648,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/text-table@npm:^0.2.3":
|
||||
version: 0.2.5
|
||||
resolution: "@types/text-table@npm:0.2.5"
|
||||
checksum: 10c0/967054ba7509bf6ba4dda8adf81d048a7773b35295edb8670c045b6e27bda556a1917c8a29d4ea6b7d7e5b494785500779a002508c4415ef2e8b2a5351ca2066
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/tough-cookie@npm:*":
|
||||
version: 4.0.5
|
||||
resolution: "@types/tough-cookie@npm:4.0.5"
|
||||
|
@ -6194,6 +6278,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"defu@npm:^6.1.2":
|
||||
version: 6.1.4
|
||||
resolution: "defu@npm:6.1.4"
|
||||
checksum: 10c0/2d6cc366262dc0cb8096e429368e44052fdf43ed48e53ad84cc7c9407f890301aa5fcb80d0995abaaf842b3949f154d060be4160f7a46cb2bc2f7726c81526f5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"delayed-stream@npm:~1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "delayed-stream@npm:1.0.0"
|
||||
|
@ -6384,6 +6475,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"emoji-regex@npm:^10.2.1":
|
||||
version: 10.4.0
|
||||
resolution: "emoji-regex@npm:10.4.0"
|
||||
checksum: 10c0/a3fcedfc58bfcce21a05a5f36a529d81e88d602100145fcca3dc6f795e3c8acc4fc18fe773fbf9b6d6e9371205edb3afa2668ec3473fa2aa7fd47d2a9d46482d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"emoji-regex@npm:^8.0.0":
|
||||
version: 8.0.0
|
||||
resolution: "emoji-regex@npm:8.0.0"
|
||||
|
@ -8359,6 +8457,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-platform@npm:^1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "is-platform@npm:1.0.0"
|
||||
checksum: 10c0/5002f262fc4e5f5ba32c009f891ec40a9c6d7364ebc33ba1224c058bcdc6eaa8fe13da447cb5983b1edb7dca88e97a7656da581482cf3923a7b7441acf485541
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"is-potential-custom-element-name@npm:^1.0.1":
|
||||
version: 1.0.1
|
||||
resolution: "is-potential-custom-element-name@npm:1.0.1"
|
||||
|
@ -9289,6 +9394,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"lite-emit@npm:^2.3.0":
|
||||
version: 2.3.0
|
||||
resolution: "lite-emit@npm:2.3.0"
|
||||
checksum: 10c0/97fda49d9b502c523505e522676262e5580c049fd3d1cba25b3ae4fb9b1b5ccd4361c15135d28917c70e6198823aa85365dd4c3154b6e5246b84d4b328c48a3d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"locate-path@npm:^5.0.0":
|
||||
version: 5.0.0
|
||||
resolution: "locate-path@npm:5.0.0"
|
||||
|
@ -12381,6 +12493,17 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"string-width@npm:^6.1.0":
|
||||
version: 6.1.0
|
||||
resolution: "string-width@npm:6.1.0"
|
||||
dependencies:
|
||||
eastasianwidth: "npm:^0.2.0"
|
||||
emoji-regex: "npm:^10.2.1"
|
||||
strip-ansi: "npm:^7.0.1"
|
||||
checksum: 10c0/7b2991ea7c946a43042070787b85af454079116dfd6d853aab4ff8a6d4ac717cdc18656cfee15b7a7a78286669202a4a56385728f0740cb1e15001c71807b361
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"string.prototype.includes@npm:^2.0.1":
|
||||
version: 2.0.1
|
||||
resolution: "string.prototype.includes@npm:2.0.1"
|
||||
|
@ -12708,6 +12831,7 @@ __metadata:
|
|||
"@clerk/nextjs": "npm:^6.9.10"
|
||||
"@clerk/themes": "npm:^2.2.5"
|
||||
"@codecov/nextjs-webpack-plugin": "npm:^1.7.0"
|
||||
"@content-collections/cli": "npm:^0.1.6"
|
||||
"@content-collections/core": "npm:^0.8.0"
|
||||
"@content-collections/mdx": "npm:^0.2.0"
|
||||
"@content-collections/next": "npm:^0.2.4"
|
||||
|
@ -13085,13 +13209,20 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"type-fest@npm:^4.15.0":
|
||||
"type-fest@npm:^4.15.0, type-fest@npm:^4.3.1":
|
||||
version: 4.32.0
|
||||
resolution: "type-fest@npm:4.32.0"
|
||||
checksum: 10c0/e2e877055487d109eba99afc58211db4a480837ff7b243c7de0b3e2ac29fdce55ab55e201c64cb1a8b2aeffce7e8f60ae3ce3a2f7e6fb68261d62743e54288ba
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"type-flag@npm:^3.0.0":
|
||||
version: 3.0.0
|
||||
resolution: "type-flag@npm:3.0.0"
|
||||
checksum: 10c0/b1015d4eb18cd85432fa3bcd0228149dd6893a9c1360a2ad619f79b72e19acfb648a932e2a9ccf2e2db0f0c4b86385bd886a3364e221afb116424e0ae6d1b1ba
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"typed-array-buffer@npm:^1.0.3":
|
||||
version: 1.0.3
|
||||
resolution: "typed-array-buffer@npm:1.0.3"
|
||||
|
@ -13983,6 +14114,13 @@ __metadata:
|
|||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"yoctocolors@npm:^1.0.0":
|
||||
version: 1.0.0
|
||||
resolution: "yoctocolors@npm:1.0.0"
|
||||
checksum: 10c0/669374d361ffc65d55ae563badae4f2c8d1973c660695b7cf3d8b415f776c38bf535d49e04b648e5fd692fad24f02c05ca2910c300bc29d280d6c77ffc1e687d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"zod-validation-error@npm:^3.0.3":
|
||||
version: 3.4.0
|
||||
resolution: "zod-validation-error@npm:3.4.0"
|
||||
|
|
Loading…
Reference in a new issue