{ "name": "subminer", "version": "0.1.0", "description": "All-in-one sentence mining overlay with AnkiConnect and dictionary integration", "packageManager": "bun@1.3.5", "main": "dist/main-entry.js", "scripts": { "get-frequency": "bun run scripts/get_frequency.ts --pretty --color-top-x 10000 --yomitan-user-data ~/.config/SubMiner --colorized-line", "get-frequency:electron": "bun build scripts/get_frequency.ts --format=cjs --target=node --outfile dist/scripts/get_frequency.js --external electron && electron dist/scripts/get_frequency.js --pretty --color-top-x 10000 --yomitan-user-data ~/.config/SubMiner --colorized-line", "test-yomitan-parser": "bun run scripts/test-yomitan-parser.ts", "test-yomitan-parser:electron": "bun build scripts/test-yomitan-parser.ts --format=cjs --target=node --outfile dist/scripts/test-yomitan-parser.js --external electron && electron dist/scripts/test-yomitan-parser.js", "build": "tsc && bun run build:renderer && cp src/renderer/index.html src/renderer/style.css dist/renderer/ && cp -r src/renderer/fonts dist/renderer/ && bash scripts/build-macos-helper.sh", "build:renderer": "esbuild src/renderer/renderer.ts --bundle --platform=browser --format=esm --target=es2022 --outfile=dist/renderer/renderer.js --sourcemap", "docs:dev": "VITE_EXTRA_EXTENSIONS=jsonc vitepress dev docs --host 0.0.0.0 --port 5173 --strictPort", "docs:build": "VITE_EXTRA_EXTENSIONS=jsonc vitepress build docs", "docs:preview": "VITE_EXTRA_EXTENSIONS=jsonc vitepress preview docs --host 0.0.0.0 --port 4173 --strictPort", "format": "prettier --write .", "format:check": "prettier --check .", "check:file-budgets": "bun run scripts/check-file-budgets.ts", "check:file-budgets:strict": "bun run scripts/check-file-budgets.ts --strict", "test:config:dist": "node --test dist/config/config.test.js dist/config/path-resolution.test.js", "test:core:dist": "node --test dist/cli/args.test.js dist/cli/help.test.js dist/core/services/cli-command.test.js dist/core/services/ipc.test.js dist/core/services/field-grouping-overlay.test.js dist/core/services/numeric-shortcut-session.test.js dist/core/services/secondary-subtitle.test.js dist/core/services/mpv-render-metrics.test.js dist/core/services/overlay-content-measurement.test.js dist/core/services/mpv-control.test.js dist/core/services/mpv.test.js dist/core/services/runtime-options-ipc.test.js dist/core/services/runtime-config.test.js dist/core/services/config-hot-reload.test.js dist/core/services/tokenizer.test.js dist/core/services/subsync.test.js dist/core/services/overlay-bridge.test.js dist/core/services/overlay-manager.test.js dist/core/services/overlay-shortcut-handler.test.js dist/core/services/mining.test.js dist/core/services/anki-jimaku.test.js dist/core/services/jellyfin.test.js dist/core/services/jellyfin-remote.test.js dist/core/services/immersion-tracker-service.test.js dist/core/services/app-ready.test.js dist/core/services/startup-bootstrap.test.js dist/core/services/subtitle-processing-controller.test.js dist/core/services/anilist/anilist-token-store.test.js dist/core/services/anilist/anilist-update-queue.test.js dist/renderer/error-recovery.test.js dist/subsync/utils.test.js dist/main/anilist-url-guard.test.js dist/window-trackers/x11-tracker.test.js", "test:subtitle:dist": "echo \"Subtitle tests are currently not configured\"", "test": "bun run test:config && bun run test:core", "test:config": "bun run build && bun run test:config:dist", "test:core": "bun run build && bun run test:core:dist", "test:subtitle": "bun run build && bun run test:subtitle:dist", "test:fast": "bun run test:config:dist && bun run test:core:dist", "generate:config-example": "bun run build && node dist/generate-config-example.js", "start": "bun run build && electron . --start", "dev": "bun run build && electron . --start --dev", "stop": "electron . --stop", "toggle": "electron . --toggle", "build:appimage": "bun run build && electron-builder --linux AppImage", "build:mac": "bun run build && electron-builder --mac dmg zip", "build:mac:unsigned": "bun run build && env -u APPLE_ID -u APPLE_APP_SPECIFIC_PASSWORD -u APPLE_TEAM_ID -u CSC_LINK -u CSC_KEY_PASSWORD CSC_IDENTITY_AUTO_DISCOVERY=false electron-builder --mac dmg zip", "build:mac:zip": "bun run build && electron-builder --mac zip" }, "keywords": [ "anki", "ankiconnect", "sentence-mining", "japanese", "subtitles", "overlay", "mpv", "yomitan" ], "author": "", "license": "GPL-3.0-or-later", "dependencies": { "@catppuccin/vitepress": "^0.1.2", "axios": "^1.13.5", "commander": "^14.0.3", "jsonc-parser": "^3.3.1", "mermaid": "^11.12.2", "ws": "^8.19.0" }, "devDependencies": { "@types/node": "^25.2.3", "@types/ws": "^8.18.1", "electron": "^37.10.3", "electron-builder": "^26.7.0", "esbuild": "^0.25.0", "prettier": "^3.6.2", "typescript": "^5.9.3", "vitepress": "^1.6.4" }, "build": { "appId": "com.sudacode.SubMiner", "productName": "SubMiner", "executableName": "SubMiner", "artifactName": "SubMiner-${version}.${ext}", "icon": "assets/SubMiner.png", "directories": { "output": "release" }, "linux": { "target": [ "AppImage" ], "category": "AudioVideo", "executableArgs": [ "--background" ] }, "mac": { "target": [ "dmg", "zip" ], "category": "public.app-category.video", "icon": "assets/SubMiner.png", "hardenedRuntime": true, "entitlements": "build/entitlements.mac.plist", "entitlementsInherit": "build/entitlements.mac.plist" }, "files": [ "dist/**/*", "vendor/texthooker-ui/docs/**/*", "vendor/texthooker-ui/package.json", "package.json", "scripts/get-mpv-window-macos.swift" ], "extraResources": [ { "from": "vendor/yomitan", "to": "yomitan" }, { "from": "vendor/yomitan-jlpt-vocab", "to": "yomitan-jlpt-vocab" }, { "from": "vendor/jiten_freq_global", "to": "jiten_freq_global" }, { "from": "assets", "to": "assets" }, { "from": "dist/scripts/get-mpv-window-macos", "to": "scripts/get-mpv-window-macos" } ] } }