Files
NFD2NFC/package.json
jung-geun 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

117 lines
3.0 KiB
JSON

{
"name": "@pieroot/nfd2nfc",
"version": "2.0.1",
"description": "macOS 한글 파일명 NFD→NFC 실시간 변환 트레이 앱 + CLI + 라이브러리",
"main": "out/lib/index.js",
"types": "out/lib/index.d.ts",
"exports": {
".": {
"types": "./out/lib/index.d.ts",
"default": "./out/lib/index.js"
}
},
"bin": {
"nfd2nfc": "out/cli/index.js"
},
"files": [
"out/cli/**",
"out/lib/**",
"out/core/**",
"!out/core/__tests__/**",
"README.md",
"LICENSE"
],
"scripts": {
"dev": "electron-vite dev",
"build:app": "electron-vite build && electron-builder",
"build:cli": "tsc --project tsconfig.cli.json",
"build:lib": "tsc --project tsconfig.lib.json",
"build": "npm run build:cli && npm run build:lib && npm run build:app",
"prepublishOnly": "npm run build:cli && npm run build:lib && chmod +x out/cli/index.js",
"preview": "electron-vite preview",
"web:dev": "vite --config web/vite.config.ts",
"web:build": "vite build --config web/vite.config.ts",
"web:preview": "vite preview --config web/vite.config.ts",
"test": "vitest run",
"test:watch": "vitest",
"lint": "eslint src --ext .ts,.tsx",
"typecheck": "tsc --noEmit && tsc --noEmit --project tsconfig.cli.json && tsc --noEmit --project tsconfig.lib.json"
},
"dependencies": {
"chokidar": "^3.6.0",
"fflate": "^0.8.2",
"yargs": "^17.7.2"
},
"devDependencies": {
"@types/node": "^20.14.0",
"@types/react": "^19",
"@types/react-dom": "^19",
"@types/yargs": "^17.0.32",
"@typescript-eslint/eslint-plugin": "^7.7.0",
"@typescript-eslint/parser": "^7.7.0",
"@vitejs/plugin-react": "^4.3.4",
"electron": "^35.1.5",
"electron-builder": "^26.0.12",
"electron-vite": "^2.3.0",
"eslint": "^8.57.0",
"prettier": "^3.2.5",
"react": "^19.2.6",
"react-dom": "^19.2.6",
"typescript": "^5.4.0",
"vite": "^5.2.0",
"vitest": "^1.6.1"
},
"author": "jung-geun <pieroot.02@gmail.com>",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/jung-geun/NFD2NFC.git"
},
"bugs": {
"url": "https://github.com/jung-geun/NFD2NFC/issues"
},
"homepage": "https://github.com/jung-geun/NFD2NFC#readme",
"keywords": [
"NFD",
"NFC",
"Unicode",
"Normalization",
"macOS",
"korean",
"electron",
"tray"
],
"build": {
"appId": "com.pieroot.nfd2nfc",
"productName": "NFD2NFC",
"extraMetadata": {
"main": "out/main/index.js"
},
"files": [
"out/main/**",
"out/preload/**",
"out/renderer/**",
"resources/**",
"package.json"
],
"mac": {
"category": "public.app-category.utilities",
"icon": "resources/icon.icns",
"target": [
{
"target": "dmg",
"arch": [
"arm64",
"x64"
]
}
]
},
"directories": {
"buildResources": "resources",
"output": "dist"
},
"publish": null
}
}