fighting git conflicts
This commit is contained in:
parent
e36d41a7c4
commit
575464f65b
4 changed files with 142 additions and 51 deletions
65
src/pnpm-lock.yaml
generated
65
src/pnpm-lock.yaml
generated
|
|
@ -239,16 +239,56 @@ importers:
|
||||||
|
|
||||||
tic-tac-toe:
|
tic-tac-toe:
|
||||||
dependencies:
|
dependencies:
|
||||||
fastify-socket.io:
|
'@fastify/autoload':
|
||||||
|
specifier: ^6.3.1
|
||||||
|
version: 6.3.1
|
||||||
|
'@fastify/formbody':
|
||||||
|
specifier: ^8.0.2
|
||||||
|
version: 8.0.2
|
||||||
|
'@fastify/multipart':
|
||||||
|
specifier: ^9.3.0
|
||||||
|
version: 9.3.0
|
||||||
|
'@fastify/sensible':
|
||||||
|
specifier: ^6.0.4
|
||||||
|
version: 6.0.4
|
||||||
|
'@fastify/static':
|
||||||
|
specifier: ^8.3.0
|
||||||
|
version: 8.3.0
|
||||||
|
'@fastify/websocket':
|
||||||
|
specifier: ^11.2.0
|
||||||
|
version: 11.2.0
|
||||||
|
fastify:
|
||||||
|
specifier: ^5.6.2
|
||||||
|
version: 5.6.2
|
||||||
|
fastify-plugin:
|
||||||
specifier: ^5.1.0
|
specifier: ^5.1.0
|
||||||
version: 5.1.0(fastify@5.6.2)(socket.io@4.8.1)
|
version: 5.1.0
|
||||||
socket.io:
|
socket.io:
|
||||||
specifier: ^4.8.1
|
specifier: ^4.8.1
|
||||||
version: 4.8.1
|
version: 4.8.1
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
|
<<<<<<< HEAD
|
||||||
>>>>>>> 16e6ae0 ((schism): started separating backend from frontend)
|
>>>>>>> 16e6ae0 ((schism): started separating backend from frontend)
|
||||||
=======
|
=======
|
||||||
>>>>>>> 16e6ae0 ((schism): started separating backend from frontend)
|
>>>>>>> 16e6ae0 ((schism): started separating backend from frontend)
|
||||||
|
=======
|
||||||
|
typebox:
|
||||||
|
specifier: ^1.0.63
|
||||||
|
version: 1.0.63
|
||||||
|
devDependencies:
|
||||||
|
'@types/node':
|
||||||
|
specifier: ^22.19.3
|
||||||
|
version: 22.19.3
|
||||||
|
rollup-plugin-node-externals:
|
||||||
|
specifier: ^8.1.2
|
||||||
|
version: 8.1.2(rollup@4.53.5)
|
||||||
|
vite:
|
||||||
|
specifier: ^7.3.0
|
||||||
|
version: 7.3.0(@types/node@22.19.3)(yaml@2.8.2)
|
||||||
|
vite-tsconfig-paths:
|
||||||
|
specifier: ^5.1.4
|
||||||
|
version: 5.1.4(typescript@5.9.3)(vite@7.3.0(@types/node@22.19.3)(yaml@2.8.2))
|
||||||
|
>>>>>>> c741c20 (fixed things)
|
||||||
|
|
||||||
user:
|
user:
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|
@ -1771,18 +1811,9 @@ packages:
|
||||||
resolution: {integrity: sha512-7Jsfj2uLuGWvnxjrGDrHWpSm65+OcVx0ZbTD2wwkz6Wt6KjGm6+ZYwwpdXdwAlzbJYq+LCEMNvDJc4485AQ1vQ==}
|
resolution: {integrity: sha512-7Jsfj2uLuGWvnxjrGDrHWpSm65+OcVx0ZbTD2wwkz6Wt6KjGm6+ZYwwpdXdwAlzbJYq+LCEMNvDJc4485AQ1vQ==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
fastify-plugin@4.5.1:
|
|
||||||
resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==}
|
|
||||||
|
|
||||||
fastify-plugin@5.1.0:
|
fastify-plugin@5.1.0:
|
||||||
resolution: {integrity: sha512-FAIDA8eovSt5qcDgcBvDuX/v0Cjz0ohGhENZ/wpc3y+oZCY2afZ9Baqql3g/lC+OHRnciQol4ww7tuthOb9idw==}
|
resolution: {integrity: sha512-FAIDA8eovSt5qcDgcBvDuX/v0Cjz0ohGhENZ/wpc3y+oZCY2afZ9Baqql3g/lC+OHRnciQol4ww7tuthOb9idw==}
|
||||||
|
|
||||||
fastify-socket.io@5.1.0:
|
|
||||||
resolution: {integrity: sha512-GC1gjrxBGeTbMWV779XHF4uw3AtgKwSQJ9MnjGiMp91ZBuPXEdBYa7NnAMDEl3oZPgK9JO4BlNncTV+UAN+1kg==}
|
|
||||||
peerDependencies:
|
|
||||||
fastify: 4.x.x
|
|
||||||
socket.io: '>=4'
|
|
||||||
|
|
||||||
fastify@5.6.2:
|
fastify@5.6.2:
|
||||||
resolution: {integrity: sha512-dPugdGnsvYkBlENLhCgX8yhyGCsCPrpA8lFWbTNU428l+YOnLgYHR69hzV8HWPC79n536EqzqQtvhtdaCE0dKg==}
|
resolution: {integrity: sha512-dPugdGnsvYkBlENLhCgX8yhyGCsCPrpA8lFWbTNU428l+YOnLgYHR69hzV8HWPC79n536EqzqQtvhtdaCE0dKg==}
|
||||||
|
|
||||||
|
|
@ -4512,17 +4543,8 @@ snapshots:
|
||||||
semver: 7.7.3
|
semver: 7.7.3
|
||||||
yargs-parser: 22.0.0
|
yargs-parser: 22.0.0
|
||||||
|
|
||||||
fastify-plugin@4.5.1: {}
|
|
||||||
|
|
||||||
fastify-plugin@5.1.0: {}
|
fastify-plugin@5.1.0: {}
|
||||||
|
|
||||||
fastify-socket.io@5.1.0(fastify@5.6.2)(socket.io@4.8.1):
|
|
||||||
dependencies:
|
|
||||||
fastify: 5.6.2
|
|
||||||
fastify-plugin: 4.5.1
|
|
||||||
socket.io: 4.8.1
|
|
||||||
tslib: 2.8.1
|
|
||||||
|
|
||||||
fastify@5.6.2:
|
fastify@5.6.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@fastify/ajv-compiler': 4.0.5
|
'@fastify/ajv-compiler': 4.0.5
|
||||||
|
|
@ -5637,6 +5659,7 @@ snapshots:
|
||||||
|
|
||||||
tslib@2.6.2: {}
|
tslib@2.6.2: {}
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
=======
|
=======
|
||||||
|
|
@ -5645,6 +5668,8 @@ snapshots:
|
||||||
tslib@2.8.1: {}
|
tslib@2.8.1: {}
|
||||||
|
|
||||||
>>>>>>> 16e6ae0 ((schism): started separating backend from frontend)
|
>>>>>>> 16e6ae0 ((schism): started separating backend from frontend)
|
||||||
|
=======
|
||||||
|
>>>>>>> c741c20 (fixed things)
|
||||||
tunnel-agent@0.6.0:
|
tunnel-agent@0.6.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
safe-buffer: 5.2.1
|
safe-buffer: 5.2.1
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,9 @@
|
||||||
"packageManager": "pnpm@10.24.0",
|
"packageManager": "pnpm@10.24.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
>>>>>>> c741c20 (fixed things)
|
||||||
"@fastify/autoload": "^6.3.1",
|
"@fastify/autoload": "^6.3.1",
|
||||||
"@fastify/formbody": "^8.0.2",
|
"@fastify/formbody": "^8.0.2",
|
||||||
"@fastify/multipart": "^9.3.0",
|
"@fastify/multipart": "^9.3.0",
|
||||||
|
|
@ -32,9 +35,12 @@
|
||||||
"rollup-plugin-node-externals": "^8.1.2",
|
"rollup-plugin-node-externals": "^8.1.2",
|
||||||
"vite": "^7.3.0",
|
"vite": "^7.3.0",
|
||||||
"vite-tsconfig-paths": "^5.1.4"
|
"vite-tsconfig-paths": "^5.1.4"
|
||||||
|
<<<<<<< HEAD
|
||||||
=======
|
=======
|
||||||
"fastify-socket.io": "^5.1.0",
|
"fastify-socket.io": "^5.1.0",
|
||||||
"socket.io": "^4.8.1"
|
"socket.io": "^4.8.1"
|
||||||
>>>>>>> 16e6ae0 ((schism): started separating backend from frontend)
|
>>>>>>> 16e6ae0 ((schism): started separating backend from frontend)
|
||||||
|
=======
|
||||||
|
>>>>>>> c741c20 (fixed things)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
|
<<<<<<< HEAD
|
||||||
import { TTC } from './game';
|
import { TTC } from './game';
|
||||||
import { FastifyInstance, FastifyPluginAsync } from 'fastify';
|
import { FastifyInstance, FastifyPluginAsync } from 'fastify';
|
||||||
import fastifyFormBody from '@fastify/formbody';
|
import fastifyFormBody from '@fastify/formbody';
|
||||||
|
|
@ -100,58 +101,113 @@ async function onReady(fastify: FastifyInstance, game: TTC) {
|
||||||
=======
|
=======
|
||||||
import { FastifyInstance, FastifyPluginAsync } from 'fastify';
|
import { FastifyInstance, FastifyPluginAsync } from 'fastify';
|
||||||
import fastifySocketIO from 'fastify-socket.io';
|
import fastifySocketIO from 'fastify-socket.io';
|
||||||
|
=======
|
||||||
|
>>>>>>> c741c20 (fixed things)
|
||||||
import { TTC } from './game';
|
import { TTC } from './game';
|
||||||
|
import { FastifyInstance, FastifyPluginAsync } from 'fastify';
|
||||||
|
import fastifyFormBody from '@fastify/formbody';
|
||||||
|
import fastifyMultipart from '@fastify/multipart';
|
||||||
|
import * as db from '@shared/database';
|
||||||
|
import * as auth from '@shared/auth';
|
||||||
|
import * as swagger from '@shared/swagger';
|
||||||
|
import * as utils from '@shared/utils';
|
||||||
|
import { Server } from 'socket.io';
|
||||||
|
|
||||||
const app: FastifyPluginAsync = async (fastify: FastifyInstance, opts): Promise<void> => {
|
declare const __SERVICE_NAME: string;
|
||||||
|
|
||||||
|
// @ts-expect-error: import.meta.glob is a vite thing. Typescript doesn't know this...
|
||||||
|
const plugins = import.meta.glob('./plugins/**/*.ts', { eager: true });
|
||||||
|
// @ts-expect-error: import.meta.glob is a vite thing. Typescript doesn't know this...
|
||||||
|
const routes = import.meta.glob('./routes/**/*.ts', { eager: true });
|
||||||
|
|
||||||
|
const app: FastifyPluginAsync = async (fastify, opts): Promise<void> => {
|
||||||
void opts;
|
void opts;
|
||||||
await fastify.register(fastifySocketIO, {
|
|
||||||
cors: {
|
await fastify.register(utils.useMonitoring);
|
||||||
origin: '*',
|
await fastify.register(utils.useMakeResponse);
|
||||||
methods: ['GET', 'POST'],
|
await fastify.register(swagger.useSwagger, { service: __SERVICE_NAME });
|
||||||
},
|
await fastify.register(db.useDatabase as FastifyPluginAsync, {});
|
||||||
});
|
await fastify.register(auth.jwtPlugin as FastifyPluginAsync, {});
|
||||||
|
await fastify.register(auth.authPlugin as FastifyPluginAsync, {});
|
||||||
|
|
||||||
|
// Place here your custom code!
|
||||||
|
for (const plugin of Object.values(plugins)) {
|
||||||
|
void fastify.register(plugin as FastifyPluginAsync, {});
|
||||||
|
}
|
||||||
|
for (const route of Object.values(routes)) {
|
||||||
|
void fastify.register(route as FastifyPluginAsync, {});
|
||||||
|
}
|
||||||
|
|
||||||
|
void fastify.register(fastifyFormBody, {});
|
||||||
|
void fastify.register(fastifyMultipart, {});
|
||||||
|
|
||||||
const game = new TTC();
|
const game = new TTC();
|
||||||
|
|
||||||
fastify.ready().then(() => {
|
fastify.ready((err) => {
|
||||||
fastify.io.on('connection', (socket) => {
|
if (err) throw err;
|
||||||
fastify.log.info(`Client connected: ${socket.id}`);
|
onReady(fastify, game);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
export default app;
|
||||||
|
export { app };
|
||||||
|
|
||||||
socket.emit('gameState', {
|
// When using .decorate you have to specify added properties for Typescript
|
||||||
board: game.board,
|
declare module 'fastify' {
|
||||||
turn: game.currentPlayer,
|
interface FastifyInstance {
|
||||||
gameOver: game.isGameOver,
|
io: Server<{
|
||||||
});
|
hello: (message: string) => string;
|
||||||
|
// idk you put something
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
|
gameState: any;
|
||||||
|
makeMove: (idx: number) => void;
|
||||||
|
resetGame: () => void;
|
||||||
|
error: string,
|
||||||
|
}>;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
socket.on('makeMove', (idx: number) => {
|
async function onReady(fastify: FastifyInstance, game: TTC) {
|
||||||
const result = game.makeMove(idx);
|
fastify.io.on('connection', (socket) => {
|
||||||
|
fastify.log.info(`Client connected: ${socket.id}`);
|
||||||
|
|
||||||
if (result === 'invalidMove') {
|
socket.emit('gameState', {
|
||||||
socket.emit('error', 'Invalid Move');
|
board: game.board,
|
||||||
}
|
turn: game.currentPlayer,
|
||||||
else {
|
gameOver: game.isGameOver,
|
||||||
fastify.io.emit('gameState', {
|
});
|
||||||
board: game.board,
|
|
||||||
turn: game.currentPlayer,
|
|
||||||
lastResult: result,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
socket.on('resetGame', () => {
|
socket.on('makeMove', (idx: number) => {
|
||||||
game.reset();
|
const result = game.makeMove(idx);
|
||||||
|
|
||||||
|
if (result === 'invalidMove') {
|
||||||
|
socket.emit('error', 'Invalid Move');
|
||||||
|
}
|
||||||
|
else {
|
||||||
fastify.io.emit('gameState', {
|
fastify.io.emit('gameState', {
|
||||||
board: game.board,
|
board: game.board,
|
||||||
turn: game.currentPlayer,
|
turn: game.currentPlayer,
|
||||||
reset: true,
|
lastResult: result,
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
socket.on('resetGame', () => {
|
||||||
|
game.reset();
|
||||||
|
fastify.io.emit('gameState', {
|
||||||
|
board: game.board,
|
||||||
|
turn: game.currentPlayer,
|
||||||
|
reset: true,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
<<<<<<< HEAD
|
||||||
};
|
};
|
||||||
|
|
||||||
export default app;
|
export default app;
|
||||||
>>>>>>> 16e6ae0 ((schism): started separating backend from frontend)
|
>>>>>>> 16e6ae0 ((schism): started separating backend from frontend)
|
||||||
|
=======
|
||||||
|
}
|
||||||
|
>>>>>>> c741c20 (fixed things)
|
||||||
|
|
||||||
// // TODO: Import the plugins defined for this microservice
|
// // TODO: Import the plugins defined for this microservice
|
||||||
// // TODO: Import the routes defined for this microservice
|
// // TODO: Import the routes defined for this microservice
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,11 @@ export class TTC {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
|
<<<<<<< HEAD
|
||||||
}
|
}
|
||||||
=======
|
=======
|
||||||
}
|
}
|
||||||
>>>>>>> 16e6ae0 ((schism): started separating backend from frontend)
|
>>>>>>> 16e6ae0 ((schism): started separating backend from frontend)
|
||||||
|
=======
|
||||||
|
}
|
||||||
|
>>>>>>> c741c20 (fixed things)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue