3 Commits

Author SHA1 Message Date
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>
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
4 changed files with 1292 additions and 1275 deletions

View File

@@ -4,6 +4,9 @@ on:
release: release:
types: [published] types: [published]
permissions:
contents: write
jobs: jobs:
build-and-release: build-and-release:
runs-on: macos-latest runs-on: macos-latest
@@ -21,7 +24,7 @@ jobs:
run: npm ci run: npm ci
- name: Build - name: Build
run: npm run build run: npm run build:cli && npm run build:lib && npm run build:app -- --publish never
env: env:
CSC_IDENTITY_AUTO_DISCOVERY: "false" CSC_IDENTITY_AUTO_DISCOVERY: "false"

2551
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{ {
"name": "@pieroot/nfd2nfc", "name": "@pieroot/nfd2nfc",
"version": "2.0.0", "version": "2.0.1",
"description": "macOS 한글 파일명 NFD→NFC 실시간 변환 트레이 앱 + CLI + 라이브러리", "description": "macOS 한글 파일명 NFD→NFC 실시간 변환 트레이 앱 + CLI + 라이브러리",
"main": "out/lib/index.js", "main": "out/lib/index.js",
"types": "out/lib/index.d.ts", "types": "out/lib/index.d.ts",
@@ -48,14 +48,14 @@
"@vitejs/plugin-react": "^4.3.4", "@vitejs/plugin-react": "^4.3.4",
"electron": "^35.1.5", "electron": "^35.1.5",
"electron-builder": "^26.0.12", "electron-builder": "^26.0.12",
"electron-vite": "^5.0.0", "electron-vite": "^2.3.0",
"eslint": "^8.57.0", "eslint": "^8.57.0",
"prettier": "^3.2.5", "prettier": "^3.2.5",
"react": "^19.2.6", "react": "^19.2.6",
"react-dom": "^19.2.6", "react-dom": "^19.2.6",
"typescript": "^5.4.0", "typescript": "^5.4.0",
"vite": "^8.0.11", "vite": "^5.2.0",
"vitest": "^4.1.5" "vitest": "^1.6.1"
}, },
"author": "jung-geun <pieroot.02@gmail.com>", "author": "jung-geun <pieroot.02@gmail.com>",
"license": "MIT", "license": "MIT",
@@ -104,6 +104,6 @@
"buildResources": "resources", "buildResources": "resources",
"output": "dist" "output": "dist"
}, },
"publish": "never" "publish": null
} }
} }

View File

@@ -50,7 +50,6 @@ export async function startDir(dir: WatchedDir): Promise<void> {
ignoreInitial: false, ignoreInitial: false,
persistent: true, persistent: true,
depth: dir.recursive ? undefined : 0, depth: dir.recursive ? undefined : 0,
awaitWriteFinish: { stabilityThreshold: 500, pollInterval: 100 },
ignored: /(^|[/\\])\../, ignored: /(^|[/\\])\../,
}); });