refactor(server): use core Logger instead of console.log (#416)

* refactor(server): use core Logger instead of console.log

- Add logger.ts module wrapping @esengine/ecs-framework's createLogger
- Replace all console.log/warn/error with structured logger calls
- Add @esengine/ecs-framework as dependency for Logger support
- Fix type errors in auth/providers.test.ts and ECSRoom.test.ts
- Refactor withRateLimit mixin with elegant type helper functions

* chore: update pnpm-lock.yaml

* fix(server): fix ReDoS vulnerability in route path regex
This commit is contained in:
YHH
2026-01-01 18:39:00 +08:00
committed by GitHub
parent ff549f3c2a
commit 9e87eb39b9
32 changed files with 1015 additions and 926 deletions

View File

@@ -42,7 +42,7 @@ describe('TokenBucketStrategy', () => {
strategy.consume('user-1');
}
await new Promise(resolve => setTimeout(resolve, 150));
await new Promise((resolve) => setTimeout(resolve, 150));
const result = strategy.consume('user-1');
expect(result.allowed).toBe(true);
@@ -92,7 +92,7 @@ describe('TokenBucketStrategy', () => {
it('should clean up full buckets', async () => {
strategy.consume('user-1');
await new Promise(resolve => setTimeout(resolve, 100));
await new Promise((resolve) => setTimeout(resolve, 100));
strategy.cleanup();
});
@@ -131,7 +131,7 @@ describe('SlidingWindowStrategy', () => {
strategy.consume('user-1');
}
await new Promise(resolve => setTimeout(resolve, 1100));
await new Promise((resolve) => setTimeout(resolve, 1100));
const result = strategy.consume('user-1');
expect(result.allowed).toBe(true);
@@ -192,7 +192,7 @@ describe('FixedWindowStrategy', () => {
strategy.consume('user-1');
}
await new Promise(resolve => setTimeout(resolve, 1100));
await new Promise((resolve) => setTimeout(resolve, 1100));
const result = strategy.consume('user-1');
expect(result.allowed).toBe(true);
@@ -224,7 +224,7 @@ describe('FixedWindowStrategy', () => {
it('should clean up old windows', async () => {
strategy.consume('user-1');
await new Promise(resolve => setTimeout(resolve, 2100));
await new Promise((resolve) => setTimeout(resolve, 2100));
strategy.cleanup();
});