diff --git a/package.json b/package.json index 5f5aba7a..8ad65435 100644 --- a/package.json +++ b/package.json @@ -100,16 +100,16 @@ "lint:web": "turbo run lint --filter=web", "lint:platform": "turbo run lint --filter=platform", "lint:cli": "turbo run lint --filter=cli", - "lint:api-client": "turbo run lint --filter=api-client", + "lint:api-client": "turbo run lint --filter=@keyshade/api-client", "lint:secret-scan": "turbo run lint --filter=secret-scan", - "lint:schema": "turbo run lint --filter=schema", + "lint:schema": "turbo run lint --filter=@keyshade/schema", "build": "turbo run build", "build:api": "pnpm db:generate-types && turbo run build --filter=api", "build:web": "turbo run build --filter=web", "build:platform": "turbo run build --filter=platform", "build:cli": "pnpm build:secret-scan && pnpm build:api-client && turbo run build --filter=cli", - "build:api-client": "pnpm build:schema && turbo run --filter=api-client build", - "build:schema": "turbo run build --filter=schema", + "build:api-client": "pnpm build:schema && turbo run --filter=@keyshade/api-client build", + "build:schema": "turbo run build --filter=@keyshade/schema", "build:secret-scan": "turbo run build --filter=secret-scan", "start": "turbo run start", "start:api": "turbo run start --filter=api", diff --git a/packages/api-client/src/controllers/workspace-role.ts b/packages/api-client/src/controllers/workspace-role.ts index b777162f..478c0fcd 100644 --- a/packages/api-client/src/controllers/workspace-role.ts +++ b/packages/api-client/src/controllers/workspace-role.ts @@ -15,7 +15,7 @@ import { GetWorkspaceRolesOfWorkspaceRequest, GetWorkspaceRolesOfWorkspaceResponse, CheckWorkspaceRoleExistsRequest -} from '@api-client/types/workspace-role.types' +} from '@keyshade/schema' export default class WorkspaceRoleController { private apiClient: APIClient diff --git a/packages/api-client/src/types/workspace-role.types.d.ts b/packages/api-client/src/types/workspace-role.types.d.ts deleted file mode 100644 index 4ffe65bc..00000000 --- a/packages/api-client/src/types/workspace-role.types.d.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { PageRequest, PageResponse } from '@keyshade/schema' - -export interface WorkspaceRole { - id: string - name: string - slug: string - description: string - colorCode: string - hasAdminAuthority: boolean - createdAt: string - updatedAt: string - authorities: string[] - workspaceId: string - projects: { - project: { - id: string - name: string - slug: string - } - }[] -} - -export interface CreateWorkspaceRoleRequest { - workspaceSlug: string - name: string - description?: string - colorCode?: string - authorities: string[] - projectSlugs: string[] -} - -export interface CreateWorkspaceRoleResponse extends WorkspaceRole {} - -export interface UpdateWorkspaceRoleRequest - extends Partial> { - workspaceRoleSlug: string -} - -export interface UpdateWorkspaceRoleResponse extends WorkspaceRole {} - -export interface DeleteWorkspaceRoleRequest { - workspaceRoleSlug: string -} - -export interface DeleteWorkspaceRoleResponse {} - -export interface CheckWorkspaceRoleExistsRequest { - workspaceSlug: string - workspaceRoleName: string -} - -export interface CheckWorkspaceRoleExistsResponse { - exists: boolean -} - -export interface GetWorkspaceRoleRequest { - workspaceRoleSlug: string -} - -export interface GetWorkspaceRoleResponse extends WorkspaceRole {} - -export interface GetWorkspaceRolesOfWorkspaceRequest extends PageRequest { - workspaceSlug: string -} - -export interface GetWorkspaceRolesOfWorkspaceResponse - extends PageResponse> {} diff --git a/packages/api-client/tests/workspace-role.spec.ts b/packages/api-client/tests/workspace-role.spec.ts index 2e3d9732..8f920e20 100644 --- a/packages/api-client/tests/workspace-role.spec.ts +++ b/packages/api-client/tests/workspace-role.spec.ts @@ -3,7 +3,7 @@ import WorkspaceRoleController from '@api-client/controllers/workspace-role' import { CreateWorkspaceRoleRequest, GetWorkspaceRolesOfWorkspaceRequest -} from '@api-client/types/workspace-role.types' +} from '@keyshade/schema' describe('Workspace Role Controller Tests', () => { const backendUrl = process.env.BACKEND_URL diff --git a/packages/api-client/tsconfig.json b/packages/api-client/tsconfig.json index c0a2690c..204d084c 100644 --- a/packages/api-client/tsconfig.json +++ b/packages/api-client/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../tsconfig/base.json", + "extends": "tsconfig/base.json", "compilerOptions": { "baseUrl": ".", "declaration": true, diff --git a/packages/eslint-config-custom/package.json b/packages/eslint-config-custom/package.json index bc40923d..1f2cbcae 100644 --- a/packages/eslint-config-custom/package.json +++ b/packages/eslint-config-custom/package.json @@ -1,11 +1,11 @@ { - "name": "eslint-config-custom", - "license": "MIT", - "version": "0.0.0", - "private": true, - "devDependencies": { - "@vercel/style-guide": "^5.0.0", - "eslint-config-turbo": "^1.10.12", - "typescript": "^4.5.3" - } - } \ No newline at end of file + "name": "eslint-config-custom", + "license": "MIT", + "version": "0.0.0", + "private": true, + "devDependencies": { + "@vercel/style-guide": "^5.0.0", + "eslint-config-turbo": "^2.3.1", + "typescript": "^4.5.3" + } +} diff --git a/packages/schema/src/index.types.ts b/packages/schema/src/index.types.ts index e50b418f..86a1ea0a 100644 --- a/packages/schema/src/index.types.ts +++ b/packages/schema/src/index.types.ts @@ -1,9 +1,3 @@ -import { z } from 'zod' -import { - CreateWorkspaceRoleSchema, - UpdateWorkspaceRoleSchema -} from './workspace-role' - export * from './pagination/index.types' export * from './auth/index.types' export * from './environment/index.types' @@ -15,6 +9,4 @@ export * from './variable/index.types' export * from './event/index.types' export * from './integration/index.types' export * from './api-key/index.types' - -export type TCreateWorkspaceRole = z.infer -export type TUpdateWorkspaceRole = z.infer +export * from './workspace-role/index.types' diff --git a/packages/schema/src/workspace-role.ts b/packages/schema/src/workspace-role.ts deleted file mode 100644 index fabf873b..00000000 --- a/packages/schema/src/workspace-role.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { z } from 'zod' -import { authorityEnum } from '@/enums' - -export const CreateWorkspaceRoleSchema = z.object({ - name: z.string(), - description: z.string().optional(), - colorCode: z.string().optional(), - authorities: z.array(authorityEnum).optional(), - projectIds: z.array(z.string()).optional() -}) - -export const UpdateWorkspaceRoleSchema = CreateWorkspaceRoleSchema.partial() diff --git a/packages/schema/src/workspace-role/index.ts b/packages/schema/src/workspace-role/index.ts new file mode 100644 index 00000000..09633264 --- /dev/null +++ b/packages/schema/src/workspace-role/index.ts @@ -0,0 +1,77 @@ +import { authorityEnum } from '@/enums' +import { PageRequestSchema, PageResponseSchema } from '@/pagination' +import { BaseProjectSchema } from '@/project' +import { WorkspaceSchema } from '@/workspace' +import { z } from 'zod' + +export const WorkspaceRoleSchema = z.object({ + id: z.string(), + name: z.string(), + slug: z.string(), + description: z.string().nullable(), + colorCode: z.string().nullable(), + hasAdminAuthority: z.boolean(), + createdAt: z.string().datetime(), + updatedAt: z.string().datetime(), + authorities: z.array(authorityEnum), + workspaceId: WorkspaceSchema.shape.id, + projects: z.array( + z.object({ + project: z.object({ + id: BaseProjectSchema.shape.id, + name: BaseProjectSchema.shape.name, + slug: BaseProjectSchema.shape.slug + }) + }) + ) +}) + +export const CreateWorkspaceRoleRequestSchema = z.object({ + workspaceSlug: WorkspaceSchema.shape.slug, + name: WorkspaceRoleSchema.shape.name, + description: z.string().optional(), + colorCode: z.string().optional(), + authorities: z.array(authorityEnum).optional(), + projectSlugs: z.array(BaseProjectSchema.shape.slug).optional() +}) + +export const CreateWorkspaceRoleResponseSchema = WorkspaceRoleSchema + +export const UpdateWorkspaceRoleRequestSchema = + CreateWorkspaceRoleRequestSchema.partial().extend({ + workspaceRoleSlug: WorkspaceRoleSchema.shape.slug + }) + +export const UpdateWorkspaceRoleResponseSchema = WorkspaceRoleSchema + +export const DeleteWorkspaceRoleRequestSchema = z.object({ + workspaceRoleSlug: WorkspaceRoleSchema.shape.slug +}) + +export const DeleteWorkspaceRoleResponseSchema = z.void() + +export const CheckWorkspaceRoleExistsRequestSchema = z.object({ + workspaceSlug: WorkspaceSchema.shape.slug, + workspaceRoleName: WorkspaceRoleSchema.shape.name +}) + +export const CheckWorkspaceRoleExistsResponseSchema = z.object({ + exists: z.boolean() +}) + +export const GetWorkspaceRoleRequestSchema = z.object({ + workspaceRoleSlug: WorkspaceRoleSchema.shape.slug +}) + +export const GetWorkspaceRoleResponseSchema = WorkspaceRoleSchema + +export const GetWorkspaceRolesOfWorkspaceRequestSchema = + PageRequestSchema.merge( + z.object({ + workspaceSlug: WorkspaceSchema.shape.slug + }) + ) + +export const GetWorkspaceRolesOfWorkspaceResponseSchema = PageResponseSchema( + WorkspaceRoleSchema.omit({ projects: true }) +) diff --git a/packages/schema/src/workspace-role/index.types.ts b/packages/schema/src/workspace-role/index.types.ts new file mode 100644 index 00000000..f39ae1dc --- /dev/null +++ b/packages/schema/src/workspace-role/index.types.ts @@ -0,0 +1,67 @@ +import { z } from 'zod' + +import { + WorkspaceRoleSchema, + CreateWorkspaceRoleRequestSchema, + CreateWorkspaceRoleResponseSchema, + UpdateWorkspaceRoleRequestSchema, + UpdateWorkspaceRoleResponseSchema, + DeleteWorkspaceRoleRequestSchema, + DeleteWorkspaceRoleResponseSchema, + CheckWorkspaceRoleExistsRequestSchema, + CheckWorkspaceRoleExistsResponseSchema, + GetWorkspaceRoleRequestSchema, + GetWorkspaceRoleResponseSchema, + GetWorkspaceRolesOfWorkspaceRequestSchema, + GetWorkspaceRolesOfWorkspaceResponseSchema +} from './' + +export type WorkspaceRole = z.infer + +export type CreateWorkspaceRoleRequest = z.infer< + typeof CreateWorkspaceRoleRequestSchema +> + +export type CreateWorkspaceRoleResponse = z.infer< + typeof CreateWorkspaceRoleResponseSchema +> + +export type UpdateWorkspaceRoleRequest = z.infer< + typeof UpdateWorkspaceRoleRequestSchema +> + +export type UpdateWorkspaceRoleResponse = z.infer< + typeof UpdateWorkspaceRoleResponseSchema +> + +export type DeleteWorkspaceRoleRequest = z.infer< + typeof DeleteWorkspaceRoleRequestSchema +> + +export type DeleteWorkspaceRoleResponse = z.infer< + typeof DeleteWorkspaceRoleResponseSchema +> + +export type CheckWorkspaceRoleExistsRequest = z.infer< + typeof CheckWorkspaceRoleExistsRequestSchema +> + +export type CheckWorkspaceRoleExistsResponse = z.infer< + typeof CheckWorkspaceRoleExistsResponseSchema +> + +export type GetWorkspaceRoleRequest = z.infer< + typeof GetWorkspaceRoleRequestSchema +> + +export type GetWorkspaceRoleResponse = z.infer< + typeof GetWorkspaceRoleResponseSchema +> + +export type GetWorkspaceRolesOfWorkspaceRequest = z.infer< + typeof GetWorkspaceRolesOfWorkspaceRequestSchema +> + +export type GetWorkspaceRolesOfWorkspaceResponse = z.infer< + typeof GetWorkspaceRolesOfWorkspaceResponseSchema +> diff --git a/packages/schema/tests/enums.test.ts b/packages/schema/tests/enums.test.ts index 12c2e6e7..d117ca40 100644 --- a/packages/schema/tests/enums.test.ts +++ b/packages/schema/tests/enums.test.ts @@ -1,4 +1,3 @@ -import { z } from 'zod' import { integrationTypeEnum, expiresAfterEnum, diff --git a/packages/schema/tests/workspace-role.spec.ts b/packages/schema/tests/workspace-role.spec.ts index 7a3becce..69da4a56 100644 --- a/packages/schema/tests/workspace-role.spec.ts +++ b/packages/schema/tests/workspace-role.spec.ts @@ -1,9 +1,102 @@ -import { CreateWorkspaceRoleSchema } from '@/workspace-role' +import { + WorkspaceRoleSchema, + CreateWorkspaceRoleRequestSchema, + CreateWorkspaceRoleResponseSchema, + UpdateWorkspaceRoleRequestSchema, + UpdateWorkspaceRoleResponseSchema, + DeleteWorkspaceRoleRequestSchema, + DeleteWorkspaceRoleResponseSchema, + CheckWorkspaceRoleExistsRequestSchema, + CheckWorkspaceRoleExistsResponseSchema, + GetWorkspaceRoleRequestSchema, + GetWorkspaceRoleResponseSchema, + GetWorkspaceRolesOfWorkspaceRequestSchema, + GetWorkspaceRolesOfWorkspaceResponseSchema +} from '@/workspace-role' import { authorityEnum } from '@/enums' describe('Workspace Role Schema Tests', () => { - it('should validate if proper input is specified for CreateWorkspaceRoleSchema', () => { - const result = CreateWorkspaceRoleSchema.safeParse({ + // Tests for WorkspaceRoleSchema + it('should validate a valid WorkspaceRoleSchema', () => { + const result = WorkspaceRoleSchema.safeParse({ + id: 'role123', + name: 'Admin Role', + slug: 'admin-role', + description: 'Role with admin privileges', + colorCode: '#FF5733', + hasAdminAuthority: true, + createdAt: '2024-11-29T10:00:00Z', + updatedAt: '2024-11-29T10:00:00Z', + authorities: [authorityEnum.enum['CREATE_PROJECT']], + workspaceId: 'workspace123', + projects: [ + { + project: { + id: 'project123', + name: 'Project Name', + slug: 'project-slug' + } + } + ] + }) + expect(result.success).toBe(true) + }) + + it('should validate if fields are null for WorkspaceRoleSchema', () => { + const result = WorkspaceRoleSchema.safeParse({ + id: 'role123', + name: 'Admin Role', + slug: 'admin-role', + description: null, + colorCode: null, + hasAdminAuthority: true, + createdAt: '2024-11-29T10:00:00Z', + updatedAt: '2024-11-29T10:00:00Z', + authorities: [authorityEnum.enum['CREATE_PROJECT']], + workspaceId: 'workspace123', + projects: [ + { + project: { + id: 'project123', + name: 'Project Name', + slug: 'project-slug' + } + } + ] + }) + expect(result.success).toBe(true) + }) + + it('should not validate an invalid WorkspaceRoleSchema', () => { + const result = WorkspaceRoleSchema.safeParse({ + id: 'role123', + name: 'Admin Role', + slug: 888, // Invalid type + description: 'Role with admin privileges', + colorCode: '#FF5733', + hasAdminAuthority: true, + createdAt: 'invalid-date', // Should be a valid date string + updatedAt: '2024-11-29T10:00:00Z', + authorities: ['INVALID_AUTHORITY'], // Invalid authority + workspaceId: 'workspace123', + projects: [ + { + project: { + id: 'project123', + name: 'Project Name', + slug: 'project-slug' + } + } + ] + }) + expect(result.success).toBe(false) + expect(result.error?.issues).toHaveLength(3) + }) + + // Tests for CreateWorkspaceRoleRequestSchema + it('should validate if proper input is specified for CreateWorkspaceRoleRequestSchema', () => { + const result = CreateWorkspaceRoleRequestSchema.safeParse({ + workspaceSlug: 'workspace-1', name: 'Admin Role', authorities: [authorityEnum.enum['CREATE_PROJECT']], projectIds: ['project1', 'project2'] @@ -12,43 +105,49 @@ describe('Workspace Role Schema Tests', () => { expect(result.success).toBe(true) }) - it('should validate if only required fields are specified for CreateWorkspaceRoleSchema', () => { - const result = CreateWorkspaceRoleSchema.safeParse({ + it('should validate if only required fields are specified for CreateWorkspaceRoleRequestSchema', () => { + const result = CreateWorkspaceRoleRequestSchema.safeParse({ + workspaceSlug: 'workspace-1', name: 'Viewer Role' }) expect(result.success).toBe(true) }) - it('should validate if optional fields are omitted for CreateWorkspaceRoleSchema', () => { - const result = CreateWorkspaceRoleSchema.safeParse({ + it('should validate if optional fields are omitted for CreateWorkspaceRoleRequestSchema', () => { + const result = CreateWorkspaceRoleRequestSchema.safeParse({ + workspaceSlug: 'workspace-1', name: 'Manager Role' }) expect(result.success).toBe(true) }) - it('should not validate if required fields are missing for CreateWorkspaceRoleSchema', () => { - const result = CreateWorkspaceRoleSchema.safeParse({ + it('should not validate if required fields are missing for CreateWorkspaceRoleRequestSchema', () => { + const result = CreateWorkspaceRoleRequestSchema.safeParse({ + // Missing workspaceSlug + // Missing name authorities: [authorityEnum.enum['READ_USERS']] }) expect(result.success).toBe(false) - expect(result.error?.issues).toHaveLength(1) + expect(result.error?.issues).toHaveLength(2) }) - it('should not validate if invalid types are specified for CreateWorkspaceRoleSchema', () => { - const result = CreateWorkspaceRoleSchema.safeParse({ + it('should not validate if invalid types are specified for CreateWorkspaceRoleRequestSchema', () => { + const result = CreateWorkspaceRoleRequestSchema.safeParse({ + workspaceSlug: 123, name: 123, authorities: ['invalid_authority'] }) expect(result.success).toBe(false) - expect(result.error?.issues).toHaveLength(2) + expect(result.error?.issues).toHaveLength(3) }) - it('should validate if all optional fields are provided for CreateWorkspaceRoleSchema', () => { - const result = CreateWorkspaceRoleSchema.safeParse({ + it('should validate if all optional fields are provided for CreateWorkspaceRoleRequestSchema', () => { + const result = CreateWorkspaceRoleRequestSchema.safeParse({ + workspaceSlug: 'workspace-1', name: 'Custom Role', description: 'This is a custom role', colorCode: '#FF5733', @@ -61,4 +160,343 @@ describe('Workspace Role Schema Tests', () => { expect(result.success).toBe(true) }) + + // Tests for CreateWorkspaceRoleResponseSchema + it('should validate a valid CreateWorkspaceRoleResponseSchema', () => { + const result = CreateWorkspaceRoleResponseSchema.safeParse({ + id: 'role123', + name: 'Admin Role', + slug: 'admin-role', + description: 'Role with admin privileges', + colorCode: '#FF5733', + hasAdminAuthority: true, + createdAt: '2024-11-29T10:00:00Z', + updatedAt: '2024-11-29T10:00:00Z', + authorities: [authorityEnum.enum['CREATE_PROJECT']], + workspaceId: 'workspace123', + projects: [ + { + project: { + id: 'project123', + name: 'Project Name', + slug: 'project-slug' + } + } + ] + }) + expect(result.success).toBe(true) + }) + + it('should not validate an invalid CreateWorkspaceRoleResponseSchema', () => { + const result = CreateWorkspaceRoleResponseSchema.safeParse({ + id: 'role123', + name: 'Admin Role', + slug: 'admin-role', + description: 'Role with admin privileges', + colorCode: '#FF5733', + hasAdminAuthority: true, + createdAt: 'invalid-date', // Should be a valid date string + updatedAt: '2024-11-29T10:00:00Z', + authorities: ['INVALID_AUTHORITY'], // Invalid authority + workspaceId: 'workspace123', + projects: [ + { + project: { + id: 'project123', + name: 'Project Name', + slug: 'project-slug' + } + } + ] + }) + expect(result.success).toBe(false) + expect(result.error?.issues).toHaveLength(2) + }) + + // Tests for UpdateWorkspaceRoleRequestSchema + it('should validate a valid UpdateWorkspaceRoleRequestSchema', () => { + const result = UpdateWorkspaceRoleRequestSchema.safeParse({ + workspaceRoleSlug: 'admin-role', + name: 'Updated Admin Role', + description: 'Updated role with admin privileges', + colorCode: '#FF5733' + }) + expect(result.success).toBe(true) + }) + + it('should not validate an invalid UpdateWorkspaceRoleRequestSchema', () => { + const result = UpdateWorkspaceRoleRequestSchema.safeParse({ + workspaceRoleSlug: 123, // Should be a string + name: 'Updated Admin Role', + description: 'Updated role with admin privileges', + colorCode: '#FF5733', + authorities: ['INVALID_AUTHORITY'], // Invalid authority + projectSlugs: ['project-slug'] + }) + expect(result.success).toBe(false) + expect(result.error?.issues).toHaveLength(2) + }) + + // Tests for UpdateWorkspaceRoleResponseSchema + it('should validate a valid UpdateWorkspaceRoleResponseSchema', () => { + const result = UpdateWorkspaceRoleResponseSchema.safeParse({ + id: 'role123', + name: 'Admin Role', + slug: 'admin-role', + description: 'Role with admin privileges', + colorCode: '#FF5733', + hasAdminAuthority: true, + createdAt: '2024-11-29T10:00:00Z', + updatedAt: '2024-11-29T10:00:00Z', + authorities: [authorityEnum.enum['CREATE_PROJECT']], + workspaceId: 'workspace123', + projects: [ + { + project: { + id: 'project123', + name: 'Project Name', + slug: 'project-slug' + } + } + ] + }) + expect(result.success).toBe(true) + }) + + it('should not validate an invalid UpdateWorkspaceRoleResponseSchema', () => { + const result = UpdateWorkspaceRoleResponseSchema.safeParse({ + id: 'role123', + name: 'Admin Role', + slug: 'admin-role', + description: 'Role with admin privileges', + colorCode: '#FF5733', + hasAdminAuthority: true, + createdAt: 'invalid-date', // Should be a valid date string + updatedAt: '2024-11-29T10:00:00Z', + authorities: ['INVALID_AUTHORITY'], // Invalid authority + workspaceId: 'workspace123', + projects: [ + { + project: { + id: 'project123', + name: 'Project Name', + slug: 'project-slug' + } + } + ] + }) + expect(result.success).toBe(false) + expect(result.error?.issues).toHaveLength(2) + }) + + // Tests for DeleteWorkspaceRoleRequestSchema + it('should validate a valid DeleteWorkspaceRoleRequestSchema', () => { + const result = DeleteWorkspaceRoleRequestSchema.safeParse({ + workspaceRoleSlug: 'admin-role' + }) + expect(result.success).toBe(true) + }) + + it('should not validate an invalid DeleteWorkspaceRoleRequestSchema', () => { + const result = DeleteWorkspaceRoleRequestSchema.safeParse({ + workspaceRoleSlug: 123 // Should be a string + }) + expect(result.success).toBe(false) + expect(result.error?.issues).toHaveLength(1) + }) + + // Tests for DeleteWorkspaceRoleResponseSchema + it('should validate a valid DeleteWorkspaceRoleResponseSchema', () => { + const result = DeleteWorkspaceRoleResponseSchema.safeParse(undefined) + expect(result.success).toBe(true) + }) + + it('should not validate an invalid DeleteWorkspaceRoleResponseSchema', () => { + const result = DeleteWorkspaceRoleResponseSchema.safeParse({ + unexpectedField: 'value' + }) + expect(result.success).toBe(false) + }) + + // Tests for CheckWorkspaceRoleExistsRequestSchema + it('should validate a valid CheckWorkspaceRoleExistsRequestSchema', () => { + const result = CheckWorkspaceRoleExistsRequestSchema.safeParse({ + workspaceSlug: 'my-workpace-0', + workspaceRoleName: 'admin-role123' + }) + expect(result.success).toBe(true) + }) + + it('should not validate an invalid CheckWorkspaceRoleExistsRequestSchema', () => { + const result = CheckWorkspaceRoleExistsRequestSchema.safeParse({ + // Missing workspaceSlug + workspaceRoleName: 'role-123' + }) + expect(result.success).toBe(false) + expect(result.error?.issues).toHaveLength(1) + }) + + // Tests for CheckWorkspaceRoleExistsResponseSchema + it('should validate a valid CheckWorkspaceRoleExistsResponseSchema', () => { + const result = CheckWorkspaceRoleExistsResponseSchema.safeParse({ + exists: true + }) + expect(result.success).toBe(true) + }) + + it('should not validate an invalid CheckWorkspaceRoleExistsResponseSchema', () => { + const result = CheckWorkspaceRoleExistsResponseSchema.safeParse({ + exists: 'true' // Should be a boolean + }) + expect(result.success).toBe(false) + expect(result.error?.issues).toHaveLength(1) + }) + + // Tests for GetWorkspaceRoleRequestSchema + it('should validate a valid GetWorkspaceRoleRequestSchema', () => { + const result = GetWorkspaceRoleRequestSchema.safeParse({ + workspaceRoleSlug: 'admin-role' + }) + expect(result.success).toBe(true) + }) + + it('should not validate an invalid GetWorkspaceRoleRequestSchema', () => { + const result = GetWorkspaceRoleRequestSchema.safeParse({ + workspaceRoleSlug: 123 // Should be a string + }) + expect(result.success).toBe(false) + expect(result.error?.issues).toHaveLength(1) + }) + + // Tests for GetWorkspaceRoleResponseSchema + it('should validate a valid GetWorkspaceRoleResponseSchema', () => { + const result = GetWorkspaceRoleResponseSchema.safeParse({ + id: 'role123', + name: 'Admin Role', + slug: 'admin-role', + description: 'Role with admin privileges', + colorCode: '#FF5733', + hasAdminAuthority: true, + createdAt: '2024-11-29T10:00:00Z', + updatedAt: '2024-11-29T10:00:00Z', + authorities: [authorityEnum.enum['CREATE_PROJECT']], + workspaceId: 'workspace123', + projects: [ + { + project: { + id: 'project123', + name: 'Project Name', + slug: 'project-slug' + } + } + ] + }) + expect(result.success).toBe(true) + }) + + it('should not validate an invalid GetWorkspaceRoleResponseSchema', () => { + const result = GetWorkspaceRoleResponseSchema.safeParse({ + id: 'role123', + name: 'Admin Role', + slug: 'admin-role', + description: 'Role with admin privileges', + colorCode: '#FF5733', + hasAdminAuthority: true, + createdAt: 'invalid-date', // Should be a valid date string + updatedAt: '2024-11-29T10:00:00Z', + authorities: ['INVALID_AUTHORITY'], // Invalid authority + workspaceId: 'workspace123', + projects: [ + { + project: { + id: 'project123', + name: 'Project Name' + // Missing slug + } + } + ] + }) + expect(result.success).toBe(false) + expect(result.error?.issues).toHaveLength(3) + }) + + // Tests for GetWorkspaceRolesOfWorkspaceRequestSchema + it('should validate a valid GetWorkspaceRolesOfWorkspaceRequestSchema', () => { + const result = GetWorkspaceRolesOfWorkspaceRequestSchema.safeParse({ + page: 1, + limit: 10, + sortBy: 'name', + order: 'asc', + search: 'admin', + workspaceSlug: 'workspace-slug' + }) + expect(result.success).toBe(true) + }) + + it('should not validate an invalid GetWorkspaceRolesOfWorkspaceRequestSchema', () => { + const result = GetWorkspaceRolesOfWorkspaceRequestSchema.safeParse({ + page: 'one', // Should be a number + limit: 10, + sortBy: 'name', + search: 'admin', + workspaceSlug: 123 // Should be a string + }) + expect(result.success).toBe(false) + expect(result.error?.issues).toHaveLength(2) + }) + + // Tests for GetWorkspaceRolesOfWorkspaceResponseSchema + it('should validate a valid GetWorkspaceRolesOfWorkspaceResponseSchema', () => { + const result = GetWorkspaceRolesOfWorkspaceResponseSchema.safeParse({ + items: [ + { + id: 'role123', + name: 'Admin Role', + slug: 'admin-role', + description: 'Role with admin privileges', + colorCode: '#FF5733', + hasAdminAuthority: true, + createdAt: '2024-11-29T10:00:00Z', + updatedAt: '2024-11-29T10:00:00Z', + authorities: [authorityEnum.enum['CREATE_PROJECT']], + workspaceId: 'workspace123' + } + ], + metadata: { + page: 1, + perPage: 10, + pageCount: 1, + totalCount: 1, + links: { + self: 'http://example.com/page/1', + first: 'http://example.com/page/1', + previous: null, + next: null, + last: 'http://example.com/page/1' + } + } + }) + expect(result.success).toBe(true) + }) + + it('should not validate an invalid GetWorkspaceRolesOfWorkspaceResponseSchema', () => { + const result = GetWorkspaceRolesOfWorkspaceResponseSchema.safeParse({ + items: 'not-an-array', // Should be an array + metadata: { + page: 1, + perPage: 10, + pageCount: 1, + // Missing totalCount + links: { + self: 'http://example.com/page/1', + first: 'http://example.com/page/1', + previous: null, + next: null, + last: 'http://example.com/page/1' + } + } + }) + expect(result.success).toBe(false) + expect(result.error?.issues).toHaveLength(2) + }) }) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f71a4481..f1feeac5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -67,7 +67,7 @@ importers: version: 2.5.2 ts-node: specifier: ^10.9.2 - version: 10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2) + version: 10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2) tsc-alias: specifier: ^1.8.10 version: 1.8.10 @@ -86,7 +86,7 @@ importers: version: 2.36.1 '@sentry/webpack-plugin': specifier: ^2.14.2 - version: 2.22.4(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.2))) + version: 2.22.4(webpack@5.94.0(@swc/core@1.7.26)) '@types/jest': specifier: ^29.5.2 version: 29.5.13 @@ -116,7 +116,7 @@ importers: version: 9.1.6 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)) + version: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)) prettier: specifier: ^3.0.0 version: 3.3.3 @@ -125,7 +125,7 @@ importers: version: 0.5.14(prettier@3.3.3) ts-jest: specifier: ^29.1.0 - version: 29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)))(typescript@5.6.2) + version: 29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)))(typescript@5.6.2) tsconfig: specifier: workspace:* version: link:packages/tsconfig @@ -133,8 +133,8 @@ importers: specifier: ^4.2.0 version: 4.2.0 turbo: - specifier: ^1.12.4 - version: 1.13.4 + specifier: ^2.3.1 + version: 2.3.3 apps/api: dependencies: @@ -158,19 +158,19 @@ importers: version: 10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2) '@nestjs/platform-fastify': specifier: ^10.3.3 - version: 10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2) + version: 10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.2)(@nestjs/websockets@10.4.2)(reflect-metadata@0.2.2)(rxjs@7.8.1)) '@nestjs/platform-socket.io': specifier: ^10.3.7 version: 10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/websockets@10.4.2)(rxjs@7.8.1) '@nestjs/schedule': specifier: ^4.0.1 - version: 4.1.1(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2) + version: 4.1.1(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.2)(@nestjs/websockets@10.4.2)(reflect-metadata@0.2.2)(rxjs@7.8.1)) '@nestjs/swagger': specifier: ^7.3.0 - version: 7.4.1(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2)(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2) + version: 7.4.1(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.2)(@nestjs/websockets@10.4.2)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2) '@nestjs/throttler': specifier: ^6.2.1 - version: 6.2.1(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2)(reflect-metadata@0.2.2) + version: 6.2.1(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.2)(@nestjs/websockets@10.4.2)(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2) '@nestjs/websockets': specifier: ^10.3.7 version: 10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2)(@nestjs/platform-socket.io@10.4.2)(reflect-metadata@0.2.2)(rxjs@7.8.1) @@ -222,13 +222,13 @@ importers: devDependencies: '@nestjs/cli': specifier: ^10.0.0 - version: 10.4.5(@swc/cli@0.4.0(@swc/core@1.7.26(@swc/helpers@0.5.2))(chokidar@3.6.0))(@swc/core@1.7.26(@swc/helpers@0.5.2)) + version: 10.4.5(@swc/cli@0.4.0(@swc/core@1.7.26)(chokidar@3.6.0))(@swc/core@1.7.26) '@nestjs/schematics': specifier: ^10.0.0 version: 10.1.4(chokidar@3.6.0)(typescript@5.3.3) '@nestjs/testing': specifier: ^10.0.0 - version: 10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2)(@nestjs/platform-express@10.4.2) + version: 10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.2)(@nestjs/websockets@10.4.2)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2)) '@prisma/client': specifier: ^5.19.1 version: 5.19.1(prisma@5.19.1) @@ -258,10 +258,10 @@ importers: version: 7.4.2 jest: specifier: ^29.5.0 - version: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.3.3)) + version: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.3.3)) jest-mock-extended: specifier: ^3.0.5 - version: 3.0.7(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.3.3)))(typescript@5.3.3) + version: 3.0.7(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.3.3)))(typescript@5.3.3) prettier: specifier: ^3.0.0 version: 3.3.3 @@ -279,10 +279,10 @@ importers: version: 6.3.4 ts-jest: specifier: ^29.1.0 - version: 29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.3.3)))(typescript@5.3.3) + version: 29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.3.3)))(typescript@5.3.3) ts-loader: specifier: ^9.4.3 - version: 9.5.1(typescript@5.3.3)(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.2))) + version: 9.5.1(typescript@5.3.3)(webpack@5.94.0(@swc/core@1.7.26)) apps/cli: dependencies: @@ -352,7 +352,7 @@ importers: version: 43.0.1(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2))(eslint-plugin-import@2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1))(eslint-plugin-n@16.6.2(eslint@8.57.1))(eslint-plugin-promise@6.6.0(eslint@8.57.1))(eslint@8.57.1)(typescript@5.6.2) tsup: specifier: ^8.1.2 - version: 8.2.4(@swc/core@1.7.26(@swc/helpers@0.5.2))(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.6.2)(yaml@2.5.1) + version: 8.2.4(@swc/core@1.7.26)(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.6.2)(yaml@2.5.1) apps/platform: dependencies: @@ -463,7 +463,7 @@ importers: version: 2.5.2 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.11(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2))) + version: 1.0.7(tailwindcss@3.4.11(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2))) zod: specifier: ^3.23.8 version: 3.23.8 @@ -476,7 +476,7 @@ importers: version: 8.1.0(typescript@5.6.2) '@tailwindcss/forms': specifier: ^0.5.7 - version: 0.5.9(tailwindcss@3.4.11(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2))) + version: 0.5.9(tailwindcss@3.4.11(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2))) '@types/dayjs-precise-range': specifier: ^1.0.5 version: 1.0.5 @@ -500,7 +500,7 @@ importers: version: 8.4.47 tailwindcss: specifier: ^3.3.3 - version: 3.4.11(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)) + version: 3.4.11(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)) tsconfig: specifier: workspace:* version: link:../../packages/tsconfig @@ -509,13 +509,13 @@ importers: dependencies: '@mdx-js/loader': specifier: ^3.0.1 - version: 3.0.1(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.2))) + version: 3.0.1(webpack@5.94.0(@swc/core@1.7.26)) '@mdx-js/react': specifier: ^3.0.1 version: 3.0.1(@types/react@18.3.6)(react@18.3.1) '@next/mdx': specifier: ^14.2.3 - version: 14.2.11(@mdx-js/loader@3.0.1(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.2))))(@mdx-js/react@3.0.1(@types/react@18.3.6)(react@18.3.1)) + version: 14.2.11(@mdx-js/loader@3.0.1(webpack@5.94.0(@swc/core@1.7.26)))(@mdx-js/react@3.0.1(@types/react@18.3.6)(react@18.3.1)) '@tsparticles/engine': specifier: ^3.3.0 version: 3.5.0 @@ -567,7 +567,7 @@ importers: version: 8.1.0(typescript@5.6.2) '@tailwindcss/forms': specifier: ^0.5.7 - version: 0.5.9(tailwindcss@3.4.11(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2))) + version: 0.5.9(tailwindcss@3.4.11(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2))) '@types/react': specifier: ^18.0.22 version: 18.3.6 @@ -585,7 +585,7 @@ importers: version: 8.4.47 tailwindcss: specifier: ^3.3.3 - version: 3.4.11(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)) + version: 3.4.11(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)) tsconfig: specifier: workspace:* version: link:../../packages/tsconfig @@ -596,10 +596,10 @@ importers: devDependencies: '@vercel/style-guide': specifier: ^5.0.0 - version: 5.2.0(@next/eslint-plugin-next@13.5.6)(eslint@8.57.1)(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5)))(prettier@3.3.3)(typescript@4.9.5) + version: 5.2.0(@next/eslint-plugin-next@13.5.6)(eslint@8.57.1)(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)))(prettier@3.3.3)(typescript@4.9.5) eslint-config-turbo: - specifier: ^1.10.12 - version: 1.13.4(eslint@8.57.1) + specifier: ^2.3.1 + version: 2.3.3(eslint@8.57.1) typescript: specifier: ^4.5.3 version: 4.9.5 @@ -627,10 +627,10 @@ importers: version: 43.0.1(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2))(eslint-plugin-import@2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1))(eslint-plugin-n@16.6.2(eslint@8.57.1))(eslint-plugin-promise@6.6.0(eslint@8.57.1))(eslint@8.57.1)(typescript@5.6.2) jest: specifier: ^29.5.0 - version: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)) + version: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)) tsup: specifier: ^8.1.2 - version: 8.2.4(@swc/core@1.7.26(@swc/helpers@0.5.2))(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.6.2)(yaml@2.5.1) + version: 8.2.4(@swc/core@1.7.26)(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.6.2)(yaml@2.5.1) typescript: specifier: ^5.5.3 version: 5.6.2 @@ -4973,8 +4973,8 @@ packages: eslint-plugin-n: '^15.0.0 || ^16.0.0 ' eslint-plugin-promise: ^6.0.0 - eslint-config-turbo@1.13.4: - resolution: {integrity: sha512-+we4eWdZlmlEn7LnhXHCIPX/wtujbHCS7XjQM/TN09BHNEl2fZ8id4rHfdfUKIYTSKyy8U/nNyJ0DNoZj5Q8bw==} + eslint-config-turbo@2.3.3: + resolution: {integrity: sha512-cM9wSBYowQIrjx2MPCzFE6jTnG4vpTPJKZ/O+Ps3CqrmGK/wtNOsY6WHGMwLtKY/nNbgRahAJH6jGVF6k2coOg==} peerDependencies: eslint: '>6.6.0' @@ -5130,8 +5130,8 @@ packages: eslint-plugin-tsdoc@0.2.17: resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} - eslint-plugin-turbo@1.13.4: - resolution: {integrity: sha512-82GfMzrewI/DJB92Bbch239GWbGx4j1zvjk1lqb06lxIlMPnVwUHVwPbAnLfyLG3JuhLv9whxGkO/q1CL18JTg==} + eslint-plugin-turbo@2.3.3: + resolution: {integrity: sha512-j8UEA0Z+NNCsjZep9G5u5soDQHcXq/x4amrwulk6eHF1U91H2qAjp5I4jQcvJewmccCJbVp734PkHHTRnosjpg==} peerDependencies: eslint: '>6.6.0' @@ -8600,38 +8600,38 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - turbo-darwin-64@1.13.4: - resolution: {integrity: sha512-A0eKd73R7CGnRinTiS7txkMElg+R5rKFp9HV7baDiEL4xTG1FIg/56Vm7A5RVgg8UNgG2qNnrfatJtb+dRmNdw==} + turbo-darwin-64@2.3.3: + resolution: {integrity: sha512-bxX82xe6du/3rPmm4aCC5RdEilIN99VUld4HkFQuw+mvFg6darNBuQxyWSHZTtc25XgYjQrjsV05888w1grpaA==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@1.13.4: - resolution: {integrity: sha512-eG769Q0NF6/Vyjsr3mKCnkG/eW6dKMBZk6dxWOdrHfrg6QgfkBUk0WUUujzdtVPiUIvsh4l46vQrNVd9EOtbyA==} + turbo-darwin-arm64@2.3.3: + resolution: {integrity: sha512-DYbQwa3NsAuWkCUYVzfOUBbSUBVQzH5HWUFy2Kgi3fGjIWVZOFk86ss+xsWu//rlEAfYwEmopigsPYSmW4X15A==} cpu: [arm64] os: [darwin] - turbo-linux-64@1.13.4: - resolution: {integrity: sha512-Bq0JphDeNw3XEi+Xb/e4xoKhs1DHN7OoLVUbTIQz+gazYjigVZvtwCvgrZI7eW9Xo1eOXM2zw2u1DGLLUfmGkQ==} + turbo-linux-64@2.3.3: + resolution: {integrity: sha512-eHj9OIB0dFaP6BxB88jSuaCLsOQSYWBgmhy2ErCu6D2GG6xW3b6e2UWHl/1Ho9FsTg4uVgo4DB9wGsKa5erjUA==} cpu: [x64] os: [linux] - turbo-linux-arm64@1.13.4: - resolution: {integrity: sha512-BJcXw1DDiHO/okYbaNdcWN6szjXyHWx9d460v6fCHY65G8CyqGU3y2uUTPK89o8lq/b2C8NK0yZD+Vp0f9VoIg==} + turbo-linux-arm64@2.3.3: + resolution: {integrity: sha512-NmDE/NjZoDj1UWBhMtOPmqFLEBKhzGS61KObfrDEbXvU3lekwHeoPvAMfcovzswzch+kN2DrtbNIlz+/rp8OCg==} cpu: [arm64] os: [linux] - turbo-windows-64@1.13.4: - resolution: {integrity: sha512-OFFhXHOFLN7A78vD/dlVuuSSVEB3s9ZBj18Tm1hk3aW1HTWTuAw0ReN6ZNlVObZUHvGy8d57OAGGxf2bT3etQw==} + turbo-windows-64@2.3.3: + resolution: {integrity: sha512-O2+BS4QqjK3dOERscXqv7N2GXNcqHr9hXumkMxDj/oGx9oCatIwnnwx34UmzodloSnJpgSqjl8iRWiY65SmYoQ==} cpu: [x64] os: [win32] - turbo-windows-arm64@1.13.4: - resolution: {integrity: sha512-u5A+VOKHswJJmJ8o8rcilBfU5U3Y1TTAfP9wX8bFh8teYF1ghP0EhtMRLjhtp6RPa+XCxHHVA2CiC3gbh5eg5g==} + turbo-windows-arm64@2.3.3: + resolution: {integrity: sha512-dW4ZK1r6XLPNYLIKjC4o87HxYidtRRcBeo/hZ9Wng2XM/MqqYkAyzJXJGgRMsc0MMEN9z4+ZIfnSNBrA0b08ag==} cpu: [arm64] os: [win32] - turbo@1.13.4: - resolution: {integrity: sha512-1q7+9UJABuBAHrcC4Sxp5lOqYS5mvxRrwa33wpIyM18hlOCpRD/fTJNxZ0vhbMcJmz15o9kkVm743mPn7p6jpQ==} + turbo@2.3.3: + resolution: {integrity: sha512-DUHWQAcC8BTiUZDRzAYGvpSpGLiaOQPfYXlCieQbwUvmml/LRGIe3raKdrOPOoiX0DYlzxs2nH6BoWJoZrj8hA==} hasBin: true type-check@0.4.0: @@ -10262,7 +10262,7 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5))': + '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.3.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -10276,7 +10276,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5)) + jest-config: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.3.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -10296,9 +10296,8 @@ snapshots: - babel-plugin-macros - supports-color - ts-node - optional: true - '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.3.3))': + '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -10312,42 +10311,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.3.3)) - jest-haste-map: 29.7.0 - jest-message-util: 29.7.0 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-resolve-dependencies: 29.7.0 - jest-runner: 29.7.0 - jest-runtime: 29.7.0 - jest-snapshot: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - jest-watcher: 29.7.0 - micromatch: 4.0.8 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - - ts-node - - '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2))': - dependencies: - '@jest/console': 29.7.0 - '@jest/reporters': 29.7.0 - '@jest/test-result': 29.7.0 - '@jest/transform': 29.7.0 - '@jest/types': 29.6.3 - '@types/node': 20.16.5 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - ci-info: 3.9.0 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)) + jest-config: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -10519,11 +10483,11 @@ snapshots: '@lukeed/csprng@1.1.0': {} - '@mdx-js/loader@3.0.1(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.2)))': + '@mdx-js/loader@3.0.1(webpack@5.94.0(@swc/core@1.7.26))': dependencies: '@mdx-js/mdx': 3.0.1 source-map: 0.7.4 - webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.2)) + webpack: 5.94.0(@swc/core@1.7.26) transitivePeerDependencies: - supports-color @@ -10583,7 +10547,7 @@ snapshots: got: 11.8.6 os-filter-obj: 2.0.0 - '@nestjs/cli@10.4.5(@swc/cli@0.4.0(@swc/core@1.7.26(@swc/helpers@0.5.2))(chokidar@3.6.0))(@swc/core@1.7.26(@swc/helpers@0.5.2))': + '@nestjs/cli@10.4.5(@swc/cli@0.4.0(@swc/core@1.7.26)(chokidar@3.6.0))(@swc/core@1.7.26)': dependencies: '@angular-devkit/core': 17.3.8(chokidar@3.6.0) '@angular-devkit/schematics': 17.3.8(chokidar@3.6.0) @@ -10593,7 +10557,7 @@ snapshots: chokidar: 3.6.0 cli-table3: 0.6.5 commander: 4.1.1 - fork-ts-checker-webpack-plugin: 9.0.2(typescript@5.3.3)(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.2))) + fork-ts-checker-webpack-plugin: 9.0.2(typescript@5.3.3)(webpack@5.94.0(@swc/core@1.7.26)) glob: 10.4.2 inquirer: 8.2.6 node-emoji: 1.11.0 @@ -10602,7 +10566,7 @@ snapshots: tsconfig-paths: 4.2.0 tsconfig-paths-webpack-plugin: 4.1.0 typescript: 5.3.3 - webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.2)) + webpack: 5.94.0(@swc/core@1.7.26) webpack-node-externals: 3.0.0 optionalDependencies: '@swc/cli': 0.4.0(@swc/core@1.7.26(@swc/helpers@0.5.2))(chokidar@3.6.0) @@ -10679,7 +10643,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@nestjs/platform-fastify@10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2)': + '@nestjs/platform-fastify@10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.2)(@nestjs/websockets@10.4.2)(reflect-metadata@0.2.2)(rxjs@7.8.1))': dependencies: '@fastify/cors': 9.0.1 '@fastify/formbody': 7.4.0 @@ -10703,7 +10667,7 @@ snapshots: - supports-color - utf-8-validate - '@nestjs/schedule@4.1.1(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2)': + '@nestjs/schedule@4.1.1(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.2)(@nestjs/websockets@10.4.2)(reflect-metadata@0.2.2)(rxjs@7.8.1))': dependencies: '@nestjs/common': 10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': 10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.2)(@nestjs/websockets@10.4.2)(reflect-metadata@0.2.2)(rxjs@7.8.1) @@ -10721,7 +10685,7 @@ snapshots: transitivePeerDependencies: - chokidar - '@nestjs/swagger@7.4.1(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2)(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)': + '@nestjs/swagger@7.4.1(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.2)(@nestjs/websockets@10.4.2)(reflect-metadata@0.2.2)(rxjs@7.8.1))(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)': dependencies: '@microsoft/tsdoc': 0.15.0 '@nestjs/common': 10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) @@ -10736,7 +10700,7 @@ snapshots: class-transformer: 0.5.1 class-validator: 0.14.1 - '@nestjs/testing@10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2)(@nestjs/platform-express@10.4.2)': + '@nestjs/testing@10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.2)(@nestjs/websockets@10.4.2)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2))': dependencies: '@nestjs/common': 10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': 10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.2)(@nestjs/websockets@10.4.2)(reflect-metadata@0.2.2)(rxjs@7.8.1) @@ -10744,7 +10708,7 @@ snapshots: optionalDependencies: '@nestjs/platform-express': 10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2) - '@nestjs/throttler@6.2.1(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2)(reflect-metadata@0.2.2)': + '@nestjs/throttler@6.2.1(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/core@10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.2)(@nestjs/websockets@10.4.2)(reflect-metadata@0.2.2)(rxjs@7.8.1))(reflect-metadata@0.2.2)': dependencies: '@nestjs/common': 10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1) '@nestjs/core': 10.4.2(@nestjs/common@10.4.2(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.1))(@nestjs/platform-express@10.4.2)(@nestjs/websockets@10.4.2)(reflect-metadata@0.2.2)(rxjs@7.8.1) @@ -10768,11 +10732,11 @@ snapshots: dependencies: glob: 7.1.7 - '@next/mdx@14.2.11(@mdx-js/loader@3.0.1(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.2))))(@mdx-js/react@3.0.1(@types/react@18.3.6)(react@18.3.1))': + '@next/mdx@14.2.11(@mdx-js/loader@3.0.1(webpack@5.94.0(@swc/core@1.7.26)))(@mdx-js/react@3.0.1(@types/react@18.3.6)(react@18.3.1))': dependencies: source-map: 0.7.4 optionalDependencies: - '@mdx-js/loader': 3.0.1(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.2))) + '@mdx-js/loader': 3.0.1(webpack@5.94.0(@swc/core@1.7.26)) '@mdx-js/react': 3.0.1(@types/react@18.3.6)(react@18.3.1) '@next/swc-darwin-arm64@13.5.6': @@ -11829,12 +11793,12 @@ snapshots: dependencies: '@sentry/types': 7.119.0 - '@sentry/webpack-plugin@2.22.4(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.2)))': + '@sentry/webpack-plugin@2.22.4(webpack@5.94.0(@swc/core@1.7.26))': dependencies: '@sentry/bundler-plugin-core': 2.22.4 unplugin: 1.0.1 uuid: 9.0.1 - webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.2)) + webpack: 5.94.0(@swc/core@1.7.26) transitivePeerDependencies: - encoding - supports-color @@ -12077,10 +12041,10 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@tailwindcss/forms@0.5.9(tailwindcss@3.4.11(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)))': + '@tailwindcss/forms@0.5.9(tailwindcss@3.4.11(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)))': dependencies: mini-svg-data-uri: 1.4.4 - tailwindcss: 3.4.11(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)) + tailwindcss: 3.4.11(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)) '@tanstack/react-table@8.20.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -12695,7 +12659,7 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vercel/style-guide@5.2.0(@next/eslint-plugin-next@13.5.6)(eslint@8.57.1)(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5)))(prettier@3.3.3)(typescript@4.9.5)': + '@vercel/style-guide@5.2.0(@next/eslint-plugin-next@13.5.6)(eslint@8.57.1)(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)))(prettier@3.3.3)(typescript@4.9.5)': dependencies: '@babel/core': 7.25.2 '@babel/eslint-parser': 7.25.1(@babel/core@7.25.2)(eslint@8.57.1) @@ -12703,13 +12667,13 @@ snapshots: '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5) '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@4.9.5) eslint-config-prettier: 9.1.0(eslint@8.57.1) - eslint-import-resolver-alias: 1.1.2(eslint-plugin-import@2.30.0) + eslint-import-resolver-alias: 1.1.2(eslint-plugin-import@2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)) eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint-plugin-import@2.30.0)(eslint@8.57.1) eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.1) eslint-plugin-import: 2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) - eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5)))(typescript@4.9.5) + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)))(typescript@4.9.5) eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1) - eslint-plugin-playwright: 0.16.0(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5)))(typescript@4.9.5))(eslint@8.57.1) + eslint-plugin-playwright: 0.16.0(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)))(typescript@4.9.5))(eslint@8.57.1) eslint-plugin-react: 7.36.1(eslint@8.57.1) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) eslint-plugin-testing-library: 6.3.0(eslint@8.57.1)(typescript@4.9.5) @@ -13682,13 +13646,13 @@ snapshots: sha.js: 2.4.11 optional: true - create-jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5)): + create-jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.3.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5)) + jest-config: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.3.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -13696,30 +13660,14 @@ snapshots: - babel-plugin-macros - supports-color - ts-node - optional: true - create-jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.3.3)): + create-jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.3.3)) - jest-util: 29.7.0 - prompts: 2.4.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - - create-jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)): - dependencies: - '@jest/types': 29.6.3 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)) + jest-config: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -14257,12 +14205,12 @@ snapshots: eslint-plugin-n: 16.6.2(eslint@8.57.1) eslint-plugin-promise: 6.6.0(eslint@8.57.1) - eslint-config-turbo@1.13.4(eslint@8.57.1): + eslint-config-turbo@2.3.3(eslint@8.57.1): dependencies: eslint: 8.57.1 - eslint-plugin-turbo: 1.13.4(eslint@8.57.1) + eslint-plugin-turbo: 2.3.3(eslint@8.57.1) - eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.30.0): + eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)): dependencies: eslint-plugin-import: 2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) @@ -14280,7 +14228,7 @@ snapshots: debug: 4.3.7(supports-color@5.5.0) enhanced-resolve: 5.17.1 eslint: 8.57.1 - eslint-module-utils: 2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + eslint-module-utils: 2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1) fast-glob: 3.3.2 get-tsconfig: 4.8.1 is-bun-module: 1.2.1 @@ -14293,7 +14241,7 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-module-utils@2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): + eslint-module-utils@2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: @@ -14344,7 +14292,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + eslint-module-utils: 2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint-plugin-import@2.30.0)(eslint@8.57.1))(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -14389,13 +14337,13 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5)))(typescript@4.9.5): + eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)))(typescript@4.9.5): dependencies: '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@4.9.5) eslint: 8.57.1 optionalDependencies: '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5) - jest: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5)) + jest: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)) transitivePeerDependencies: - supports-color - typescript @@ -14445,11 +14393,11 @@ snapshots: resolve: 1.22.8 semver: 6.3.1 - eslint-plugin-playwright@0.16.0(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5)))(typescript@4.9.5))(eslint@8.57.1): + eslint-plugin-playwright@0.16.0(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)))(typescript@4.9.5))(eslint@8.57.1): dependencies: eslint: 8.57.1 optionalDependencies: - eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5)))(typescript@4.9.5) + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(typescript@4.9.5))(eslint@8.57.1)(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)))(typescript@4.9.5) eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3): dependencies: @@ -14503,7 +14451,7 @@ snapshots: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - eslint-plugin-turbo@1.13.4(eslint@8.57.1): + eslint-plugin-turbo@2.3.3(eslint@8.57.1): dependencies: dotenv: 16.0.3 eslint: 8.57.1 @@ -14952,7 +14900,7 @@ snapshots: cross-spawn: 7.0.3 signal-exit: 4.1.0 - fork-ts-checker-webpack-plugin@9.0.2(typescript@5.3.3)(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.2))): + fork-ts-checker-webpack-plugin@9.0.2(typescript@5.3.3)(webpack@5.94.0(@swc/core@1.7.26)): dependencies: '@babel/code-frame': 7.24.7 chalk: 4.1.2 @@ -14967,7 +14915,7 @@ snapshots: semver: 7.6.3 tapable: 2.2.1 typescript: 5.3.3 - webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.2)) + webpack: 5.94.0(@swc/core@1.7.26) form-data@4.0.0: dependencies: @@ -15767,16 +15715,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5)): + jest-cli@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.3.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.3.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5)) + create-jest: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.3.3)) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5)) + jest-config: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.3.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -15785,18 +15733,17 @@ snapshots: - babel-plugin-macros - supports-color - ts-node - optional: true - jest-cli@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.3.3)): + jest-cli@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.3.3)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.3.3)) + create-jest: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.3.3)) + jest-config: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -15806,58 +15753,7 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)): - dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)) - '@jest/test-result': 29.7.0 - '@jest/types': 29.6.3 - chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)) - exit: 0.1.2 - import-local: 3.2.0 - jest-config: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)) - jest-util: 29.7.0 - jest-validate: 29.7.0 - yargs: 17.7.2 - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - - jest-config@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5)): - dependencies: - '@babel/core': 7.25.2 - '@jest/test-sequencer': 29.7.0 - '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.25.2) - chalk: 4.1.2 - ci-info: 3.9.0 - deepmerge: 4.3.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - jest-circus: 29.7.0 - jest-environment-node: 29.7.0 - jest-get-type: 29.6.3 - jest-regex-util: 29.6.3 - jest-resolve: 29.7.0 - jest-runner: 29.7.0 - jest-util: 29.7.0 - jest-validate: 29.7.0 - micromatch: 4.0.8 - parse-json: 5.2.0 - pretty-format: 29.7.0 - slash: 3.0.0 - strip-json-comments: 3.1.1 - optionalDependencies: - '@types/node': 20.16.5 - ts-node: 10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5) - transitivePeerDependencies: - - babel-plugin-macros - - supports-color - optional: true - - jest-config@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.3.3)): + jest-config@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.3.3)): dependencies: '@babel/core': 7.25.2 '@jest/test-sequencer': 29.7.0 @@ -15883,12 +15779,12 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.16.5 - ts-node: 10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.3.3) + ts-node: 10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.3.3) transitivePeerDependencies: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)): + jest-config@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)): dependencies: '@babel/core': 7.25.2 '@jest/test-sequencer': 29.7.0 @@ -15914,7 +15810,7 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.16.5 - ts-node: 10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2) + ts-node: 10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -15989,9 +15885,9 @@ snapshots: slash: 3.0.0 stack-utils: 2.0.6 - jest-mock-extended@3.0.7(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.3.3)))(typescript@5.3.3): + jest-mock-extended@3.0.7(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.3.3)))(typescript@5.3.3): dependencies: - jest: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.3.3)) + jest: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.3.3)) ts-essentials: 10.0.2(typescript@5.3.3) typescript: 5.3.3 @@ -16146,37 +16042,24 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5)): - dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5)) - '@jest/types': 29.6.3 - import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5)) - transitivePeerDependencies: - - '@types/node' - - babel-plugin-macros - - supports-color - - ts-node - optional: true - - jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.3.3)): + jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.3.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.3.3)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.3.3)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.3.3)) + jest-cli: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.3.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros - supports-color - ts-node - jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)): + jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)) + jest-cli: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -17378,13 +17261,13 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.4.47 - postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)): + postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)): dependencies: lilconfig: 3.1.2 yaml: 2.5.1 optionalDependencies: postcss: 8.4.47 - ts-node: 10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2) + ts-node: 10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2) postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(yaml@2.5.1): dependencies: @@ -18436,11 +18319,11 @@ snapshots: tailwind-merge@2.5.2: {} - tailwindcss-animate@1.0.7(tailwindcss@3.4.11(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2))): + tailwindcss-animate@1.0.7(tailwindcss@3.4.11(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2))): dependencies: - tailwindcss: 3.4.11(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)) + tailwindcss: 3.4.11(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)) - tailwindcss@3.4.11(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)): + tailwindcss@3.4.11(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -18459,7 +18342,7 @@ snapshots: postcss: 8.4.47 postcss-import: 15.1.0(postcss@8.4.47) postcss-js: 4.0.1(postcss@8.4.47) - postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)) + postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)) postcss-nested: 6.2.0(postcss@8.4.47) postcss-selector-parser: 6.1.2 resolve: 1.22.8 @@ -18478,14 +18361,14 @@ snapshots: type-fest: 2.19.0 unique-string: 3.0.0 - terser-webpack-plugin@5.3.10(@swc/core@1.7.26(@swc/helpers@0.5.2))(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.2))): + terser-webpack-plugin@5.3.10(@swc/core@1.7.26)(webpack@5.94.0(@swc/core@1.7.26)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.32.0 - webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.2)) + webpack: 5.94.0(@swc/core@1.7.26) optionalDependencies: '@swc/core': 1.7.26(@swc/helpers@0.5.2) @@ -18588,12 +18471,12 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-jest@29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.3.3)))(typescript@5.3.3): + ts-jest@29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.3.3)))(typescript@5.3.3): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.3.3)) + jest: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.3.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -18607,12 +18490,12 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.25.2) - ts-jest@29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)))(typescript@5.6.2): + ts-jest@29.2.5(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)))(typescript@5.6.2): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2)) + jest: 29.7.0(@types/node@20.16.5)(ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -18626,7 +18509,7 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.25.2) - ts-loader@9.5.1(typescript@5.3.3)(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.2))): + ts-loader@9.5.1(typescript@5.3.3)(webpack@5.94.0(@swc/core@1.7.26)): dependencies: chalk: 4.1.2 enhanced-resolve: 5.17.1 @@ -18634,30 +18517,9 @@ snapshots: semver: 7.6.3 source-map: 0.7.4 typescript: 5.3.3 - webpack: 5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.2)) - - ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@4.9.5): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.11 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 20.16.5 - acorn: 8.12.1 - acorn-walk: 8.3.4 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 4.9.5 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - optionalDependencies: - '@swc/core': 1.7.26(@swc/helpers@0.5.2) - optional: true + webpack: 5.94.0(@swc/core@1.7.26) - ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.3.3): + ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.3.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -18678,7 +18540,7 @@ snapshots: '@swc/core': 1.7.26(@swc/helpers@0.5.2) optional: true - ts-node@10.9.2(@swc/core@1.7.26(@swc/helpers@0.5.2))(@types/node@20.16.5)(typescript@5.6.2): + ts-node@10.9.2(@swc/core@1.7.26)(@types/node@20.16.5)(typescript@5.6.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -18730,7 +18592,7 @@ snapshots: tslib@2.7.0: {} - tsup@8.2.4(@swc/core@1.7.26(@swc/helpers@0.5.2))(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.6.2)(yaml@2.5.1): + tsup@8.2.4(@swc/core@1.7.26)(jiti@1.21.6)(postcss@8.4.47)(tsx@4.19.1)(typescript@5.6.2)(yaml@2.5.1): dependencies: bundle-require: 5.0.0(esbuild@0.23.1) cac: 6.7.14 @@ -18770,32 +18632,32 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - turbo-darwin-64@1.13.4: + turbo-darwin-64@2.3.3: optional: true - turbo-darwin-arm64@1.13.4: + turbo-darwin-arm64@2.3.3: optional: true - turbo-linux-64@1.13.4: + turbo-linux-64@2.3.3: optional: true - turbo-linux-arm64@1.13.4: + turbo-linux-arm64@2.3.3: optional: true - turbo-windows-64@1.13.4: + turbo-windows-64@2.3.3: optional: true - turbo-windows-arm64@1.13.4: + turbo-windows-arm64@2.3.3: optional: true - turbo@1.13.4: + turbo@2.3.3: optionalDependencies: - turbo-darwin-64: 1.13.4 - turbo-darwin-arm64: 1.13.4 - turbo-linux-64: 1.13.4 - turbo-linux-arm64: 1.13.4 - turbo-windows-64: 1.13.4 - turbo-windows-arm64: 1.13.4 + turbo-darwin-64: 2.3.3 + turbo-darwin-arm64: 2.3.3 + turbo-linux-64: 2.3.3 + turbo-linux-arm64: 2.3.3 + turbo-windows-64: 2.3.3 + turbo-windows-arm64: 2.3.3 type-check@0.4.0: dependencies: @@ -19073,7 +18935,7 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.2)): + webpack@5.94.0(@swc/core@1.7.26): dependencies: '@types/estree': 1.0.5 '@webassemblyjs/ast': 1.12.1 @@ -19095,7 +18957,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.7.26(@swc/helpers@0.5.2))(webpack@5.94.0(@swc/core@1.7.26(@swc/helpers@0.5.2))) + terser-webpack-plugin: 5.3.10(@swc/core@1.7.26)(webpack@5.94.0(@swc/core@1.7.26)) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: