Commit Graph

28 Commits

Author SHA1 Message Date
dependabot[bot]
ab2277d67b build(deps-dev): bump vite, electron-vite and vitest
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite), [electron-vite](https://github.com/alex8088/electron-vite) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest). These dependencies needed to be updated together.

Updates `vite` from 5.4.21 to 8.0.11
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v8.0.11/packages/vite)

Updates `electron-vite` from 2.3.0 to 5.0.0
- [Release notes](https://github.com/alex8088/electron-vite/releases)
- [Changelog](https://github.com/alex8088/electron-vite/blob/master/CHANGELOG.md)
- [Commits](https://github.com/alex8088/electron-vite/compare/v2.3.0...v5.0.0)

Updates `vitest` from 1.6.1 to 4.1.5
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.5/packages/vitest)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 8.0.11
  dependency-type: direct:development
- dependency-name: electron-vite
  dependency-version: 5.0.0
  dependency-type: direct:development
- dependency-name: vitest
  dependency-version: 4.1.5
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-09 12:17:17 +00: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
24390231bc macOS 관련 파일 무시 규칙 추가 및 파일 이름 정규화 기능 개선 2024-12-16 22:17:47 +09:00
d8c15b6653 .gitignore 파일 추가 및 파일 이름 정규화 기능 구현 2024-12-16 20:05:22 +09:00