## 소스맵 노출 차단 (공개 이슈 )
배포본에 .map 이 포함돼 원본 TS/TSX 전문(sourcesContent, 한글 주석 포함)이
그대로 노출됐다. 생성·서빙·저장소 유입 3계층을 모두 막는다.
- 빌드 config 15곳(코어 3 + _bundled 12): sourcemap 하드코딩 제거.
G7_BUILD_SOURCEMAP 판정식으로 교체 — 미설정(로컬 npm run build)이면 생성해
개발 디버깅 경험을 보존하고, 0 이면 미생성.
- Build{Core,Module,Plugin,Template}Command: 죽어 있던 --production 플래그 복구.
$productionMode 를 콘솔 문자열에만 쓰고 npm 프로세스에 env 를 넘기지 않아
산출물이 개발 빌드와 동일했다. runNpmCommand 에 $env 를 추가해 주입
(--watch 에는 미주입). Symfony Process 는 부모 환경에 병합하므로 PATH 유실 없음.
- Allowed{Module,Plugin}FileType / {Module,Plugin}Service::getMimeType:
허용 확장자 map 제거 — 익명 200 서빙 차단(템플릿은 원래 미허용, 3종 정책 일치).
- ExtensionBundleService: CSS 번들의 /*# sourceMappingURL=... */ strip 추가.
CSS 는 블록 주석이라 JS 의 //# 패턴으로는 검출되지 않던 구멍.
- 추적 .map 13개 삭제 + .gitignore 전역 *.map 규칙(경로 한정 시 새 확장에서 누락).
실측: 산출 JS 의 sourceMappingURL 13 → 0, 추적 .map 13 → 0,
확장 디렉토리 npm run build 는 여전히 map 생성(개발 경험 회귀 없음).
## 관리자 환경설정 탭 지연 로딩
코어/이커머스/게시판 환경설정 화면이 진입 즉시 전 탭의 데이터소스를 한꺼번에
호출했다. 각 데이터소스에 활성 탭 조건(if)을 걸어 해당 탭에서만 fetch 하도록
변경하고, 결제 플러그인 3종의 테스트모드 상태 조회도 주문설정 탭으로 한정.
## 동반 결함 수정 (무관 결함 — 재발 방지 목적으로 같은 세션 처리)
- 나이스페이먼츠: 체크아웃 캐시 프리페치가 라우트를 가리지 않아 플러그인 번들이
로드되는 모든 페이지(홈/게시판/로그인)에서 주문서를 조회 → 비회원 매번 422.
형제 플러그인(kginicis)의 기존 가드 패턴을 적용해 체크아웃 경로로 한정.
- admin smoke 8건: 대부분 구현이 아니라 테스트 결함이었다 — URL 오타(단수 board),
존재하지 않는 권한키, 앱 로케일이 en 인데 한국어 라벨 로케이터, DataGrid 버튼을
먼저 잡던 휴리스틱 로케이터. 레이아웃에는 sticky className / 안정 id 를 부여.
- PHPDoc ↔ Pint 충돌 3건: 설명 없는 @param 은 no_superfluous_phpdoc_tags 가
삭제해 audit phpdoc-public-method 와 무한 충돌. 한국어 설명을 붙여 양쪽 충족
(리스너 3종의 설명 누락 메서드도 전수 보강).
- Log::spy 500 3건: spy 가 Log::channel('activity') 를 null 로 만들고
logActivity 가 null->info 로 \Error → 같은 줄 catch(\Exception) 은 못 잡아
통과. 운영에선 채널이 항상 로거이므로 제품 무결 → 테스트에 activity 채널
보존 헬퍼 추가.
- NhnKcpApiServiceTest 5건: 스텁이 Unix 바이너리만 만들어 Windows 분기
(pp_cli_exe.exe)에서만 실패. #!/bin/sh 는 Windows 실행 불가 → 파일 내 기존
컨벤션대로 skip 가드.
## 테스트
- 소스맵 범위 130 passed (신규: BuildCommandSourcemapEnv, NoSourcemapArtifacts,
ExtensionBundleService CSS strip, Allowed*FileType 반전, 자산 서빙 거부)
- 결제 3플러그인 505 passed / 0 failed (skipped 9 = Windows 전용 CLI, 사유 명시)
- 나이스페이먼츠 프론트 38 passed (가드 제거 시 red 실증 후 복원)
- E2E: production-sourcemap-exposure.spec.ts 6건 + 시나리오 매니페스트
버전: sirsoft-admin_basic 1.0.2 → 1.0.3, sirsoft-board 1.0.1 → 1.0.2
(각 manifest/package/lock/composer 동기화). 코어 7.0.4 는 미출시 누적.
8.8 KiB
8.8 KiB
Changelog
이 언어팩의 모든 주요 변경사항을 기록합니다. 형식은 Keep a Changelog를 따르며, Semantic Versioning을 준수합니다.
[1.0.3] - 2026-07-13
Added
- 환경설정 > 보안 화면의 "내부 네트워크 주소 호출 허용" 항목명·설명 일본어 번역 추가 — 새로 추가된 보안 설정이 일본어 로케일에서도 올바르게 표시됩니다.
- 역할 관리 화면 새로고침 버튼의 일본어 번역 추가 — 일본어 로케일에서도 버튼 설명이 올바르게 표시됩니다.
[1.0.2] - 2026-07-10
Added
- 레이아웃 편집기의 페이지 상태 선택 항목(기본 / 모바일 메뉴 펼침) 일본어 번역 추가 — 관리자 베이스 레이아웃을 편집할 때 모바일 메뉴가 펼쳐진 상태를 미리 보며 편집할 수 있고, 그 선택지가 일본어 로케일에서도 올바르게 표시됩니다.
[1.0.1] - 2026-07-08
Added
- 관리자 헤더의 "사이트 보기" 링크와 접근 가능한 메뉴 부재 안내(
view_site·no_accessible_menus) 일본어 번역 추가 — 관리자에서 사용자 사이트로 이동하는 링크와 메뉴 접근 권한이 없을 때의 안내가 일본어 로케일에서 자연스럽게 표시됩니다.
Changed
- 첨부 개수 초과 안내 문구(
attachment.upload_limit_exceeded)를 이미지 전용 표현에서 일반 파일에도 맞는 범용 표현으로 갱신했습니다 — 한국어/영어 원문 변경에 맞춰 일본어 번역을 동기화했습니다.
[1.0.0] - 2026-07-01
Added
- 관리자 대시보드 개편 신규 텍스트 일본어 번역 추가 — 상단 배지의 활성 템플릿/활성 언어팩 수 라벨(
stats.active_templates·active_language_packs), "최근 알림" 위젯(recent_notifications.*), 데이터 소스 선택 라벨(data_source.dashboard_recent_notifications)이 일본어 로케일에서 자연스럽게 표시됩니다. - 레이아웃 편집기 트리의 모달 화면명 일본어 번역 추가 (
modal_label.*— 회원 삭제 확인·언어팩 설치·플러그인 상세·매니페스트 미리보기 등) — 위지윅 편집기 트리의 모달 노드가 영문 식별자 대신 일본어 화면명으로 표시됩니다. - 레이아웃 편집기 데이터 소스·편집기 라벨 일본어 번역 동기화 (
editor.data_source.*등 신규/누락 키) — 속성 패널의 데이터 소스 표시 명칭 등 편집기 라벨이 일본어 로케일에서 자연스럽게 표시됩니다. - 레이아웃 편집기 배열 항목 편집기·인플레이스 라벨 일본어 번역 추가 (
editor.array_item.*·editor.array_field.*·탭/메뉴/컬럼/액션/카드/차트 항목 라벨 등) — 탭 네비게이션·메뉴·표 컬럼 등 배열 prop 의 항목 단위 편집 라벨이 일본어 로케일에서 자연스럽게 표시됩니다. - 레이아웃 편집기 관리자 컴포넌트 속성 컨트롤·컴포넌트 라벨 일본어 번역 추가 (
editor.control.*·editor.component.*— 관리자 템플릿 컴포넌트 전수 속성 편집 충실화에 따른 신규 라벨) — 속성/동작 탭 컨트롤과 팔레트 컴포넌트명이 일본어 로케일에서 자연스럽게 표시됩니다. - 레이아웃 편집기 표 셀 배경색·내부 여백 카탈로그 및 표 셀(Td/Th) 컴포넌트 라벨 일본어 번역 추가 (
editor.cell_fill.*·editor.cell_padding.*·editor.component.{td,th}) — 셀 배경색 프리셋 색·내부 여백 단계 라벨과 표 셀 컴포넌트명이 일본어 로케일에서 자연스럽게 표시됩니다. - 레이아웃 편집기 데이터 정의 빌트인(차트 데이터/다중 배열/중첩 컬럼) 편집 라벨 일본어 번역 추가 (
editor.array_group.*·editor.col_type.*·editor.array_field.{chart_name,chart_value,chart_color,chart_series,chart_data,col_type,placeholder}·editor.array_item.{chart_slice,chart_dataset,card_column}) — 차트 데이터셋·도넛 데이터·동적 필드 컬럼 등 구조적 데이터 편집 라벨이 일본어 로케일에서 자연스럽게 표시됩니다. - 관리자 대시보드 및 템플릿 정보 모달의 신규 텍스트 일본어 번역 추가 (대시보드 배지·차트·외부 리소스 섹션 등).
- 공통 "목록" 버튼 라벨 일본어 번역 추가 (
一覧). - 레이아웃 편집 화면 트리 구조 및 확장 버전 히스토리·미리보기 모달의 신규 텍스트 일본어 번역 추가.
- 레이아웃 확장 항목의 오버라이드 표시 뱃지 텍스트 일본어 번역 추가.
- 템플릿 관리 화면의
[코드 편집]과[레이아웃 편집]2버튼 분리에 따른 신규 라벨 일본어 번역 추가. - 레이아웃 편집기 표(Table) 컴포넌트 라벨 일본어 번역 추가 (
editor.component.table) - 레이아웃 편집기 정렬 박스 on/off 라벨 일본어 번역 추가 (
editor.control.flex_enable.{on,off}) — 디바이스별 정렬 박스 적용/해제 2상태 선택 라벨이 일본어 로케일에서 자연스럽게 표시됩니다. - 레이아웃 편집기 색 컨트롤 프리셋 색 라벨 일본어 번역 추가 (
editor.control.color_preset.*) — 글자색·배경색 컨트롤의 프리셋 색(회색 단계·흰색·파랑·빨강·초록) 라벨이 일본어 로케일에서 자연스럽게 표시됩니다. - 레이아웃 편집기 신규 스타일 컨트롤 라벨 일본어 번역 추가 (
editor.control.{box_shadow,border_style,border_color,border_radius,opacity,overflow,font_bold,font_italic,text_underline,whitespace,toggle}.*+text_align.justify+color_preset.gray_300) — 그림자·테두리·모서리 둥글기·투명도·스크롤·굵게/기울임/밑줄·줄바꿈·양쪽 정렬 컨트롤 라벨이 일본어 로케일에서 자연스럽게 표시됩니다. - 레이아웃 편집기 페이지 상태 토글 라벨 일본어 번역 추가 (
editor.state.*) — 캔버스 툴바의 페이지 상태(로그인/검증 실패·서브탭·신규 작성 모드·페이지 상세 기본/첨부 펼침 등) 미리보기 라벨이 일본어 로케일에서 자연스럽게 표시됩니다. - 레이아웃 편집기 속성 탭 컨트롤 라벨 일본어 번역 추가 (
editor.control.{icon_name,img_src,img_alt,link_href,link_target,input_type,input_placeholder,input_name,input_required,input_disabled,field_label,field_error,field_helper,html_for,textarea_rows,elem_id,select_placeholder,select_options,component_size,button_variant,component_disabled}.*) — 아이콘·이미지·링크·입력 필드·선택지 등 비-스타일 속성 편집 컨트롤 라벨이 일본어 로케일에서 자연스럽게 표시됩니다. - 파일 업로더 이미지 개수 상한 초과 안내(
attachment.upload_limit_exceeded) 일본어 번역 추가 — 이미지 첨부가 상한을 초과하면 일본어 로케일에서 안내 문구가 자연스럽게 표시됩니다. - 회원 목록 일괄 작업 영역의 "상태 변경" 라벨(
users.bulk_status_change) 일본어 번역 추가 — 회원 목록 일괄 작업 바의 상태 변경 라벨이 일본어 로케일에서 자연스럽게 표시됩니다. - 레이아웃 편집기 신규 컴포넌트 속성 컨트롤·컴포넌트 라벨 일본어 번역 추가 (
editor.control.{as_*,af_*,tt_*,nc_*,cs_*,sh_*}+editor.component.section_header+layout_editor.*.section_header) — 관리자 사이드바·푸터·테마 토글·알림 센터·컬럼 선택기·섹션 헤더 컴포넌트의 속성 편집 컨트롤과 팔레트 컴포넌트명·섹션 헤더 기본 문구가 일본어 로케일에서 자연스럽게 표시됩니다.
Changed
- 본인인증 정책 편집 안내 문구(
declared_policy_notice)의 일본어 번역을 호스트 템플릿 변경에 맞춰 정정 — 편집 가능 범위가 "키·강제 시점·강제 위치만 변경 불가, 그 외 자유 편집"으로 갱신됨에 따라 일본어 안내도 동일하게 반영 - 관리자 대시보드 게시판 영역이 게시판 모듈로 이전됨에 따라 옛 게시판 라벨(상단 빠른 진입 버튼·통계 카드)을 정리하고, 다른 영역의 일본어 번역도 호스트 템플릿 기준으로 재동기화
Removed
- 템플릿 관리 화면의 위지윅 편집 버튼 라벨 번역 제거 (코어에서 MVP 위지윅 편집기 제거에 동기화).
- 대시보드에서 제거된 "시스템 리소스" 데이터 소스 라벨(
data_source.dashboard_resources·dashboard_resources_ws)의 일본어 번역을 정리했습니다.
[1.0.0-beta.2] - 2026-05-15
Added
- 코어 업데이트 안내 모달의 신규 텍스트 5건에 대한 일본어 번역 추가 (
sudo권장 안내 / 외부 업그레이드 가이드 링크 라벨 등).
[1.0.0-beta.1] - 2026-05-11
Added
- 기본 관리자 템플릿(sirsoft-admin_basic)의 일본어 번들 언어팩 초기 제공