From 31a91c3f9f6e6fb9c57a1c2782da5389d05b9553 Mon Sep 17 00:00:00 2001 From: Dennis Postma Date: Mon, 10 Feb 2025 15:26:47 +0100 Subject: [PATCH] Prod. env improvements --- .../controls/useGameControlsComposable.ts | 7 +++--- vite.config.ts | 24 ++++++++++++++++++- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/composables/controls/useGameControlsComposable.ts b/src/composables/controls/useGameControlsComposable.ts index 5377e80..7fb2844 100644 --- a/src/composables/controls/useGameControlsComposable.ts +++ b/src/composables/controls/useGameControlsComposable.ts @@ -34,14 +34,15 @@ export function useGameControlsComposable(scene: Phaser.Scene, layer: Phaser.Til function handleKeyDown(event: KeyboardEvent) { if (!gameStore.character) return - // console.log(event.key) - if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'].includes(event.key)) { + // Prevent key repeat events + if (event.repeat) return + pressedKeys.add(event.key) // Start movement loop if not already running if (!moveInterval) { - moveInterval = window.setInterval(moveCharacter, 100) // Adjust timing as needed + moveInterval = window.setInterval(moveCharacter, 100) // Increased interval to match server throttle `MOVEMENT_THROTTLE` moveCharacter() // Move immediately on first press } } diff --git a/vite.config.ts b/vite.config.ts index 0dc0e64..119a5e4 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -7,8 +7,30 @@ import viteCompression from 'vite-plugin-compression'; export default defineConfig({ plugins: [ vue(), - viteCompression() + viteCompression({ + algorithm: 'gzip', + ext: '.gz', + threshold: 10240 // Only compress files larger than 10KB + }) ], + build: { + minify: 'terser', // Better minification + terserOptions: { + compress: { + drop_console: true, // Remove console.log in production + drop_debugger: true + } + }, + rollupOptions: { + output: { + manualChunks: { + 'vendor': ['vue'], // Split vendor chunks + // Add other large dependencies here + } + } + }, + chunkSizeWarningLimit: 1000, // Increase chunk size warning limit if needed + }, resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url))