{ "name": "subminer", "version": "0.1.0", "description": "All-in-one sentence mining overlay with AnkiConnect and dictionary integration", "main": "dist/main.js", "scripts": { "get-frequency": "bun run scripts/get_frequency.ts", "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", "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 && pnpm run build:renderer && cp src/renderer/index.html src/renderer/style.css 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", "check:main-lines": "bash scripts/check-main-lines.sh", "check:main-lines:baseline": "bash scripts/check-main-lines.sh 5300", "check:main-lines:gate1": "bash scripts/check-main-lines.sh 4500", "check:main-lines:gate2": "bash scripts/check-main-lines.sh 3500", "check:main-lines:gate3": "bash scripts/check-main-lines.sh 2500", "check:main-lines:gate4": "bash scripts/check-main-lines.sh 1800", "check:main-lines:gate5": "bash scripts/check-main-lines.sh 1500", "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", "test:config:dist": "node --test dist/config/config.test.js", "test:core:dist": "node --test dist/cli/args.test.js dist/cli/help.test.js dist/core/services/cli-command-service.test.js dist/core/services/field-grouping-overlay-service.test.js dist/core/services/numeric-shortcut-session-service.test.js dist/core/services/secondary-subtitle-service.test.js dist/core/services/mpv-render-metrics-service.test.js dist/core/services/overlay-content-measurement-service.test.js dist/core/services/mpv-control-service.test.js dist/core/services/mpv-service.test.js dist/core/services/runtime-options-ipc-service.test.js dist/core/services/runtime-config-service.test.js dist/core/services/tokenizer-service.test.js dist/core/services/subsync-service.test.js dist/core/services/overlay-bridge-service.test.js dist/core/services/overlay-manager-service.test.js dist/core/services/overlay-shortcut-handler.test.js dist/core/services/mining-service.test.js dist/core/services/anki-jimaku-service.test.js dist/core/services/app-ready-service.test.js dist/core/services/startup-bootstrap-service.test.js dist/subsync/utils.test.js", "test:subtitle:dist": "echo \"Subtitle tests are currently not configured\"", "test:config": "pnpm run build && pnpm run test:config:dist", "test:core": "pnpm run build && pnpm run test:core:dist", "test:subtitle": "pnpm run build && pnpm run test:subtitle:dist", "test:fast": "pnpm run test:config:dist && pnpm run test:core:dist", "generate:config-example": "pnpm run build && node dist/generate-config-example.js", "start": "pnpm run build && electron . --start", "dev": "pnpm run build && electron . --start --dev", "stop": "electron . --stop", "toggle": "electron . --toggle", "build:appimage": "pnpm run build && electron-builder --linux AppImage", "build:mac": "pnpm run build && electron-builder --mac dmg zip", "build:mac:unsigned": "pnpm 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": "pnpm 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", "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", "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" }, "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" } ] } }