mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-21 21:01:20 -08:00
test(ci): [CI-TYPES-01] validate installed Audio and HLS types
This commit is contained in:
1 parent
210484c443
commit
00c131bff1
16 files changed
+1246
-12
No files matched your search
@@ -0,0 +1,35 @@
|
||||
# Installed TypeScript consumers
|
||||
|
||||
`packages.ts` selects reviewed package fixtures from `test/types/`. It runs only
|
||||
for packages actually packed and installed by `package-check.mjs`. Adding a
|
||||
registry entry requires checking the complete fixture against its published type
|
||||
contract; do not replace historical namespace or overload checks with import-only
|
||||
smoke tests. Other packages retain their specialized `refactor/scripts/*package-types.mjs`
|
||||
checks until deliberately integrated.
|
||||
|
||||
`types.ts` owns the compiler matrix, strict compiler options, realpath isolation,
|
||||
and diagnostic accounting. TS 5.9.3 covers node10 CommonJS, NodeNext CommonJS and
|
||||
ESM, and bundler ESM; TS 4.3.5 covers node10 CommonJS. The single compiler adapter
|
||||
uses only the shared API and never sends newer resolution modes to TS 4.3.
|
||||
Both compilers are existing pinned development dependencies; no runtime dependency
|
||||
is introduced.
|
||||
|
||||
Fixtures must use package imports and put each `@ts-expect-error` immediately
|
||||
before its single-line invalid statement. First compile with directives; then
|
||||
neutralize directives without moving lines and require diagnostics at every
|
||||
invalid statement and nowhere else. Missing declarations and widened `any` must
|
||||
fail. Every parsed file must resolve inside the isolated installation or be a
|
||||
standard library file from the selected compiler's exact library directory.
|
||||
The temporary input is removed in `finally`; the caller owns installation cleanup.
|
||||
|
||||
Run `yarn test:package --browser` for the installed roster or
|
||||
`yarn test:package --include=artplayer-plugin-audio-track,artplayer-plugin-hls-control`
|
||||
for these two additions. `report.json` keeps `typeScope`/`runtimeScope` for the
|
||||
existing core/chapter checks and separately records `additionalTypeScope` and
|
||||
`pluginTypes` (compiler modes, installed declaration paths, negative lines/codes).
|
||||
This type proof does not imply installed runtime or browser acceptance.
|
||||
|
||||
Maintain the module with `yarn typecheck:docs-tools`, `yarn lint`, and
|
||||
`node --test test/installed-types.test.js` (also included in `yarn test:node`).
|
||||
The tests compile a real isolated package and reject a missing declaration,
|
||||
`any` widening, and a package link outside the consumer.
|
||||
Reference in new issue
Block a user