dependabot[bot]
2904a038cb
build(deps): Bump postcss from 8.5.14 to 8.5.23 ( #16 )
...
Bumps [postcss](https://github.com/postcss/postcss ) from 8.5.14 to 8.5.23.
- [Release notes](https://github.com/postcss/postcss/releases )
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/postcss/postcss/compare/8.5.14...8.5.23 )
---
updated-dependencies:
- dependency-name: postcss
dependency-version: 8.5.23
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-28 10:56:16 +09:00
dependabot[bot]
801eea7551
build(deps): Bump app-builder-lib and electron-builder ( #17 )
...
Bumps [app-builder-lib](https://github.com/electron-userland/electron-builder/tree/HEAD/packages/app-builder-lib ) to 26.15.3 and updates ancestor dependency [electron-builder](https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder ). These dependencies need to be updated together.
Updates `app-builder-lib` from 26.8.1 to 26.15.3
- [Release notes](https://github.com/electron-userland/electron-builder/releases )
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/packages/app-builder-lib/CHANGELOG.md )
- [Commits](https://github.com/electron-userland/electron-builder/commits/electron-builder@26.15.3/packages/app-builder-lib )
Updates `electron-builder` from 26.8.1 to 26.15.3
- [Release notes](https://github.com/electron-userland/electron-builder/releases )
- [Changelog](https://github.com/electron-userland/electron-builder/blob/master/packages/electron-builder/CHANGELOG.md )
- [Commits](https://github.com/electron-userland/electron-builder/commits/electron-builder@26.15.3/packages/electron-builder )
---
updated-dependencies:
- dependency-name: app-builder-lib
dependency-version: 26.15.3
dependency-type: indirect
- dependency-name: electron-builder
dependency-version: 26.15.3
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-28 10:55:48 +09:00
jung-geun
555de25b8c
Merge pull request #15 from jung-geun/dependabot/npm_and_yarn/tar-7.5.22
...
build(deps-dev): Bump tar from 7.5.16 to 7.5.22
2026-07-28 10:14:10 +09:00
jung-geun
aefa59eaa7
Merge pull request #14 from jung-geun/dependabot/npm_and_yarn/vite-6.4.3
...
build(deps-dev): Bump vite from 6.4.2 to 6.4.3
2026-07-28 10:14:07 +09:00
jung-geun
2dfa11c0e1
Merge pull request #13 from jung-geun/dependabot/npm_and_yarn/js-yaml-4.3.0
...
build(deps-dev): Bump js-yaml from 4.1.1 to 4.3.0
2026-07-28 10:14:04 +09:00
dependabot[bot]
8081a400b3
build(deps-dev): Bump tar from 7.5.16 to 7.5.22
...
Bumps [tar](https://github.com/isaacs/node-tar ) from 7.5.16 to 7.5.22.
- [Release notes](https://github.com/isaacs/node-tar/releases )
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md )
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.16...v7.5.22 )
---
updated-dependencies:
- dependency-name: tar
dependency-version: 7.5.22
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-26 22:55:16 +00:00
dependabot[bot]
593fee5e7f
build(deps-dev): Bump tmp from 0.2.5 to 0.2.7 ( #9 )
...
Bumps [tmp](https://github.com/raszi/node-tmp ) from 0.2.5 to 0.2.7.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md )
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.5...v0.2.7 )
---
updated-dependencies:
- dependency-name: tmp
dependency-version: 0.2.7
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-28 18:12:04 +09:00
dependabot[bot]
1a8e83b27b
build(deps-dev): Bump tar from 7.5.15 to 7.5.16 ( #11 )
...
Bumps [tar](https://github.com/isaacs/node-tar ) from 7.5.15 to 7.5.16.
- [Release notes](https://github.com/isaacs/node-tar/releases )
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md )
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.15...v7.5.16 )
---
updated-dependencies:
- dependency-name: tar
dependency-version: 7.5.16
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-28 18:08:35 +09:00
dependabot[bot]
16aa4a4c4b
build(deps-dev): Bump form-data from 4.0.5 to 4.0.6 ( #10 )
...
Bumps [form-data](https://github.com/form-data/form-data ) from 4.0.5 to 4.0.6.
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md )
- [Commits](https://github.com/form-data/form-data/compare/v4.0.5...v4.0.6 )
---
updated-dependencies:
- dependency-name: form-data
dependency-version: 4.0.6
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-28 18:06:32 +09:00
dependabot[bot]
6474398c45
build(deps-dev): Bump vite from 6.4.2 to 6.4.3
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 6.4.2 to 6.4.3.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.3/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v6.4.3/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 6.4.3
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-28 09:05:18 +00:00
dependabot[bot]
3d436181bf
build(deps-dev): Bump js-yaml from 4.1.1 to 4.3.0
...
Bumps [js-yaml](https://github.com/nodeca/js-yaml ) from 4.1.1 to 4.3.0.
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.0/CHANGELOG.md )
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.1...4.3.0 )
---
updated-dependencies:
- dependency-name: js-yaml
dependency-version: 4.3.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-28 09:05:16 +00:00
dependabot[bot]
02f072841e
build(deps-dev): Bump undici from 6.25.0 to 6.27.0 ( #12 )
...
Bumps [undici](https://github.com/nodejs/undici ) from 6.25.0 to 6.27.0.
- [Release notes](https://github.com/nodejs/undici/releases )
- [Commits](https://github.com/nodejs/undici/compare/v6.25.0...v6.27.0 )
---
updated-dependencies:
- dependency-name: undici
dependency-version: 6.27.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-28 18:04:17 +09:00
aa1b61cfb3
chore: 2.0.3 버전 범프
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
v2.0.3
2026-05-20 22:14:57 +09:00
7209486a71
fix(watcher): 한글 NFD 파일 압축 해제 시 동일 파일 반복 변환 race condition 수정
...
- inFlight Set으로 handlePath 진입 즉시 경로를 잠가 burst add 이벤트가
몰려올 때 첫 번째 처리가 끝나기 전 두 번째 호출을 즉시 차단
- recentlyRenamed 키를 NFC 정규화로 통일하고 oldPath/newPath 양쪽 등록
(chokidar가 NFD·NFC 변형 중 어느 쪽으로 이벤트를 보내도 TTL 가드 적용)
- chokidar awaitWriteFinish(stabilityThreshold 300ms) 추가로 압축 해제
중 부분 쓰기 단계의 add 폭주를 상류에서 차단
- race condition 회귀 방지를 위한 watcher 단위 테스트 3개 추가
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-20 22:06:46 +09:00
7889f8eb96
chore: 2.0.2 버전 범프
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
v2.0.2
2026-05-13 14:30:30 +09:00
8db9e64302
chore(deps): vite 5→6, electron-vite 2→3, vitest 1→4 업그레이드 — 나머지 보안 취약점 해결
...
Vite path traversal(CVE) 및 esbuild dev-server SSRF 취약점을 Vite 6.4.2,
esbuild 0.25 업그레이드로 해결한다. @vitejs/plugin-react 5.x, vitest 4.x 동반 업그레이드.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-13 11:41:00 +09:00
2d7d586be7
chore(deps): electron 35 → 39 업그레이드 — Dependabot 보안 취약점 17개 해결
...
use-after-free, AppleScript injection, IPC spoofing 등 high/medium/low
Electron 취약점을 모두 39.8.x 패치 버전으로 해결한다.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-13 11:22:40 +09:00
17a7a617fd
fix(web): custom domain 대응 — base '/' 변경 및 CNAME 추가
...
Vite base를 '/NFD2NFC/'에서 '/'로 변경하고 web/public/CNAME을 추가해
nfd2nfc.pieroot.xyz에서 자산 404 및 배포 후 custom domain 초기화 문제를 수정한다.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-12 18:49:48 +09:00
6f44af3e4f
fix(web): 드롭존 label에 display:block 추가 — 테두리 잘림 수정
...
label 요소는 기본 display:inline이라 content 너비만큼만 테두리가 그려짐.
display:block + width:100% 로 full-width 드롭존으로 수정.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-11 15:38:24 +09:00
51f99856cf
fix(ci): configure-pages enablement: true 추가 — Pages 미활성화 시 자동 활성화
...
첫 배포 시 'Get Pages site failed. Not Found' 오류 수정.
actions/configure-pages@v5 의 enablement: true 옵션으로 repo Pages 설정이
없을 때 자동으로 GitHub Actions source 로 활성화.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-11 15:17:03 +09:00
e967a0fbdb
feat(web): GitHub Pages 기반 NFD→NFC 파일명 변환 웹앱 추가
...
설치 없이 브라우저에서 한글 파일명을 NFC 로 정규화할 수 있는 웹 도구.
파일/폴더 드롭 → 모든 path segment 를 독립적으로 NFC 변환 → fflate 스트리밍
ZIP 다운로드. UTF-8 flag(bit 11) 자동 설정으로 Windows Explorer 에서 정상 표시.
기존 src/core/filter.ts 의 shouldNormalize 를 그대로 재사용. 빌드는 web/
디렉토리의 별도 Vite 설정으로 격리되어 Electron 빌드에 영향 없음.
main 브랜치 push 시 .github/workflows/pages.yml 이
https://jung-geun.github.io/NFD2NFC/ 로 자동 배포.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-11 15:11:41 +09:00
aa772f7f97
Refactor code structure for improved readability and maintainability
2026-05-11 14:18:14 +09:00
8f2af73ed4
fix(ci): release 워크플로에 contents: write 권한 추가
...
DMG asset 업로드 시 softprops/action-gh-release가
"Resource not accessible by integration" 오류로 실패. 기본 GITHUB_TOKEN에
release 수정 권한이 없어 발생.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
v2.0.1
2026-05-11 14:04:47 +09:00
a469c666fe
fix(build): electron-builder publish 비활성화 및 explicit 플래그 적용
...
- package.json: "publish": "never" → null (이전 값은 "never" 이름의
publisher provider를 찾으려 해 v2.0.0/v2.0.1 release 빌드가 실패함)
- release.yml: electron-builder에 --publish never 플래그를 명시적으로
전달해 git tag 기반 implicit publishing(v27에서 제거 예정) 경고 제거
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-11 14:02:02 +09:00
4cbc044d15
perf(watcher): chokidar awaitWriteFinish 제거로 idle CPU 절감
...
100ms 주기 stat 폴링이 누적 CPU를 점유했음. 파일 이름만 다루는
정규화 도구이므로 안정화 대기가 불필요하며, recentlyRenamed TTL
맵이 이미 중복 이벤트를 막아준다.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-11 13:48:28 +09:00
2e3a9d1402
ci: release.yml 동작 수정 및 package.json publish never 설정
...
release.yml:
- setup-node cache: 'npm' 추가로 설치 속도 향상
- CSC_IDENTITY_AUTO_DISCOVERY=false: code signing 없이 DMG 빌드 가능
- List dist 단계 추가 (디버깅용)
- softprops/action-gh-release token 명시, files 멀티라인 형식
package.json:
- build.publish: "never" 추가 (electron-builder 자체 auto-publish 방지)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
v2.0.0
2026-05-09 16:05:13 +09:00
343fe004fe
build: build:app을 독립 앱 빌드 타겟으로 분리
...
build:app: electron-vite build + electron-builder → 단독으로 .app/DMG 생성 가능.
build: build:cli + build:lib + build:app 순서로 재구성 (electron-builder 중복 제거).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-09 15:58:38 +09:00
952e74de2f
fix: npm tarball 빌드 경로 및 포함 파일 정정
...
tsconfig.cli.json + tsconfig.lib.json outDir을 out/cli→out, out/lib→out으로 변경.
bin out/cli/index.js, main out/lib/index.js 경로와 일치시킴.
files에서 resources/** 제거 (아이콘 파일 npm 사용자 불필요).
files에 out/core/** 추가, !out/core/__tests__/**로 테스트 파일 제외.
tarball 크기 1.8MB → 8.4KB.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-09 15:55:36 +09:00
6fe306e7b1
fix: typecheck/lint 오류 수정
...
tsconfig.json: module ESNext로 변경, renderer 제외.
.eslintrc.cjs: varsIgnorePattern '^_' 추가.
store.ts: notificationIntervalSecs 기본값(30) 추가.
src/lib/index.ts: FilterOptions/ScanEntry를 올바른 소스 파일에서 import.
scanner.ts: 미사용 fs import 제거.
ipc.ts: 미사용 nanoid import 제거.
cli/index.ts: 미사용 argv 변수 void 처리, showHelp() → 메시지 출력으로 대체.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-09 15:50:25 +09:00
05ba9f3034
docs: README v2.0.0 재작성 + Makefile 신규 경로 반영
...
README: Breaking Change 안내, 트레이 팝오버/설정창/Auto-Manual/Undo 기능 설명,
새 CLI 명령(file/dir/디폴트), v2 라이브러리 API 추가.
Makefile: dist/mac-arm64/NFD2NFC.app 경로, clean 타겟 추가.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-09 15:45:07 +09:00
4b89a498f9
ci: release.yml 재작성 + publish.yml 추가
...
release.yml: Node 매트릭스 제거, Node 20.x 단일, actions v3→v4 업그레이드.
deprecated upload-release-asset@v1 → softprops/action-gh-release@v2.
단일 패키지 npm ci && npm run build 로 통합.
publish.yml: workflow_dispatch 수동 트리거 npm publish 추가.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-09 15:44:13 +09:00
2d3167cffe
레거시 디렉토리/스크립트 제거 (MACOS-APP, nfd2nfc, run.sh, run.bat)
...
단일 패키지 구조로 통합. MACOS-APP/(vanilla Electron 1.0), nfd2nfc/(CLI+lib v1),
OS-detecting launcher 스크립트(run.sh/run.bat) 제거.
아이콘 자산은 커밋 8에서 resources/로 이전 완료.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-09 15:43:39 +09:00
46adced6c5
resources: 아이콘 자산을 electron-builder 표준 경로로 이전
...
MACOS-APP/build/icons/Macicon.icns → resources/icon.icns
MACOS-APP/build/icons/Macicon.iconset/ → resources/icon.iconset/
electron-builder buildResources: resources 설정과 일치.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-09 15:43:30 +09:00
1441a5c0b4
package.json: 단일 패키지 통합 (정체성 보존, dual main via extraMetadata)
...
name=@pieroot/nfd2nfc, appId=com.pieroot.nfd2nfc, productName=NFD2NFC 유지.
package.json main=out/lib/index.js (npm 라이브러리 진입점).
electron-builder extraMetadata.main=out/main/index.js (.app asar만 override).
react/react-dom는 devDependencies로 이동 (Vite renderer 번들에 포함).
files 필드로 npm tarball을 out/cli, out/lib, resources만으로 제한.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-09 15:42:51 +09:00
a24367c815
src/lib: 라이브러리 진입점 + 1.0.0 호환 shim
...
normalizeToNFC/normalizeToNFD — v1 require('@pieroot/nfd2nfc') 호환 유지.
신규 API: normalizeEntry, scan, shouldNormalize + 타입 export.
tsconfig.lib.json: declaration: true, out/lib/에 .d.ts 생성.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-09 15:42:10 +09:00
6601c40bb4
src/cli: yargs 기반 CLI (file/dir 서브커맨드 + 디폴트 path)
...
file/dir 서브커맨드 외에 \$0 <path> 디폴트 커맨드 추가.
stat으로 파일/디렉토리 자동 감지 → 기존 v1 스타일 nfd2nfc <path> 형태 지원.
--recursive(-r), --dry-run(-n) 옵션.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-09 15:41:53 +09:00
08f1de7ea0
src/preload + src/renderer: contextBridge + React 19 popover/settings
...
preload/index.ts: window.api 노출 (dirs/watcher/undo/settings/events/app).
renderer/popover: 트레이 팝오버 (300×400, frameless, alwaysOnTop, blur시 자동 닫힘).
renderer/settings: 설정창 (720×560, 3탭: 디렉토리/Undo기록/일반).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-09 15:41:18 +09:00
3dff470044
src/main: 트레이/감시자/저장소/IPC/알림 배치 (Electron 메인)
...
tray.ts: 트레이 아이콘, 팝오버 BrowserWindow 토글, 컨텍스트 메뉴.
watcher.ts: chokidar 감시, dedup TTL 2s, auto/manual 모드, 글로벌 일시정지.
store.ts: userData/store.json 영속화 (watchedDirs/settings/undoLog).
ipc.ts: 18개 IPC 채널 핸들러.
notifier.ts: interval 기반 알림 배치 처리 (알림 폭주 방지).
settings-window.ts: 설정창 BrowserWindow 라이프사이클.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-09 15:41:08 +09:00
4e92bb2690
src/core: 플랫폼 독립 정규화 로직 + Vitest 테스트
...
filter.ts: 한글 자모 코드포인트 정확 필터 (U+1100-11FF, U+A960-A97F, U+D7B0-D7FF).
normalizer.ts: APFS normalization-insensitive 정확 처리 (inode 비교).
scanner.ts: 재귀 스캔 결과 깊이 역순 정렬 (자식 먼저 rename).
types.ts: WatchedDir, RenameResult, ActivityEvent, AppSchema 등 공유 타입.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-09 15:40:53 +09:00
8e67d25b3b
v2 스캐폴드 추가 (tsconfig 4종, eslint, prettier, vitest)
...
TypeScript strict + electron-vite + Vitest 환경을 위한 설정 파일 추가.
tsconfig 4종: 베이스/cli/node(main+preload)/web(renderer) 역할 분담.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-09 15:39:01 +09:00
08b5538e49
GitHub Actions 워크플로우 업데이트: 빌드 프로세스 제거 및 릴리스 워크플로우 추가, package.json의 진입점 수정
v1.0.0
2024-12-18 03:43:47 +09:00
2bd1c05af3
preload.js 및 normalize_ko.js 파일 삭제, normalize.js 기능 개선 및 README 문서 업데이트
2024-12-18 02:51:41 +09:00
94059a0947
파일 이름 변환기 기능 추가: README 문서 작성 및 CLI 도구와 백그라운드 프로세스 구현
2024-12-18 02:35:22 +09:00
jung-geun
3f849808ac
Create LICENSE
2024-12-17 03:03:30 +09:00
7afcf19178
README.md 추가 및 CLI 도구에 대한 사용법 설명: 파일 이름 변환기 기능 구현, 디렉토리 목록 가져오기 기능 추가
2024-12-17 02:57:18 +09:00
2794eb1c45
디렉토리 목록 업데이트 기능 추가: UI 개선 및 로그 메시지 현지화
2024-12-17 01:13:35 +09:00
40c2ecdd18
sqlite3 종속성 추가 및 UI 텍스트 영어로 변경
2024-12-16 23:40:30 +09:00
d5544dbc87
디렉토리 선택 및 제거 기능 추가: 선택된 디렉토리 목록 표시, 로그 기능 구현
2024-12-16 23:28:06 +09:00
776e2c9d82
Electron 애플리케이션 초기 설정: 메인 프로세스 및 프리로드 스크립트 추가, HTML 인터페이스 구현, 디렉토리 선택 및 감시 기능 추가
2024-12-16 23:08:23 +09:00
ea410d66f8
패키지 이름 변경 및 종속성 추가: nfd-to-nfc-converter에서 nfd2nfc로 변경, chokidar 및 readdirp 추가
2024-12-16 22:33:03 +09:00