mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
Standardize core service module and export names to reduce naming ambiguity and make imports predictable across runtime, tests, scripts, and docs.
119 lines
5.3 KiB
JSON
119 lines
5.3 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": {
|
|
"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",
|
|
"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.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/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/immersion-tracker-service.test.js dist/core/services/app-ready.test.js dist/core/services/startup-bootstrap.test.js dist/subsync/utils.test.js dist/main/anilist-url-guard.test.js",
|
|
"test:subtitle:dist": "echo \"Subtitle tests are currently not configured\"",
|
|
"test": "pnpm run test:config && pnpm run test:core",
|
|
"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"
|
|
}
|
|
]
|
|
}
|
|
}
|