From e85b564f27099f34b62dbcbc29c71eaba5828667 Mon Sep 17 00:00:00 2001 From: mindsers Date: Mon, 20 Jul 2026 09:41:59 +0200 Subject: [PATCH] build(deps): bump @biomejs/biome to 2.5.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Biome 2.5.3 promotes noUnsafeOptionalChaining and noSvgWithoutTitle to errors. Six test assertions used `x?.y as T` around a value they then dereferenced — replace with a plain destructure + cast so the type asserts the presence Biome now requires. Add a to public/icon.svg. --- .../dashboard/server/dashboard.server.test.ts | 16 ++-- .../get-responsible-conflicts.server.test.ts | 4 +- .../server/notify-assignment.server.test.ts | 5 +- package.json | 2 +- pnpm-lock.yaml | 74 +++++++++---------- public/icon.svg | 2 +- 6 files changed, 52 insertions(+), 51 deletions(-) diff --git a/app/features/dashboard/server/dashboard.server.test.ts b/app/features/dashboard/server/dashboard.server.test.ts index b2983684..d3a9fce4 100644 --- a/app/features/dashboard/server/dashboard.server.test.ts +++ b/app/features/dashboard/server/dashboard.server.test.ts @@ -380,11 +380,11 @@ describe('getUpcomingAssignments', () => { await getUpcomingAssignments(db, 42) - const partCall = vi.mocked(db.programmePartAssignment.findMany).mock.calls[0][0] - expect((partCall?.where as { event: unknown }).event).toMatchObject({ status: 'released' }) + const [partCall] = vi.mocked(db.programmePartAssignment.findMany).mock.calls[0] + expect((partCall as { where: { event: unknown } }).where.event).toMatchObject({ status: 'released' }) - const serviceCall = vi.mocked(db.programmeServiceRoleAssignment.findMany).mock.calls[0][0] - expect((serviceCall?.where as { event: unknown }).event).toMatchObject({ status: 'released' }) + const [serviceCall] = vi.mocked(db.programmeServiceRoleAssignment.findMany).mock.calls[0] + expect((serviceCall as { where: { event: unknown } }).where.event).toMatchObject({ status: 'released' }) }) }) @@ -395,10 +395,10 @@ describe('getConflictingAssignments', () => { await getConflictingAssignments(db, 42) - const partCall = vi.mocked(db.programmePartAssignment.findMany).mock.calls[0][0] - expect((partCall?.where as { event: unknown }).event).toMatchObject({ status: 'released' }) + const [partCall] = vi.mocked(db.programmePartAssignment.findMany).mock.calls[0] + expect((partCall as { where: { event: unknown } }).where.event).toMatchObject({ status: 'released' }) - const serviceCall = vi.mocked(db.programmeServiceRoleAssignment.findMany).mock.calls[0][0] - expect((serviceCall?.where as { event: unknown }).event).toMatchObject({ status: 'released' }) + const [serviceCall] = vi.mocked(db.programmeServiceRoleAssignment.findMany).mock.calls[0] + expect((serviceCall as { where: { event: unknown } }).where.event).toMatchObject({ status: 'released' }) }) }) diff --git a/app/features/dashboard/server/get-responsible-conflicts.server.test.ts b/app/features/dashboard/server/get-responsible-conflicts.server.test.ts index 106c07bd..a0cd9261 100644 --- a/app/features/dashboard/server/get-responsible-conflicts.server.test.ts +++ b/app/features/dashboard/server/get-responsible-conflicts.server.test.ts @@ -68,8 +68,8 @@ describe('getResponsibleConflicts', () => { it('only considers upcoming events (startDate >= now)', async () => { await getResponsibleConflicts(db, 100, true) - const partCall = vi.mocked(db.programmePartAssignment.findMany).mock.calls[0][0] - const event = (partCall?.where as { event: { startDate: { gte: Date } } }).event + const [partCall] = vi.mocked(db.programmePartAssignment.findMany).mock.calls[0] + const event = (partCall as { where: { event: { startDate: { gte: Date } } } }).where.event expect(event.startDate.gte.getTime()).toBeGreaterThan(Date.now() - 5000) }) diff --git a/app/features/events/server/notify-assignment.server.test.ts b/app/features/events/server/notify-assignment.server.test.ts index f4ed3586..741c6519 100644 --- a/app/features/events/server/notify-assignment.server.test.ts +++ b/app/features/events/server/notify-assignment.server.test.ts @@ -78,8 +78,9 @@ describe('notifyAssignment', () => { assignmentName: 'Perles de la Parole', role: 'speaker', }) - expect(typeof call.payload?.eventDate).toBe('string') - expect((call.payload?.eventDate as string).length).toBeGreaterThan(0) + const payload = call.payload as { eventDate?: string } + expect(typeof payload.eventDate).toBe('string') + expect((payload.eventDate as string).length).toBeGreaterThan(0) }) it('includes the resolved programme link in the payload', async () => { diff --git a/package.json b/package.json index 5609f4ff..8f58cf88 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,7 @@ "zod": "^3.25.76" }, "devDependencies": { - "@biomejs/biome": "2.4.16", + "@biomejs/biome": "2.5.3", "@eslint/js": "^10.0.1", "@playwright/test": "^1.61.1", "@react-router/dev": "^7.17.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ca75b219..a45c389f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -149,8 +149,8 @@ importers: version: 3.25.76 devDependencies: '@biomejs/biome': - specifier: 2.4.16 - version: 2.4.16 + specifier: 2.5.3 + version: 2.5.3 '@eslint/js': specifier: ^10.0.1 version: 10.0.1(eslint@10.7.0(jiti@2.7.0)) @@ -429,55 +429,55 @@ packages: resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} - '@biomejs/biome@2.4.16': - resolution: {integrity: sha512-x9ajFh1zChVybCiM3TN6OD4phAqLgtPZjFrZF+aTMYCPjwBO+k529TX7PPsAqtGNLeV4UgzwQnowEgS7bGmzcA==} + '@biomejs/biome@2.5.3': + resolution: {integrity: sha512-MrJswFdei9EfDwwUy2tQrPDpK0AO+RmMFvBoaaJ6ayBc3sUbHdCE+XG5N8vp+5So41ZupZJQm0roHFFhMGVD7A==} engines: {node: '>=14.21.3'} hasBin: true - '@biomejs/cli-darwin-arm64@2.4.16': - resolution: {integrity: sha512-wxPvu4XOA85YJk9ixSWUmq/QBHbid85BISbOAqqBM/5xQpPk9ayjk5375tOlSC0BeCwNSbPFafQBm+vBumXq0A==} + '@biomejs/cli-darwin-arm64@2.5.3': + resolution: {integrity: sha512-QhYP9muVQ0nUO5zztFuPbEwi4+94sJWVjaZds9aMi1l/KNZBiUjdiSUrGHsTaMGDXrYl+r4AS2sUKfgH3w+V3g==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [darwin] - '@biomejs/cli-darwin-x64@2.4.16': - resolution: {integrity: sha512-xFCqGPwYusQJp4N4NJLi1XJiZqjwFdjhT+KqtNy+Ug3qgfczqnTa6MSDvxJF6TkuDLoYJItMapz6tAf7kCekFw==} + '@biomejs/cli-darwin-x64@2.5.3': + resolution: {integrity: sha512-NC1Ss13UaW7QZX+y8j44bF7AP0jSJdBl6iRhe0MAkvaSqZy+mWg3GaXsrb+eSoHoGDBtaXWEbMVV0iVN2cZ7cQ==} engines: {node: '>=14.21.3'} cpu: [x64] os: [darwin] - '@biomejs/cli-linux-arm64-musl@2.4.16': - resolution: {integrity: sha512-oYxnW0ARfJkr72ezzF2OR8N/rtkgLUQeYtF8cFhVswbknHxtTcmzSsanVJP8yQKnGpGpc2ck6c5zLvHahL6Cbg==} + '@biomejs/cli-linux-arm64-musl@2.5.3': + resolution: {integrity: sha512-fccix0w6xp6csCXgxeC0dU/3ecgRQal0y+cv2SP9ajNlhe7Yrk2Ug7UDe2j9AT9ZDYitkXpvUKgZjjuoYeP4Vg==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-arm64@2.4.16': - resolution: {integrity: sha512-2kFb4//jxfZaP6D+Rj5VkHkxgyD9EoRAVBEQb8PKRv+s4NO2zYNJKXFaJmK1CmhufJOWEfpHKaRbOja7qjmdhQ==} + '@biomejs/cli-linux-arm64@2.5.3': + resolution: {integrity: sha512-ksx1KWeyYW18ILL04msF/J4ZBtBDN33znYK8Z/aNv/vlBVxL9/g3mGP+omgHJKy4+KWbK87vcmmpmurfNjSgiA==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-x64-musl@2.4.16': - resolution: {integrity: sha512-iHDS+MCM65DPqWGu+ECC3uoALyj2H7F4nVUPxIPjz/PIl94EUu+EDfGZDzFP+NY1EOPVt9NQvwFqq7HdMmowdg==} + '@biomejs/cli-linux-x64-musl@2.5.3': + resolution: {integrity: sha512-O/yU9YKRUiHhmcjF2f38PSjseVk3G4VLWYc0G2HWpzdBVREV6G8IGWIVEFf7MFPfWIzNUIvPsEjeAZQIOgnLcQ==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-linux-x64@2.4.16': - resolution: {integrity: sha512-NbcBbi/nJqn5baae6wqRXdS7Gadf2uRpehSh6vMSYpG8OhkXl/Xg8aorWrJ+9VWqAT5ml90alLvorkpMW0nBwQ==} + '@biomejs/cli-linux-x64@2.5.3': + resolution: {integrity: sha512-yMkJtilsgvILDcVkh187aVLTb64xYsrxYajx5kym+r1ULkO5HUOfu9AYKLGQbOVLwJtT2utNw7hhFNg+17mUYA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-win32-arm64@2.4.16': - resolution: {integrity: sha512-0rgImMsNb5v/chhkIFe3wu7PEFClS6RBAYUijGL9UsYN3PanSaoK24HSSuSJb1pYbYYVjzAyZTl3gtjJ84BM8A==} + '@biomejs/cli-win32-arm64@2.5.3': + resolution: {integrity: sha512-cX5z+GYwRcqEok0AH3KSfQGgqYd0Nomfp6Fbe1uiTtELE38hdH2k842wQ9wLNaF/JJ7r4rjJQ4VR+ce+fRmQbw==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [win32] - '@biomejs/cli-win32-x64@2.4.16': - resolution: {integrity: sha512-Kp85jgoBHa05gix6UIRjfCDiUV3w/8VIdZ247VyyO2gEjaw12WEVhdIjlxp/AMzXxqxQwbxNTDVZ3Mwd2RG5rw==} + '@biomejs/cli-win32-x64@2.5.3': + resolution: {integrity: sha512-ExSaJWi4/u6+GXCszlSKpWSjKNbDseAYqqkCznsCsZ/4uidZ/BEqsCc5/3ctlq6dfIubdIIRSVLC/PG9xPl70Q==} engines: {node: '>=14.21.3'} cpu: [x64] os: [win32] @@ -7112,39 +7112,39 @@ snapshots: '@bcoe/v8-coverage@1.0.2': {} - '@biomejs/biome@2.4.16': + '@biomejs/biome@2.5.3': optionalDependencies: - '@biomejs/cli-darwin-arm64': 2.4.16 - '@biomejs/cli-darwin-x64': 2.4.16 - '@biomejs/cli-linux-arm64': 2.4.16 - '@biomejs/cli-linux-arm64-musl': 2.4.16 - '@biomejs/cli-linux-x64': 2.4.16 - '@biomejs/cli-linux-x64-musl': 2.4.16 - '@biomejs/cli-win32-arm64': 2.4.16 - '@biomejs/cli-win32-x64': 2.4.16 + '@biomejs/cli-darwin-arm64': 2.5.3 + '@biomejs/cli-darwin-x64': 2.5.3 + '@biomejs/cli-linux-arm64': 2.5.3 + '@biomejs/cli-linux-arm64-musl': 2.5.3 + '@biomejs/cli-linux-x64': 2.5.3 + '@biomejs/cli-linux-x64-musl': 2.5.3 + '@biomejs/cli-win32-arm64': 2.5.3 + '@biomejs/cli-win32-x64': 2.5.3 - '@biomejs/cli-darwin-arm64@2.4.16': + '@biomejs/cli-darwin-arm64@2.5.3': optional: true - '@biomejs/cli-darwin-x64@2.4.16': + '@biomejs/cli-darwin-x64@2.5.3': optional: true - '@biomejs/cli-linux-arm64-musl@2.4.16': + '@biomejs/cli-linux-arm64-musl@2.5.3': optional: true - '@biomejs/cli-linux-arm64@2.4.16': + '@biomejs/cli-linux-arm64@2.5.3': optional: true - '@biomejs/cli-linux-x64-musl@2.4.16': + '@biomejs/cli-linux-x64-musl@2.5.3': optional: true - '@biomejs/cli-linux-x64@2.4.16': + '@biomejs/cli-linux-x64@2.5.3': optional: true - '@biomejs/cli-win32-arm64@2.4.16': + '@biomejs/cli-win32-arm64@2.5.3': optional: true - '@biomejs/cli-win32-x64@2.4.16': + '@biomejs/cli-win32-x64@2.5.3': optional: true '@boundaries/elements@2.0.1(@typescript-eslint/parser@8.64.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3))(eslint-import-resolver-typescript@4.4.5(eslint@10.7.0(jiti@2.7.0)))(eslint@10.7.0(jiti@2.7.0))': diff --git a/public/icon.svg b/public/icon.svg index b947c893..7f3cc45a 100644 --- a/public/icon.svg +++ b/public/icon.svg @@ -1,3 +1,3 @@ -<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 634 634" width="634" height="634"> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 634 634" width="634" height="634"><title>Unitae