v027 plan Task 7. zustand store 의 showSettings 를 사용하는 첫 컴포넌트. 4 섹션 (AI 제공자/자동 실행/백업·복원/정보) placeholder 와 헤더 + 돌아가기 버튼만. 실 콘텐츠는 후속 Task 8-11 에서 채움. 테스트 인프라 동시 추가 (v027 의 첫 React 컴포넌트 테스트): - @testing-library/react + @testing-library/jest-dom + jsdom devDep 추가 - vitest.config: plugin-react 적용, include 에 .test.tsx 포함 - 환경 분리는 per-file `// @vitest-environment jsdom` directive 로 처리 (vitest 4.x 에서 environmentMatchGlobs 미지원 — 기존 .ts 단위 테스트는 node env 유지)
103 lines
3.2 KiB
JSON
103 lines
3.2 KiB
JSON
{
|
|
"name": "inkling",
|
|
"version": "0.2.6",
|
|
"private": true,
|
|
"description": "Inkling — local-first 한 줄 보관 도구",
|
|
"author": "altair823 <dlsrks0734@gmail.com>",
|
|
"main": "out/main/index.js",
|
|
"scripts": {
|
|
"dev": "electron-vite dev",
|
|
"build": "electron-vite build",
|
|
"start": "electron-vite preview",
|
|
"rebuild:node": "cd node_modules/better-sqlite3 && prebuild-install",
|
|
"rebuild:electron": "cd node_modules/better-sqlite3 && prebuild-install --runtime=electron --target=41.3.0",
|
|
"pretest": "npm run rebuild:node",
|
|
"pretest:integration": "npm run rebuild:node",
|
|
"pretest:e2e": "npm run rebuild:electron && npm run build",
|
|
"prestart": "npm run rebuild:electron",
|
|
"predev": "npm run rebuild:electron",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:integration": "INKLING_INTEGRATION=1 vitest run tests/integration",
|
|
"test:e2e": "playwright test",
|
|
"typecheck": "tsc --noEmit",
|
|
"predist": "npm run rebuild:electron && npm run build",
|
|
"dist": "electron-builder",
|
|
"predist:dir": "npm run rebuild:electron && npm run build",
|
|
"dist:dir": "electron-builder --dir",
|
|
"predist:win": "npm run rebuild:electron && npm run build",
|
|
"dist:win": "electron-builder --win --x64",
|
|
"predist:mac": "npm run rebuild:electron && npm run build",
|
|
"dist:mac": "electron-builder --mac --arm64",
|
|
"predist:linux": "npm run rebuild:electron && npm run build",
|
|
"dist:linux": "electron-builder --linux --x64"
|
|
},
|
|
"build": {
|
|
"appId": "xyz.altair823.inkling",
|
|
"productName": "Inkling",
|
|
"publish": null,
|
|
"files": [
|
|
"out/**/*",
|
|
"package.json"
|
|
],
|
|
"asarUnpack": [
|
|
"**/*.node"
|
|
],
|
|
"win": {
|
|
"target": [
|
|
{ "target": "nsis", "arch": ["x64"] }
|
|
]
|
|
},
|
|
"nsis": {
|
|
"oneClick": false,
|
|
"perMachine": false,
|
|
"allowToChangeInstallationDirectory": true,
|
|
"deleteAppDataOnUninstall": false,
|
|
"shortcutName": "Inkling"
|
|
},
|
|
"mac": {
|
|
"target": [
|
|
{ "target": "dmg", "arch": ["arm64"] }
|
|
],
|
|
"category": "public.app-category.productivity",
|
|
"identity": null
|
|
},
|
|
"linux": {
|
|
"target": [
|
|
{ "target": "AppImage", "arch": ["x64"] },
|
|
{ "target": "deb", "arch": ["x64"] }
|
|
],
|
|
"category": "Utility",
|
|
"synopsis": "로컬 메모 캡처 + AI 태그",
|
|
"description": "Inkling — 잠깐 스친 생각을 잡아두는 로컬-우선 메모 도구."
|
|
}
|
|
},
|
|
"dependencies": {
|
|
"better-sqlite3": "12.9.0",
|
|
"electron-log": "5.2.0",
|
|
"react": "19.2.5",
|
|
"react-dom": "19.2.5",
|
|
"uuid": "^14.0.0",
|
|
"zod": "4.3.6",
|
|
"zustand": "5.0.12"
|
|
},
|
|
"devDependencies": {
|
|
"@playwright/test": "1.59.1",
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@types/better-sqlite3": "7.6.11",
|
|
"@types/node": "24.0.0",
|
|
"@types/react": "19.0.0",
|
|
"@types/react-dom": "19.0.0",
|
|
"@vitejs/plugin-react": "5.1.4",
|
|
"electron": "41.3.0",
|
|
"electron-builder": "26.8.1",
|
|
"electron-vite": "5.0.0",
|
|
"jsdom": "^29.1.1",
|
|
"typescript": "6.0.3",
|
|
"undici": "8.1.0",
|
|
"vite": "7.3.2",
|
|
"vitest": "4.1.5"
|
|
}
|
|
}
|