fix: upgrade to Node.js 20 to resolve ES module import issues
Fixes production error where dynamic imports of @svg-maps/world and @svg-maps/usa
packages fail with "Unexpected token 'export'" error.
**Root cause:**
- The @svg-maps packages use ES module syntax (`export default {...}`) in index.js
- Node.js 18 cannot load these files via dynamic import() without "type": "module"
- Node.js 20 has improved ES module support and handles this correctly
**Changes:**
- Dockerfile: FROM node:18-alpine → FROM node:20-alpine
- deploy.yml: node-version "18" → "20"
**Testing:**
- ✅ Local dev server with Node 20: works (dynamic imports succeed)
- ✅ Production container with Node 18: fails (dynamic imports fail)
- ✅ Tested: `node -e "import('@svg-maps/world').then(...)"` succeeds on Node 20
This fix ensures the Socket.IO server can successfully process START_GAME moves
by loading map data via dynamic imports in the Validator.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2
.github/workflows/deploy.yml
vendored
2
.github/workflows/deploy.yml
vendored
@@ -22,7 +22,7 @@ jobs:
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "18"
|
||||
node-version: "20"
|
||||
cache: "pnpm"
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
Reference in New Issue
Block a user