From b11a546ffa3825019cebef35944d1c8419c0e30f Mon Sep 17 00:00:00 2001 From: Hide_D Date: Mon, 29 Dec 2025 06:13:07 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20=EA=B2=8C=EC=9E=84=20=EC=97=94=EC=A7=84?= =?UTF-8?q?=20=EB=A6=AC=EC=86=8C=EC=8A=A4=20=EB=B3=B5=EC=82=AC=20=EA=B8=B0?= =?UTF-8?q?=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/build-scripts/build-server.mjs | 34 ++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/tools/build-scripts/build-server.mjs b/tools/build-scripts/build-server.mjs index 2de0410..e7a24dd 100644 --- a/tools/build-scripts/build-server.mjs +++ b/tools/build-scripts/build-server.mjs @@ -1,3 +1,4 @@ +import fs from 'node:fs/promises'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; @@ -13,6 +14,39 @@ if (!profile) { const scriptDir = path.dirname(fileURLToPath(import.meta.url)); const repoRoot = path.resolve(scriptDir, '../..'); const outputDir = path.join(repoRoot, 'dist', profile); +const resourceRoot = path.join(repoRoot, 'app', 'game-engine', 'resources'); + +const copyDir = async (sourceDir, targetDir) => { + await fs.mkdir(targetDir, { recursive: true }); + const entries = await fs.readdir(sourceDir, { withFileTypes: true }); + + await Promise.all( + entries.map(async (entry) => { + const sourcePath = path.join(sourceDir, entry.name); + const targetPath = path.join(targetDir, entry.name); + + if (entry.isDirectory()) { + await copyDir(sourcePath, targetPath); + return; + } + if (entry.isFile()) { + await fs.copyFile(sourcePath, targetPath); + } + }) + ); +}; + +const copyResources = async () => { + const resourceDirs = ['map', 'scenario']; + for (const dirName of resourceDirs) { + const sourceDir = path.join(resourceRoot, dirName); + const targetDir = path.join(outputDir, 'resources', dirName); + await copyDir(sourceDir, targetDir); + } +}; console.log(`[build-scripts] build:server placeholder for profile: ${profile}`); console.log(`[build-scripts] Expected output: ${outputDir}`); + +await copyResources(); +console.log('[build-scripts] Copied game-engine resources (map/scenario).');