mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-04-09 16:19:25 -07:00
fix(ci): restore stats-server fallback and unblock coverage tests
This commit is contained in:
@@ -4,7 +4,16 @@ For internal architecture/workflow guidance, use `docs/README.md` at the repo ro
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- [Bun](https://bun.sh)
|
||||
- Required for all contributor workflows:
|
||||
- [Bun](https://bun.sh)
|
||||
- `git` with submodule support
|
||||
- Required by commands used on this page:
|
||||
- `bash` for helper scripts such as `make dev-watch`, `bun run format:check:src`, and `bash scripts/verify-generated-launcher.sh`
|
||||
- `unzip` on macOS/Linux for the bundled Yomitan build step inside `bun run build`
|
||||
- `lua` for plugin/environment test lanes such as `bun run test:env` and `bun run test:launcher`
|
||||
- Platform-specific / conditional:
|
||||
- `swiftc` on macOS is optional. If absent, the build falls back to staging the Swift helper source instead of compiling the helper binary.
|
||||
- Windows uses `powershell.exe` during the bundled Yomitan extraction step. A normal Windows install already provides it.
|
||||
|
||||
## Setup
|
||||
|
||||
@@ -21,6 +30,8 @@ bun install
|
||||
|
||||
`make deps` is still available as a convenience wrapper around the same dependency install flow.
|
||||
|
||||
If you only need the default TypeScript/unit lanes, Bun plus the checked-in dependencies is enough after install. The extra tools above are only needed when you run the commands that invoke them.
|
||||
|
||||
## Building
|
||||
|
||||
```bash
|
||||
@@ -40,6 +51,8 @@ make build-launcher
|
||||
|
||||
`bun run build` includes the Yomitan build step. It builds the bundled Chrome extension directly from the `vendor/subminer-yomitan` submodule into `build/yomitan` using Bun.
|
||||
|
||||
On macOS/Linux, that build also shells out to `unzip` while extracting the Yomitan artifact. On macOS, the asset staging step will compile the helper with `swiftc` when available, then fall back to copying the `.swift` source if not.
|
||||
|
||||
## Launcher Artifact Workflow
|
||||
|
||||
- Source of truth: `launcher/*.ts`
|
||||
@@ -94,6 +107,11 @@ bun run test:subtitle # maintained alass/ffsubsync subtitle surface
|
||||
- `bun run test:env` covers environment-sensitive checks: launcher smoke/plugin verification plus the Bun source SQLite lane.
|
||||
- `bun run test:immersion:sqlite` is the reproducible persistence lane when you need real DB-backed SQLite coverage under Bun.
|
||||
|
||||
Command-specific test deps:
|
||||
|
||||
- `bun run test:env` and `bun run test:launcher` invoke Lua-based plugin checks, so `lua` must be installed.
|
||||
- `bun run format:src` and `bun run format:check:src` invoke `bash scripts/prettier-scope.sh`.
|
||||
|
||||
The Bun-managed discovery lanes intentionally exclude a small compiled/runtime-focused set: `src/core/services/ipc.test.ts`, `src/core/services/anki-jimaku-ipc.test.ts`, `src/core/services/overlay-manager.test.ts`, `src/main/config-validation.test.ts`, `src/main/runtime/startup-config.test.ts`, and `src/main/runtime/registry.test.ts`. `bun run test:runtime:compat` keeps them in the standard workflow via `dist/**`.
|
||||
|
||||
Suggested local gate before handoff:
|
||||
|
||||
Reference in New Issue
Block a user