added eslint norme to code

This commit is contained in:
NigeParis 2025-12-02 17:11:50 +01:00 committed by apetitco
parent 8a151cfb5e
commit bde038a8d0
9 changed files with 128 additions and 157 deletions

View file

@ -20,7 +20,7 @@
"fastify-plugin": "^5.1.0",
"joi": "^18.0.2",
"otp": "^1.1.2",
"typebox": "^1.0.59",
"typebox": "^1.0.61",
"uuidv7": "^1.1.0"
},
"devDependencies": {

View file

@ -30,11 +30,10 @@ export const BlockedImpl: Omit<IBlockedDb, keyof Database> = {
this.prepare('DELETE FROM blocked WHERE user = @id AND blocked = @blocked').run({ id, blocked });
},
/**
* Get all blocked user
*
* @param
* @param
*
* @returns The list of users if it exists, undefined otherwise
*/
@ -64,7 +63,6 @@ export type BlockedData = {
* @returns The blocked if it exists, undefined otherwise
*/
export function blockedFromRow(row?: Partial<BlockedData>): BlockedData | undefined {
console.log('HELLO ?????', row);
if (isNullish(row)) return undefined;
if (isNullish(row.id)) return undefined;
if (isNullish(row.user)) return undefined;

View file

@ -27,7 +27,7 @@
"fastify": "^5.6.2",
"fastify-cli": "^7.4.1",
"fastify-plugin": "^5.1.0",
"typebox": "^1.0.59"
"typebox": "^1.0.61"
},
"devDependencies": {
"@types/node": "^22.19.1",

View file

@ -27,7 +27,7 @@
"fastify": "^5.6.2",
"fastify-plugin": "^5.1.0",
"socket.io": "^4.8.1",
"typebox": "^1.0.59"
"typebox": "^1.0.61"
},
"devDependencies": {
"@types/node": "^22.19.1",

View file

@ -75,14 +75,12 @@ const app: FastifyPluginAsync = async (fastify, opts): Promise<void> => {
export default app;
export { app };
// When using .decorate you have to specify added properties for Typescript
declare module 'fastify' {
interface FastifyInstance {
io: Server<{
hello: (message: string) => string;
MsgObjectServer: (data: { message: ClientMessage } ) => void;
MsgObjectServer: (data: { message: ClientMessage }) => void;
message: (msg: string) => void;
listBud: (msg: string) => void;
testend: (sock_id_client: string) => void;
@ -161,32 +159,27 @@ async function onReady(fastify: FastifyInstance) {
return count;
}
function broadcast(data: ClientMessage, sender?: string) {
fastify.io.fetchSockets().then((sockets) => {
for (const s of sockets) {
// Skip sender's own socket
if (s.id === sender) continue;
// Get client name from map
const clientInfo = clientChat.get(s.id);
if (!clientInfo?.user) {
console.log(color.yellow, `Skipping socket ${s.id} (no user found)`);
continue;
function broadcast(data: ClientMessage, sender?: string) {
fastify.io.fetchSockets().then((sockets) => {
for (const s of sockets) {
// Skip sender's own socket
if (s.id === sender) continue;
// Get client name from map
const clientInfo = clientChat.get(s.id);
if (!clientInfo?.user) {
console.log(color.yellow, `Skipping socket ${s.id} (no user found)`);
continue;
}
// Emit structured JSON object
s.emit('MsgObjectServer', { message: data });
// Debug logs
console.log(color.green, 'Broadcast to:', clientInfo.user);
console.log(' Target socket ID:', s.id);
console.log(' Target rooms:', [...s.rooms]);
console.log(' Sender socket ID:', sender ?? 'none');
}
// Emit structured JSON object
s.emit("MsgObjectServer", { message: data });
// Debug logs
console.log(color.green, "Broadcast to:", clientInfo.user);
console.log(" Target socket ID:", s.id);
console.log(" Target rooms:", [...s.rooms]);
console.log(" Sender socket ID:", sender ?? "none");
}
});
}
});
}
fastify.io.on('connection', (socket: Socket) => {
@ -239,7 +232,7 @@ function broadcast(data: ClientMessage, sender?: string) {
if (userFromFrontend.oldUser !== userFromFrontend.user) {
console.log(color.red, 'list activated', userFromFrontend.oldUser, color.reset);
// if (client?.user === null) {
// if (client?.user === null) {
// console.log('ERROR: clientName is NULL');
// return;
// };
@ -268,18 +261,18 @@ function broadcast(data: ClientMessage, sender?: string) {
}
});
socket.on("logout", () => {
socket.on('logout', () => {
const clientInfo = clientChat.get(socket.id);
const clientName = clientInfo?.user;
if (!clientName) return;
console.log(color.green, `Client logging out: ${clientName} (${socket.id})`);
const obj = {
destination: "system-info",
type: "chat" as const,
destination: 'system-info',
type: 'chat' as const,
user: clientName,
token: "",
text: "LEFT the chat",
token: '',
text: 'LEFT the chat',
timestamp: Date.now(),
SenderWindowID: socket.id,
};
@ -287,11 +280,9 @@ function broadcast(data: ClientMessage, sender?: string) {
// Optional: remove from map
clientChat.delete(socket.id);
// Ensure socket is fully disconnected
if (socket.connected) socket.disconnect(true);
if (socket.connected) socket.disconnect(true);
});
socket.on('disconnecting', (reason) => {
const clientName = clientChat.get(socket.id)?.user || null;
console.log(
@ -303,7 +294,7 @@ function broadcast(data: ClientMessage, sender?: string) {
if (clientName !== null) {
const obj = {
destination: "system-info",
destination: 'system-info',
type: 'chat',
user: clientName,
token: '',
@ -327,7 +318,7 @@ function broadcast(data: ClientMessage, sender?: string) {
if (clientName !== null) {
const obj = {
destination: "system-info",
destination: 'system-info',
type: 'chat',
user: clientName,
token: '',
@ -335,7 +326,7 @@ function broadcast(data: ClientMessage, sender?: string) {
timestamp: Date.now(),
SenderWindowID: socket.id,
};
console.log(color.blue, 'BROADCASTS OUT :',obj.SenderWindowID);
console.log(color.blue, 'BROADCASTS OUT :', obj.SenderWindowID);
broadcast(obj, obj.SenderWindowID);
// clientChat.delete(obj.user);
}
@ -372,7 +363,7 @@ function broadcast(data: ClientMessage, sender?: string) {
);
if (clientName !== null) {
const obj = {
destination: "system-info",
destination: 'system-info',
type: 'chat',
user: clientName,
frontendUserName: userNameFromFrontend,

View file

@ -1,8 +1,8 @@
import { FastifyPluginAsync } from 'fastify';
import { MakeStaticResponse, typeResponse } from '@shared/utils';
import { Type } from 'typebox';
import { UserId } from '@shared/database/mixin/user';
import { Server } from 'socket.io';
// import { UserId } from '@shared/database/mixin/user';
// import { Server } from 'socket.io';
// colors for console.log
export const color = {
@ -13,16 +13,6 @@ export const color = {
reset: '\x1b[0m',
};
// Global map of clients
// key = socket, value = clientname
interface ClientInfo {
user: string;
lastSeen: number;
}
const clientChat = new Map<string, ClientInfo>();
export const ChatRes = {
200: typeResponse('success', 'chat.success', {
name: Type.String(),
@ -33,8 +23,6 @@ export const ChatRes = {
export type ChatResType = MakeStaticResponse<typeof ChatRes>;
const route: FastifyPluginAsync = async (fastify): Promise<void> => {
fastify.get(
'/api/chat/test',
@ -47,23 +35,17 @@ const route: FastifyPluginAsync = async (fastify): Promise<void> => {
},
async (req, res) => {
let users = fastify.db.getAllUsers();
console.log("ALL USERS EVER CONNECTED:", users);
const users = fastify.db.getAllUsers();
console.log('ALL USERS EVER CONNECTED:', users);
if (!users) return;
for (const user of users) {
console.log(color.yellow, "USER:", user.name);
console.log(color.yellow, 'USER:', user.name);
}
// const usersBlocked = fastify.db.getAllBlockedUsers();
// console.log(color.red, "ALL BLOCKED USERS:", usersBlocked);
fastify.db.addBlockedUserFor(users[0].id, users[1].id)
let usersBlocked2;
usersBlocked2 = fastify.db.getAllBlockedUsers();
console.log(color.green, "ALL BLOCKED USERS:", usersBlocked2);
fastify.db.addBlockedUserFor(users[0].id, users[1].id);
const usersBlocked2 = fastify.db.getAllBlockedUsers();
console.log(color.green, 'ALL BLOCKED USERS:', usersBlocked2);
res.makeResponse(200, 'success', 'CCChat.success', { name: 'name', 'id': req.authUser!.id, guest: false });
},
);

View file

@ -24,15 +24,15 @@
"devDependencies": {
"@eslint/js": "^9.39.1",
"@openapitools/openapi-generator-cli": "^2.25.2",
"@typescript-eslint/eslint-plugin": "^8.48.0",
"@typescript-eslint/parser": "^8.48.0",
"@typescript-eslint/eslint-plugin": "^8.48.1",
"@typescript-eslint/parser": "^8.48.1",
"eslint": "^9.39.1",
"husky": "^9.1.7",
"lint-staged": "^16.2.7",
"openapi-generator-cli": "^1.0.0",
"openapi-typescript": "^7.10.1",
"typescript": "^5.9.3",
"typescript-eslint": "^8.48.0",
"typescript-eslint": "^8.48.1",
"vite": "^7.2.6"
},
"dependencies": {

158
src/pnpm-lock.yaml generated
View file

@ -22,11 +22,11 @@ importers:
specifier: ^2.25.2
version: 2.25.2(@types/node@24.10.1)
'@typescript-eslint/eslint-plugin':
specifier: ^8.48.0
version: 8.48.0(@typescript-eslint/parser@8.48.0(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1)(typescript@5.9.3)
specifier: ^8.48.1
version: 8.48.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1)(typescript@5.9.3)
'@typescript-eslint/parser':
specifier: ^8.48.0
version: 8.48.0(eslint@9.39.1)(typescript@5.9.3)
specifier: ^8.48.1
version: 8.48.1(eslint@9.39.1)(typescript@5.9.3)
eslint:
specifier: ^9.39.1
version: 9.39.1
@ -46,8 +46,8 @@ importers:
specifier: ^5.9.3
version: 5.9.3
typescript-eslint:
specifier: ^8.48.0
version: 8.48.0(eslint@9.39.1)(typescript@5.9.3)
specifier: ^8.48.1
version: 8.48.1(eslint@9.39.1)(typescript@5.9.3)
vite:
specifier: ^7.2.6
version: 7.2.6(@types/node@24.10.1)(yaml@2.8.2)
@ -88,8 +88,8 @@ importers:
specifier: ^1.1.2
version: 1.1.2
typebox:
specifier: ^1.0.59
version: 1.0.59
specifier: ^1.0.61
version: 1.0.61
uuidv7:
specifier: ^1.1.0
version: 1.1.0
@ -131,8 +131,8 @@ importers:
specifier: ^5.1.0
version: 5.1.0
typebox:
specifier: ^1.0.59
version: 1.0.59
specifier: ^1.0.61
version: 1.0.61
devDependencies:
'@types/node':
specifier: ^22.19.1
@ -177,8 +177,8 @@ importers:
specifier: ^4.8.1
version: 4.8.1
typebox:
specifier: ^1.0.59
version: 1.0.59
specifier: ^1.0.61
version: 1.0.61
devDependencies:
'@types/node':
specifier: ^22.19.1
@ -266,8 +266,8 @@ importers:
specifier: ^5.1.0
version: 5.1.0
typebox:
specifier: ^1.0.59
version: 1.0.59
specifier: ^1.0.61
version: 1.0.61
devDependencies:
'@types/node':
specifier: ^22.19.1
@ -1119,63 +1119,63 @@ packages:
'@types/trusted-types@2.0.7':
resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}
'@typescript-eslint/eslint-plugin@8.48.0':
resolution: {integrity: sha512-XxXP5tL1txl13YFtrECECQYeZjBZad4fyd3cFV4a19LkAY/bIp9fev3US4S5fDVV2JaYFiKAZ/GRTOLer+mbyQ==}
'@typescript-eslint/eslint-plugin@8.48.1':
resolution: {integrity: sha512-X63hI1bxl5ohelzr0LY5coufyl0LJNthld+abwxpCoo6Gq+hSqhKwci7MUWkXo67mzgUK6YFByhmaHmUcuBJmA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
'@typescript-eslint/parser': ^8.48.0
'@typescript-eslint/parser': ^8.48.1
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/parser@8.48.0':
resolution: {integrity: sha512-jCzKdm/QK0Kg4V4IK/oMlRZlY+QOcdjv89U2NgKHZk1CYTj82/RVSx1mV/0gqCVMJ/DA+Zf/S4NBWNF8GQ+eqQ==}
'@typescript-eslint/parser@8.48.1':
resolution: {integrity: sha512-PC0PDZfJg8sP7cmKe6L3QIL8GZwU5aRvUFedqSIpw3B+QjRSUZeeITC2M5XKeMXEzL6wccN196iy3JLwKNvDVA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/project-service@8.48.0':
resolution: {integrity: sha512-Ne4CTZyRh1BecBf84siv42wv5vQvVmgtk8AuiEffKTUo3DrBaGYZueJSxxBZ8fjk/N3DrgChH4TOdIOwOwiqqw==}
'@typescript-eslint/project-service@8.48.1':
resolution: {integrity: sha512-HQWSicah4s9z2/HifRPQ6b6R7G+SBx64JlFQpgSSHWPKdvCZX57XCbszg/bapbRsOEv42q5tayTYcEFpACcX1w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/scope-manager@8.48.0':
resolution: {integrity: sha512-uGSSsbrtJrLduti0Q1Q9+BF1/iFKaxGoQwjWOIVNJv0o6omrdyR8ct37m4xIl5Zzpkp69Kkmvom7QFTtue89YQ==}
'@typescript-eslint/scope-manager@8.48.1':
resolution: {integrity: sha512-rj4vWQsytQbLxC5Bf4XwZ0/CKd362DkWMUkviT7DCS057SK64D5lH74sSGzhI6PDD2HCEq02xAP9cX68dYyg1w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/tsconfig-utils@8.48.0':
resolution: {integrity: sha512-WNebjBdFdyu10sR1M4OXTt2OkMd5KWIL+LLfeH9KhgP+jzfDV/LI3eXzwJ1s9+Yc0Kzo2fQCdY/OpdusCMmh6w==}
'@typescript-eslint/tsconfig-utils@8.48.1':
resolution: {integrity: sha512-k0Jhs4CpEffIBm6wPaCXBAD7jxBtrHjrSgtfCjUvPp9AZ78lXKdTR8fxyZO5y4vWNlOvYXRtngSZNSn+H53Jkw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/type-utils@8.48.0':
resolution: {integrity: sha512-zbeVaVqeXhhab6QNEKfK96Xyc7UQuoFWERhEnj3mLVnUWrQnv15cJNseUni7f3g557gm0e46LZ6IJ4NJVOgOpw==}
'@typescript-eslint/type-utils@8.48.1':
resolution: {integrity: sha512-1jEop81a3LrJQLTf/1VfPQdhIY4PlGDBc/i67EVWObrtvcziysbLN3oReexHOM6N3jyXgCrkBsZpqwH0hiDOQg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/types@8.48.0':
resolution: {integrity: sha512-cQMcGQQH7kwKoVswD1xdOytxQR60MWKM1di26xSUtxehaDs/32Zpqsu5WJlXTtTTqyAVK8R7hvsUnIXRS+bjvA==}
'@typescript-eslint/types@8.48.1':
resolution: {integrity: sha512-+fZ3LZNeiELGmimrujsDCT4CRIbq5oXdHe7chLiW8qzqyPMnn1puNstCrMNVAqwcl2FdIxkuJ4tOs/RFDBVc/Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript-eslint/typescript-estree@8.48.0':
resolution: {integrity: sha512-ljHab1CSO4rGrQIAyizUS6UGHHCiAYhbfcIZ1zVJr5nMryxlXMVWS3duFPSKvSUbFPwkXMFk1k0EMIjub4sRRQ==}
'@typescript-eslint/typescript-estree@8.48.1':
resolution: {integrity: sha512-/9wQ4PqaefTK6POVTjJaYS0bynCgzh6ClJHGSBj06XEHjkfylzB+A3qvyaXnErEZSaxhIo4YdyBgq6j4RysxDg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/utils@8.48.0':
resolution: {integrity: sha512-yTJO1XuGxCsSfIVt1+1UrLHtue8xz16V8apzPYI06W0HbEbEWHxHXgZaAgavIkoh+GeV6hKKd5jm0sS6OYxWXQ==}
'@typescript-eslint/utils@8.48.1':
resolution: {integrity: sha512-fAnhLrDjiVfey5wwFRwrweyRlCmdz5ZxXz2G/4cLn0YDLjTapmN4gcCsTBR1N2rWnZSDeWpYtgLDsJt+FpmcwA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
'@typescript-eslint/visitor-keys@8.48.0':
resolution: {integrity: sha512-T0XJMaRPOH3+LBbAfzR2jalckP1MSG/L9eUtY0DEzUyVaXJ/t6zN0nR7co5kz0Jko/nkSYCBRkz1djvjajVTTg==}
'@typescript-eslint/visitor-keys@8.48.1':
resolution: {integrity: sha512-BmxxndzEWhE4TIEEMBs8lP3MBWN3jFPs/p6gPm/wkv02o41hI6cq9AuSmGAaTTHPtA1FTi2jBre4A9rm5ZmX+Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
abort-controller@3.0.0:
@ -3026,11 +3026,11 @@ packages:
resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==}
engines: {node: '>= 0.6'}
typebox@1.0.59:
resolution: {integrity: sha512-D8pTcn4yPzUb34OWFyPVITP1fMZjJXV5n7tT5ss/BxHSnzfuMK4rQEFunpk1UOwq9lMCOed2BJ3GXGoIBKl7Rw==}
typebox@1.0.61:
resolution: {integrity: sha512-5KeeL5QoPBoYm8Z7tGR1Pw9FjWA75MLhVuiSMCRgtgTg/d2+kTvolFddhOUua9FxpIaqXznFPZcc3sl6cEpafw==}
typescript-eslint@8.48.0:
resolution: {integrity: sha512-fcKOvQD9GUn3Xw63EgiDqhvWJ5jsyZUaekl3KVpGsDJnN46WJTe3jWxtQP9lMZm1LJNkFLlTaWAxK2vUQR+cqw==}
typescript-eslint@8.48.1:
resolution: {integrity: sha512-FbOKN1fqNoXp1hIl5KYpObVrp0mCn+CLgn479nmu2IsRMrx2vyv74MmsBLVlhg8qVwNFGbXSp8fh1zp8pEoC2A==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@ -4062,14 +4062,14 @@ snapshots:
'@types/trusted-types@2.0.7':
optional: true
'@typescript-eslint/eslint-plugin@8.48.0(@typescript-eslint/parser@8.48.0(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1)(typescript@5.9.3)':
'@typescript-eslint/eslint-plugin@8.48.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1)(typescript@5.9.3)':
dependencies:
'@eslint-community/regexpp': 4.12.2
'@typescript-eslint/parser': 8.48.0(eslint@9.39.1)(typescript@5.9.3)
'@typescript-eslint/scope-manager': 8.48.0
'@typescript-eslint/type-utils': 8.48.0(eslint@9.39.1)(typescript@5.9.3)
'@typescript-eslint/utils': 8.48.0(eslint@9.39.1)(typescript@5.9.3)
'@typescript-eslint/visitor-keys': 8.48.0
'@typescript-eslint/parser': 8.48.1(eslint@9.39.1)(typescript@5.9.3)
'@typescript-eslint/scope-manager': 8.48.1
'@typescript-eslint/type-utils': 8.48.1(eslint@9.39.1)(typescript@5.9.3)
'@typescript-eslint/utils': 8.48.1(eslint@9.39.1)(typescript@5.9.3)
'@typescript-eslint/visitor-keys': 8.48.1
eslint: 9.39.1
graphemer: 1.4.0
ignore: 7.0.5
@ -4079,41 +4079,41 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/parser@8.48.0(eslint@9.39.1)(typescript@5.9.3)':
'@typescript-eslint/parser@8.48.1(eslint@9.39.1)(typescript@5.9.3)':
dependencies:
'@typescript-eslint/scope-manager': 8.48.0
'@typescript-eslint/types': 8.48.0
'@typescript-eslint/typescript-estree': 8.48.0(typescript@5.9.3)
'@typescript-eslint/visitor-keys': 8.48.0
'@typescript-eslint/scope-manager': 8.48.1
'@typescript-eslint/types': 8.48.1
'@typescript-eslint/typescript-estree': 8.48.1(typescript@5.9.3)
'@typescript-eslint/visitor-keys': 8.48.1
debug: 4.4.3(supports-color@10.2.2)
eslint: 9.39.1
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/project-service@8.48.0(typescript@5.9.3)':
'@typescript-eslint/project-service@8.48.1(typescript@5.9.3)':
dependencies:
'@typescript-eslint/tsconfig-utils': 8.48.0(typescript@5.9.3)
'@typescript-eslint/types': 8.48.0
'@typescript-eslint/tsconfig-utils': 8.48.1(typescript@5.9.3)
'@typescript-eslint/types': 8.48.1
debug: 4.4.3(supports-color@10.2.2)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/scope-manager@8.48.0':
'@typescript-eslint/scope-manager@8.48.1':
dependencies:
'@typescript-eslint/types': 8.48.0
'@typescript-eslint/visitor-keys': 8.48.0
'@typescript-eslint/types': 8.48.1
'@typescript-eslint/visitor-keys': 8.48.1
'@typescript-eslint/tsconfig-utils@8.48.0(typescript@5.9.3)':
'@typescript-eslint/tsconfig-utils@8.48.1(typescript@5.9.3)':
dependencies:
typescript: 5.9.3
'@typescript-eslint/type-utils@8.48.0(eslint@9.39.1)(typescript@5.9.3)':
'@typescript-eslint/type-utils@8.48.1(eslint@9.39.1)(typescript@5.9.3)':
dependencies:
'@typescript-eslint/types': 8.48.0
'@typescript-eslint/typescript-estree': 8.48.0(typescript@5.9.3)
'@typescript-eslint/utils': 8.48.0(eslint@9.39.1)(typescript@5.9.3)
'@typescript-eslint/types': 8.48.1
'@typescript-eslint/typescript-estree': 8.48.1(typescript@5.9.3)
'@typescript-eslint/utils': 8.48.1(eslint@9.39.1)(typescript@5.9.3)
debug: 4.4.3(supports-color@10.2.2)
eslint: 9.39.1
ts-api-utils: 2.1.0(typescript@5.9.3)
@ -4121,14 +4121,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/types@8.48.0': {}
'@typescript-eslint/types@8.48.1': {}
'@typescript-eslint/typescript-estree@8.48.0(typescript@5.9.3)':
'@typescript-eslint/typescript-estree@8.48.1(typescript@5.9.3)':
dependencies:
'@typescript-eslint/project-service': 8.48.0(typescript@5.9.3)
'@typescript-eslint/tsconfig-utils': 8.48.0(typescript@5.9.3)
'@typescript-eslint/types': 8.48.0
'@typescript-eslint/visitor-keys': 8.48.0
'@typescript-eslint/project-service': 8.48.1(typescript@5.9.3)
'@typescript-eslint/tsconfig-utils': 8.48.1(typescript@5.9.3)
'@typescript-eslint/types': 8.48.1
'@typescript-eslint/visitor-keys': 8.48.1
debug: 4.4.3(supports-color@10.2.2)
minimatch: 9.0.5
semver: 7.7.3
@ -4138,20 +4138,20 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@8.48.0(eslint@9.39.1)(typescript@5.9.3)':
'@typescript-eslint/utils@8.48.1(eslint@9.39.1)(typescript@5.9.3)':
dependencies:
'@eslint-community/eslint-utils': 4.9.0(eslint@9.39.1)
'@typescript-eslint/scope-manager': 8.48.0
'@typescript-eslint/types': 8.48.0
'@typescript-eslint/typescript-estree': 8.48.0(typescript@5.9.3)
'@typescript-eslint/scope-manager': 8.48.1
'@typescript-eslint/types': 8.48.1
'@typescript-eslint/typescript-estree': 8.48.1(typescript@5.9.3)
eslint: 9.39.1
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/visitor-keys@8.48.0':
'@typescript-eslint/visitor-keys@8.48.1':
dependencies:
'@typescript-eslint/types': 8.48.0
'@typescript-eslint/types': 8.48.1
eslint-visitor-keys: 4.2.1
abort-controller@3.0.0:
@ -6154,14 +6154,14 @@ snapshots:
media-typer: 1.1.0
mime-types: 3.0.2
typebox@1.0.59: {}
typebox@1.0.61: {}
typescript-eslint@8.48.0(eslint@9.39.1)(typescript@5.9.3):
typescript-eslint@8.48.1(eslint@9.39.1)(typescript@5.9.3):
dependencies:
'@typescript-eslint/eslint-plugin': 8.48.0(@typescript-eslint/parser@8.48.0(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1)(typescript@5.9.3)
'@typescript-eslint/parser': 8.48.0(eslint@9.39.1)(typescript@5.9.3)
'@typescript-eslint/typescript-estree': 8.48.0(typescript@5.9.3)
'@typescript-eslint/utils': 8.48.0(eslint@9.39.1)(typescript@5.9.3)
'@typescript-eslint/eslint-plugin': 8.48.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1)(typescript@5.9.3))(eslint@9.39.1)(typescript@5.9.3)
'@typescript-eslint/parser': 8.48.1(eslint@9.39.1)(typescript@5.9.3)
'@typescript-eslint/typescript-estree': 8.48.1(typescript@5.9.3)
'@typescript-eslint/utils': 8.48.1(eslint@9.39.1)(typescript@5.9.3)
eslint: 9.39.1
typescript: 5.9.3
transitivePeerDependencies:

View file

@ -26,7 +26,7 @@
"fastify": "^5.6.2",
"fastify-cli": "^7.4.1",
"fastify-plugin": "^5.1.0",
"typebox": "^1.0.59"
"typebox": "^1.0.61"
},
"devDependencies": {
"@types/node": "^22.19.1",