From 4237c8ba47330e0c26997f5205a6e94dcee0ed0d Mon Sep 17 00:00:00 2001 From: SANGIL PARK Date: Thu, 12 Nov 2026 18:40:26 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=84=20feat:=20Keep=20Hancom=20HWP=20an?= =?UTF-8?q?d=20HWPX=20Output=20Files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/src/job.ts | 2 +- api/src/walker.test.ts | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/api/src/job.ts b/api/src/job.ts index 88d3e5b4..3f259f49 100644 --- a/api/src/job.ts +++ b/api/src/job.ts @@ -542,7 +542,7 @@ const SUPPORTED_EXTENSIONS = new Set([ '.ics', '.ical', '.ifb', '.icalendar', '.conf', '.env', '.gitignore', '.ini', '.properties', '.toml', '.doc', '.docx', '.pdf', '.ppt', '.pptx', '.xls', '.xlsx', - '.odt', '.ods', '.odp', '.rtf', + '.odt', '.ods', '.odp', '.rtf', '.hwp', '.hwpx', '.avif', '.bmp', '.gif', '.ico', '.jpeg', '.jpg', '.png', '.tif', '.tiff', '.webp', '.eot', '.ttf', '.woff', '.woff2', diff --git a/api/src/walker.test.ts b/api/src/walker.test.ts index 44e252a6..14151f39 100644 --- a/api/src/walker.test.ts +++ b/api/src/walker.test.ts @@ -592,6 +592,21 @@ describe('walkDir / regular file handling', () => { expect(names).toEqual(['keep.py']); }); + it('keeps Hancom word processor documents', async () => { + await fsp.writeFile(path.join(tmpDir, 'report.hwp'), 'hwp'); + await fsp.writeFile(path.join(tmpDir, 'report.hwpx'), 'hwpx'); + await fsp.writeFile(path.join(tmpDir, 'UPPER.HWP'), 'hwp'); + + const job = makeJob(); + const internals = asInternals(job); + internals.submissionDir = tmpDir; + + await internals.walkDir(tmpDir, 0, new Map()); + + const names = internals.generatedFiles.map(f => f.name).sort(); + expect(names).toEqual(['UPPER.HWP', 'report.hwp', 'report.hwpx']); + }); + it('keeps supported extensionless output basenames', async () => { await fsp.writeFile(path.join(tmpDir, 'Dockerfile'), 'FROM scratch'); await fsp.mkdir(path.join(tmpDir, 'ci'));