mirror of
https://github.com/zoriya/v10.git
synced 2026-08-08 23:27:58 +00:00
1.4 KiB
1.4 KiB
@videojs/spf source guide
Treat source and colocated tests as implementation truth. Use internal/design/spf only for durable rationale and conventions.
Layers
- core: framework-neutral composition, signals, tasks, actors, and reactors. It must not depend on media, network, or playback.
- media: media models, algorithms, and format parsing; browser media helpers live under media/dom.
- network: fetch and bandwidth primitives.
- playback: playback actors, behaviors, and engines; browser-bound playback code lives in nested dom directories.
- index.ts and dom.ts are the primary entry points. Package exports also expose HLS and background-video compositions.
Place code in the lowest layer that satisfies its dependencies. Keep browser APIs out of core and review public entry-point changes deliberately.
Working rules
- Read only the relevant file under internal/design/spf/conventions.
- Follow nearby ownership, lifecycle, cleanup, and test patterns.
- Add public exports intentionally and check their bundle impact when relevant.
- Prefer clear expressions over mutable intermediate state when both remain readable.
Verification
Use the narrowest relevant test while iterating, then run as appropriate:
pnpm -F @videojs/spf test
pnpm -F @videojs/spf build
pnpm -F @videojs/spf size
Load one specialized SPF skill only when the requested workflow needs it.