Files
SubMiner/package.json

111 lines
4.9 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 && tsc -p tsconfig.renderer.json && cp src/renderer/index.html src/renderer/style.css dist/renderer/ && bash scripts/build-macos-helper.sh",
"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.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",
"scripts/get-mpv-window-macos.swift"
],
"extraResources": [
{
"from": "vendor/yomitan",
"to": "yomitan"
},
{
"from": "assets",
"to": "assets"
},
{
"from": "dist/scripts/get-mpv-window-macos",
"to": "scripts/get-mpv-window-macos"
}
]
}
}