Files
SubMiner/package.json

101 lines
4.5 KiB
JSON

{
"name": "subminer",
"version": "0.1.0",
"description": "All-in-one sentence mining overlay with AnkiConnect and dictionary integration",
"main": "dist/main.js",
"scripts": {
"build": "tsc && cp src/renderer/index.html src/renderer/style.css dist/renderer/",
"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": "vitepress dev docs --host 0.0.0.0 --port 5173 --strictPort",
"docs:build": "vitepress build docs",
"docs:preview": "vitepress preview docs --host 0.0.0.0 --port 4173 --strictPort",
"test:config": "pnpm run build && node --test dist/config/config.test.js",
"test:core": "pnpm run build && node --test dist/cli/args.test.js dist/cli/help.test.js dist/core/services/cli-command-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/mpv-runtime-service.test.js dist/core/services/runtime-options-runtime-service.test.js dist/core/services/overlay-modal-restore-service.test.js dist/core/services/runtime-config-service.test.js dist/core/services/overlay-bridge-runtime-service.test.js dist/core/services/overlay-visibility-facade-service.test.js dist/core/services/overlay-broadcast-runtime-service.test.js dist/core/services/app-ready-runtime-service.test.js dist/core/services/app-shutdown-runtime-service.test.js dist/core/services/mpv-client-deps-runtime-service.test.js dist/core/services/app-lifecycle-deps-runtime-service.test.js dist/core/services/runtime-options-manager-runtime-service.test.js dist/core/services/config-warning-runtime-service.test.js dist/core/services/app-logging-runtime-service.test.js dist/core/services/startup-resource-runtime-service.test.js dist/core/services/config-generation-runtime-service.test.js",
"test:subtitle": "pnpm run build && node --test dist/subtitle/stages.test.js dist/subtitle/pipeline.test.js",
"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": {
"axios": "^1.13.5",
"jsonc-parser": "^3.3.1",
"ws": "^8.19.0",
"@catppuccin/vitepress": "^0.1.2"
},
"devDependencies": {
"@types/node": "^25.2.2",
"@types/ws": "^8.18.1",
"electron": "^37.10.3",
"electron-builder": "^26.7.0",
"typescript": "^5.9.3",
"vitepress": "^1.6.3"
},
"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"
],
"extraResources": [
{
"from": "vendor/yomitan",
"to": "yomitan"
},
{
"from": "assets",
"to": "assets"
}
]
}
}