feat: 브랜드 앱 아이콘 + Windows 데스크톱(Electron) 클라이언트
CI / build (push) Failing after 12m35s

- 앱 아이콘: 브랜드(초록 #00bc7e + 흰 막대 차트) 적응형 아이콘 생성(@capacitor/assets)
  · assets/ 에 SVG 소스 + 전 해상도 mipmap 재생성, 적응형 XML 인셋 제거(배경 풀블리드)
- 데스크톱: Electron 로 dist 를 감싼 Windows 설치파일(.exe)
  · vite electron 모드(상대 base)·라우터 해시 히스토리·App 게이트 Electron 감지
  · webSecurity:false 로 file:// CORS 우회, 백엔드는 https://app.sblog.kr/api
  · scripts: build:electron / electron:dev / electron:build(electron-builder NSIS)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ByungCheol
2026-06-07 16:20:55 +09:00
parent 095ba942eb
commit cb5cf1f0bf
42 changed files with 7474 additions and 19 deletions
+27
View File
@@ -3,10 +3,14 @@
"version": "1.0.0",
"private": true,
"type": "module",
"main": "electron/main.cjs",
"scripts": {
"dev": "vite",
"build": "vite build",
"build:app": "vite build --mode capacitor",
"build:electron": "vite build --mode electron",
"electron:dev": "npm run build:electron && electron .",
"electron:build": "npm run build:electron && electron-builder --win",
"test": "vitest run",
"test:watch": "vitest",
"cap:sync": "npm run build:app && cap sync",
@@ -16,6 +20,26 @@
"lint:oxlint": "oxlint . --fix",
"lint:eslint": "eslint . --fix --cache"
},
"build": {
"appId": "kr.sblog.slimbudget",
"productName": "Slim Budget",
"directories": {
"output": "release-desktop"
},
"files": [
"dist/**/*",
"electron/**/*"
],
"win": {
"target": "nsis",
"icon": "assets/icon-only.png"
},
"nsis": {
"oneClick": false,
"perMachine": false,
"allowToChangeInstallationDirectory": true
}
},
"dependencies": {
"@capacitor/android": "^8.3.4",
"@capacitor/app": "^8.1.0",
@@ -33,10 +57,13 @@
"vue-router": "^5.0.4"
},
"devDependencies": {
"@capacitor/assets": "^3.0.5",
"@eslint/js": "^10.0.1",
"@pinia/testing": "^1.0.3",
"@vitejs/plugin-vue": "^6.0.6",
"@vue/test-utils": "^2.4.11",
"electron": "^42.3.3",
"electron-builder": "^26.15.0",
"eslint": "^10.2.1",
"eslint-plugin-oxlint": "~1.60.0",
"eslint-plugin-vue": "~10.8.0",