App source (main/preload/worker/renderer) -> ESM; app is now type: module; __dirname via import.meta.url; worker spawned with type module. Preload is built as CJS (electron-vite output format) because the sandboxed renderer does not support ESM preload; main loads ../preload/index.js. Removed dead imports (nativeImage, readline) and the obsolete scripts/dev.js. Tests: 4 app tests require->import; app-main-settings rewritten with node:test mock.module + dynamic import (replacing CJS Module._load mocking); test script adds --experimental-test-module-mocks. electron-vite build clean, 119/119, and npm run dev verified: app launches, preload bridges IPC, data loads.
73 lines
1.8 KiB
JSON
73 lines
1.8 KiB
JSON
{
|
|
"name": "obelisk",
|
|
"version": "0.1.0",
|
|
"description": "Memory management for Obelisk — let Claude Code search its own memory",
|
|
"main": "out/main/index.js",
|
|
"scripts": {
|
|
"start": "electron-vite preview",
|
|
"dev": "electron-vite dev",
|
|
"build": "electron-vite build && electron-builder",
|
|
"pack": "electron-vite build && electron-builder --dir",
|
|
"dist": "electron-vite build && electron-builder --mac --win --linux",
|
|
"dist:mac": "electron-vite build && electron-builder --mac",
|
|
"dist:win": "electron-vite build && electron-builder --win",
|
|
"dist:linux": "electron-vite build && electron-builder --linux"
|
|
},
|
|
"build": {
|
|
"appId": "com.obelisk.app",
|
|
"productName": "Obelisk",
|
|
"artifactName": "${productName}-${version}-${os}-${arch}.${ext}",
|
|
"directories": {
|
|
"output": "release"
|
|
},
|
|
"mac": {
|
|
"icon": "build/icon.icns",
|
|
"target": [
|
|
"dmg",
|
|
"zip"
|
|
],
|
|
"category": "public.app-category.developer-tools"
|
|
},
|
|
"win": {
|
|
"target": [
|
|
"nsis",
|
|
"portable"
|
|
]
|
|
},
|
|
"linux": {
|
|
"icon": "build/icon.png",
|
|
"target": [
|
|
"AppImage",
|
|
"deb"
|
|
],
|
|
"category": "Development"
|
|
},
|
|
"files": [
|
|
"out/**"
|
|
],
|
|
"asarUnpack": [
|
|
"node_modules/better-sqlite3/**/*"
|
|
],
|
|
"extraResources": [
|
|
{
|
|
"from": "../scripts/schema.sql",
|
|
"to": "scripts/schema.sql"
|
|
}
|
|
]
|
|
},
|
|
"dependencies": {
|
|
"better-sqlite3": "^11.0.0",
|
|
"chokidar": "^4.0.3"
|
|
},
|
|
"devDependencies": {
|
|
"@vitejs/plugin-vue": "^5.0.0",
|
|
"electron": "^33.0.0",
|
|
"electron-builder": "^25.0.0",
|
|
"electron-vite": "^5.0.0",
|
|
"vite": "^6.0.0",
|
|
"vue": "^3.4.0",
|
|
"vue-router": "^4.3.0"
|
|
},
|
|
"type": "module"
|
|
}
|