mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-08 10:56:15 -08:00
fix(types): PKG-CHAPTER-04 preserve CJS ESM and legacy consumer contracts
This commit is contained in:
1 parent
48660c4e12
commit
bab80ff886
41 files changed
+1087
-119
No files matched your search
@@ -71,6 +71,7 @@
|
||||
'./assets/ts/artplayer-proxy-mediabunny.d.ts',
|
||||
'./assets/ts/artplayer-tool-iframe.d.ts',
|
||||
'./assets/ts/artplayer.d.ts',
|
||||
'./assets/ts/artplayer-i18n.d.ts',
|
||||
]
|
||||
|
||||
for (let index = 0; index < libUris.length; index++) {
|
||||
|
||||
Vendored
+4
@@ -0,0 +1,4 @@
|
||||
declare module 'artplayer/i18n/*' {
|
||||
const language: NonNullable<Artplayer.I18n['en']>
|
||||
export default language
|
||||
}
|
||||
+3
-3
@@ -1,14 +1,14 @@
|
||||
type Chapters = {
|
||||
export type Chapters = {
|
||||
start: number
|
||||
end: number
|
||||
title: string
|
||||
}[]
|
||||
|
||||
interface Option {
|
||||
export interface Option {
|
||||
chapters?: Chapters
|
||||
}
|
||||
|
||||
interface Result {
|
||||
export interface Result {
|
||||
name: 'artplayerPluginChapter'
|
||||
update: (option: Option) => void
|
||||
}
|
||||
|
||||
Vendored
-6
@@ -750,12 +750,6 @@ interface I18nValue {
|
||||
|
||||
export type I18n = Partial<Record<I18nKeys, Partial<I18nValue>>>
|
||||
|
||||
declare module 'artplayer/i18n/*' {
|
||||
const lang: Partial<I18nValue>
|
||||
// @ts-expect-error TS2666
|
||||
export default lang
|
||||
}
|
||||
|
||||
export type Bar = 'loaded' | 'played' | 'hover'
|
||||
|
||||
export interface Events {
|
||||
|
||||
@@ -15,6 +15,7 @@ method; the update object is required. All implementation modules are TypeScript
|
||||
| `src/types.ts` | Internal aliases derived from the existing public declaration; no runtime imports |
|
||||
| `src/style.less` | Existing CSS classes and theme variables |
|
||||
| `types/artplayer-plugin-chapter.d.ts` | Consumer declaration and compatibility boundary |
|
||||
| `types/*.d.cts`, `types/*.d.mts` | CJS/ESM bridges sharing the same public types |
|
||||
|
||||
Dependencies flow from the entry to normalization and rendering. Neither of those
|
||||
modules receives an ArtPlayer instance. Rendering accepts a progress container and
|
||||
@@ -82,7 +83,9 @@ For UI, start at progress.ts/style.less and verify real mouse interaction. For e
|
||||
or cleanup changes, start at index.ts and rerun early destroy/multiple-instance tests.
|
||||
Any public declaration change also needs new/old compiler and tarball consumers.
|
||||
|
||||
The public declaration is intentionally retained during the structural migration;
|
||||
PKG-CHAPTER-04 owns NodeNext ESM and legacy subpath declaration fixes. The frozen
|
||||
The public declaration remains available to old compilers and exports Chapters,
|
||||
Option and Result as types. Modern import/require conditions select format-specific
|
||||
bridges; typesVersions provides the legacy subpath to old resolvers. All bridges
|
||||
refer to one contract and runtime import paths stay unchanged. The frozen
|
||||
published baseline is under refactor/baselines; never overwrite it with candidate
|
||||
behavior. Physical device, full editor and final release checks remain separate tasks.
|
||||
@@ -22,6 +22,10 @@ The registered name is `artplayerPluginChapter`. After metadata loads, use
|
||||
`update({})` to clear them. Update is synchronous and requires an options object.
|
||||
Chapter times are seconds; ranges must not overlap. `Infinity` as an end value uses the current duration.
|
||||
|
||||
TypeScript users can import `Chapters`, `Option` and `Result` with `import type`.
|
||||
Modern ESM/CommonJS and `/legacy` share the same API; old TypeScript resolution
|
||||
keeps the original `.d.ts` entry and a legacy subpath fallback.
|
||||
|
||||
The existing implementation sorts and fills the supplied array in place and replaces its Infinity end
|
||||
values. Pass a fresh array when you need to retain the original configuration. After switching media,
|
||||
call update with chapters appropriate to the new duration; initialization listens to metadata once.
|
||||
|
||||
@@ -19,19 +19,36 @@
|
||||
],
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./types/artplayer-plugin-chapter.d.ts",
|
||||
"import": "./dist/artplayer-plugin-chapter.mjs",
|
||||
"require": "./dist/artplayer-plugin-chapter.js"
|
||||
"import": {
|
||||
"types": "./types/artplayer-plugin-chapter.d.mts",
|
||||
"default": "./dist/artplayer-plugin-chapter.mjs"
|
||||
},
|
||||
"require": {
|
||||
"types": "./types/artplayer-plugin-chapter.d.cts",
|
||||
"default": "./dist/artplayer-plugin-chapter.js"
|
||||
}
|
||||
},
|
||||
"./legacy": {
|
||||
"types": "./types/artplayer-plugin-chapter.d.ts",
|
||||
"import": "./dist/artplayer-plugin-chapter.legacy.js",
|
||||
"require": "./dist/artplayer-plugin-chapter.legacy.js"
|
||||
"import": {
|
||||
"types": "./types/artplayer-plugin-chapter.d.cts",
|
||||
"default": "./dist/artplayer-plugin-chapter.legacy.js"
|
||||
},
|
||||
"require": {
|
||||
"types": "./types/artplayer-plugin-chapter.d.cts",
|
||||
"default": "./dist/artplayer-plugin-chapter.legacy.js"
|
||||
}
|
||||
}
|
||||
},
|
||||
"main": "./dist/artplayer-plugin-chapter.js",
|
||||
"module": "./dist/artplayer-plugin-chapter.mjs",
|
||||
"types": "./types/artplayer-plugin-chapter.d.ts",
|
||||
"legacy": "./dist/artplayer-plugin-chapter.legacy.js",
|
||||
"browserslist": "last 1 Chrome version"
|
||||
"browserslist": "last 1 Chrome version",
|
||||
"typesVersions": {
|
||||
"*": {
|
||||
"legacy": [
|
||||
"types/artplayer-plugin-chapter.d.ts"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.mts", "src/**/*.cts", "types/**/*.d.ts", "../../types/assets.d.ts"]
|
||||
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.mts", "src/**/*.cts", "types/**/*.d.ts", "types/**/*.d.mts", "types/**/*.d.cts", "../../types/assets.d.ts"]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
import type * as Definition from './artplayer-plugin-chapter.js'
|
||||
|
||||
declare const artplayerPluginChapter: typeof Definition.default
|
||||
|
||||
declare namespace artplayerPluginChapter {
|
||||
type Chapters = Definition.Chapters
|
||||
type Option = Definition.Option
|
||||
type Result = Definition.Result
|
||||
}
|
||||
|
||||
export = artplayerPluginChapter
|
||||
@@ -0,0 +1,2 @@
|
||||
export { default } from './artplayer-plugin-chapter.cjs'
|
||||
export type { Chapters, Option, Result } from './artplayer-plugin-chapter.js'
|
||||
@@ -1,16 +1,16 @@
|
||||
import type Artplayer from 'artplayer'
|
||||
|
||||
type Chapters = {
|
||||
export type Chapters = {
|
||||
start: number
|
||||
end: number
|
||||
title: string
|
||||
}[]
|
||||
|
||||
interface Option {
|
||||
export interface Option {
|
||||
chapters?: Chapters
|
||||
}
|
||||
|
||||
interface Result {
|
||||
export interface Result {
|
||||
name: 'artplayerPluginChapter'
|
||||
update: (option: Option) => void
|
||||
}
|
||||
|
||||
@@ -19,19 +19,34 @@
|
||||
],
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./types/artplayer.d.ts",
|
||||
"import": "./dist/artplayer.mjs",
|
||||
"require": "./dist/artplayer.js"
|
||||
"import": {
|
||||
"types": "./types/artplayer.d.mts",
|
||||
"default": "./dist/artplayer.mjs"
|
||||
},
|
||||
"require": {
|
||||
"types": "./types/artplayer.d.cts",
|
||||
"default": "./dist/artplayer.js"
|
||||
}
|
||||
},
|
||||
"./legacy": {
|
||||
"types": "./types/artplayer.d.ts",
|
||||
"import": "./dist/artplayer.legacy.js",
|
||||
"require": "./dist/artplayer.legacy.js"
|
||||
"import": {
|
||||
"types": "./types/artplayer.d.cts",
|
||||
"default": "./dist/artplayer.legacy.js"
|
||||
},
|
||||
"require": {
|
||||
"types": "./types/artplayer.d.cts",
|
||||
"default": "./dist/artplayer.legacy.js"
|
||||
}
|
||||
},
|
||||
"./i18n/*": {
|
||||
"types": "./types/i18n.d.ts",
|
||||
"import": "./dist/i18n/*.mjs",
|
||||
"require": "./dist/i18n/*.js"
|
||||
"import": {
|
||||
"types": "./types/language.d.mts",
|
||||
"default": "./dist/i18n/*.mjs"
|
||||
},
|
||||
"require": {
|
||||
"types": "./types/language.d.cts",
|
||||
"default": "./dist/i18n/*.js"
|
||||
}
|
||||
}
|
||||
},
|
||||
"main": "./dist/artplayer.js",
|
||||
@@ -40,7 +55,7 @@
|
||||
"typesVersions": {
|
||||
"*": {
|
||||
"i18n/*": [
|
||||
"types/i18n.d.ts"
|
||||
"types/legacy/language.d.ts"
|
||||
],
|
||||
"legacy": [
|
||||
"types/artplayer.d.ts"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.mts", "src/**/*.cts", "types/**/*.d.ts", "../../types/assets.d.ts"]
|
||||
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.mts", "src/**/*.cts", "types/**/*.d.ts", "types/**/*.d.mts", "types/**/*.d.cts", "../../types/assets.d.ts"]
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
# Declaration entrypoints
|
||||
|
||||
`artplayer.d.ts` remains the shared API definition and old TypeScript entry. Its
|
||||
relative declarations describe the existing player; they are not a claim that the
|
||||
runtime has already migrated to TypeScript.
|
||||
|
||||
Conditional exports select `artplayer.d.mts` for ESM and `artplayer.d.cts` for CJS
|
||||
and legacy. The CJS bridge uses `export =` for the real module.exports constructor
|
||||
and carries existing named types in its namespace. The ESM bridge re-exports that
|
||||
constructor and the same type identities. Do not copy the class into a second
|
||||
declaration: instance, ready callback and plugin types must remain consistent.
|
||||
|
||||
Languages use language.d.mts / language.d.cts for modern resolution and
|
||||
legacy/language.d.ts for old typesVersions resolution. The value shape comes from
|
||||
I18n's existing dictionary value type (`I18n['en']`, also compatible with TS 4.3.5).
|
||||
i18n.d.ts contains dictionary definitions without suppressed module augmentation.
|
||||
The editor's global language module is generated separately as
|
||||
docs/assets/ts/artplayer-i18n.d.ts so it cannot contaminate npm consumers.
|
||||
|
||||
Top-level types and historical .d.ts filenames remain available; runtime paths and
|
||||
exports do not change. See TypeScript's declaration module format and conditional
|
||||
resolution rules: https://www.typescriptlang.org/docs/handbook/modules/reference.html
|
||||
|
||||
When changing types, run `yarn typecheck`, `yarn test:baseline` and
|
||||
`yarn test:package:release`. They cover default/named types, core/legacy constructors,
|
||||
chapter/legacy factories, language data, invalid inputs, NodeNext/Bundler and old
|
||||
TS 4.3.5 consumers. Run `yarn build:ts` to refresh editor declarations. Full editor
|
||||
behavior and other core declaration/runtime mismatches have CORE-07/SITE tasks.
|
||||
@@ -0,0 +1,20 @@
|
||||
import type * as Definition from './artplayer.js'
|
||||
|
||||
declare const Artplayer: typeof Definition.default
|
||||
type Artplayer = Definition.default
|
||||
|
||||
declare namespace Artplayer {
|
||||
type Config = Definition.Config
|
||||
type Events = Definition.Events
|
||||
type I18n = Definition.I18n
|
||||
type Icons = Definition.Icons
|
||||
type Option = Definition.Option
|
||||
type Player = Definition.Player
|
||||
type Setting = Definition.Setting
|
||||
type SettingOption = Definition.SettingOption
|
||||
type Subtitle = Definition.Subtitle
|
||||
type Template = Definition.Template
|
||||
type Utils = Definition.Utils
|
||||
}
|
||||
|
||||
export = Artplayer
|
||||
@@ -0,0 +1,2 @@
|
||||
export { default } from './artplayer.cjs'
|
||||
export type { Config, Events, I18n, Icons, Option, Player, Setting, SettingOption, Subtitle, Template, Utils } from './artplayer.js'
|
||||
Vendored
-6
@@ -54,9 +54,3 @@ interface I18nValue {
|
||||
}
|
||||
|
||||
export type I18n = Partial<Record<I18nKeys, Partial<I18nValue>>>
|
||||
|
||||
declare module 'artplayer/i18n/*' {
|
||||
const lang: Partial<I18nValue>
|
||||
// @ts-expect-error TS2666
|
||||
export default lang
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
import type { I18n } from './i18n.js'
|
||||
|
||||
declare const language: NonNullable<I18n['en']>
|
||||
export = language
|
||||
@@ -0,0 +1 @@
|
||||
export { default } from './language.cjs'
|
||||
@@ -0,0 +1,4 @@
|
||||
import type { I18n } from '../i18n'
|
||||
|
||||
declare const language: NonNullable<I18n['en']>
|
||||
export default language
|
||||
@@ -0,0 +1,767 @@
|
||||
{
|
||||
"task": "PKG-CHAPTER-04",
|
||||
"capturedAt": "2026-09-10T15:28:48.036Z",
|
||||
"packages": [
|
||||
{
|
||||
"name": "artplayer",
|
||||
"version": "5.4.1",
|
||||
"archive": "artplayer.tgz",
|
||||
"sha256": "a6003dd79beef54ea8ce028455573382a63e89b0323ac564cda1432bbd14848c",
|
||||
"files": {
|
||||
"package/README.md": "9b432fbd3145a33757a93e3fd01b7bd1c3369f51243c5147bca04c6f662b55e1",
|
||||
"package/dist/artplayer.js": "9ad044a601dafc24f449b690403fb1c343b40e99ffb31043272189fc3c1e7bfa",
|
||||
"package/dist/artplayer.legacy.js": "71eebcca3192000c58e20f2e3cb76e86c05e33b5a1fab0add20436a5933a3e87",
|
||||
"package/dist/artplayer.mjs": "ac72f41624383ba853474161affb72b5887644449bf7cb18f6d18edeb2f6f997",
|
||||
"package/dist/i18n/ar.js": "61c43469ee95a00dc624583f418653e3dcbf48b24ae6a4c203ad986234852365",
|
||||
"package/dist/i18n/ar.mjs": "68922fdc9f80d3321ea0654c8ff8f5875b6715103d2b14ffcf17f93738b39cf9",
|
||||
"package/dist/i18n/cs.js": "ad7bbf8853204a6955ef84bfbd932cab3f141a7e73a8145f28ba7a5b2b83b7c0",
|
||||
"package/dist/i18n/cs.mjs": "29a489be767fda9d46b59c9adbaad323f17a5e67daf7f7aa78b7ce8fb5b4d63c",
|
||||
"package/dist/i18n/es.js": "aaa95cc9645b734c58fba06fdbcdda962c4cb3a0e7eb6206f06d6168208cd86b",
|
||||
"package/dist/i18n/es.mjs": "331d2ef74da2eec8f3304fec0b5340c795d9c1eec24e08167c9a7b66bf30973b",
|
||||
"package/dist/i18n/fa.js": "c998467261cbdfd2c3fb16c0ae4b2c48c409f42f41aea35ed94766f1e12819d5",
|
||||
"package/dist/i18n/fa.mjs": "b4c98894b46975cebf5ea9088bcf0b5bdfd408bc3c82f4e2e9128133c7de2d4d",
|
||||
"package/dist/i18n/fr.js": "6b06e16b1fb01c8695fb5c10b32a00421399180de5dc5d845ce17010f2fd3e66",
|
||||
"package/dist/i18n/fr.mjs": "abe8e3548fa7304f302e2c74818a6176edee8c3b65e33cb6f62e96d130749ee5",
|
||||
"package/dist/i18n/id.js": "a5832c4bfc03c7f16418bf4b324d9773895541dc823ece9114741794737aad74",
|
||||
"package/dist/i18n/id.mjs": "a40a433be6ca1ac1ee1810fe805ee60784d349e59b9ad82ea80201d660db4e68",
|
||||
"package/dist/i18n/pl.js": "2491487062bdfc91d60f17c6e9a83ee196c991216d15f525fe3536b98873da2c",
|
||||
"package/dist/i18n/pl.mjs": "ad8ea2c03785edbfe1f35761bec21b8a04213f9fa88a794d850bb3973564930f",
|
||||
"package/dist/i18n/ru.js": "2d3a9ee6533cb6fa961f0a24a25ce63cc76992fca17e1769b6fa75104f8a1529",
|
||||
"package/dist/i18n/ru.mjs": "a89b8c36cfd7c181c2b31aa823deda3d7c37b56b2b81746338c52ea1c1d93352",
|
||||
"package/dist/i18n/tr.js": "438b06a4c3f479a2901b0085eaa7bdba8eaef87bdb07ff3faa559c85403fe433",
|
||||
"package/dist/i18n/tr.mjs": "cc96f9cbb9c1587d5cd8f25b0b9800678ad76e93de089ae42c38dee16e6fe8fa",
|
||||
"package/dist/i18n/vi.js": "1ffbd62843a902ea2967eab46432d3fc548f5633e53eed104314b523cacc46a8",
|
||||
"package/dist/i18n/vi.mjs": "7872ded84622bcda20e8c1d70c597c2ba071b50701900efa47cc4683ee17f1a2",
|
||||
"package/dist/i18n/zh-tw.js": "2d43577f98456488196921e1ec721695a95e1b8c827077286b02ce3fb987e8ff",
|
||||
"package/dist/i18n/zh-tw.mjs": "7ec638b4babe59d3ab1d3e64abdd74a96fefb260a50e2cd7240f8d50a1340925",
|
||||
"package/package.json": "b343df9955df9ac0ea71ea775bd0743c6b26c06d3bb7699128f7eac484fa769f",
|
||||
"package/types/README.md": "d38bb63f9e96f995273f9da6833a8b936a74718ef7b710dbd316530d41ccae07",
|
||||
"package/types/artplayer.d.cts": "be67cbb6c352944741bca88f969ad1bafa9898049595930e2dc6693d5e7262f5",
|
||||
"package/types/artplayer.d.mts": "87d1f0e2a7bf7b7bdf700875cb2c77dea8be34ba3ac943e5fd35e8daa99bf241",
|
||||
"package/types/artplayer.d.ts": "98d3e7b65f9f81fba155da08fd47e4fb25f4c69279e3afd993c4a55070f8a850",
|
||||
"package/types/component.d.ts": "facfa29d9092fe2c63a7d8357ce7d0faa5e32811d2fedeef6dc8b28ad5d04891",
|
||||
"package/types/config.d.ts": "c4fd8681bf32b10c743e3e561c532520c8f32e43fd765524850b15e55cb91c72",
|
||||
"package/types/cssVar.d.ts": "e027d82fb4f01c9ce7559cf679b2d5ee1962d3f7e5b4dd64ca21f472b933efb6",
|
||||
"package/types/events.d.ts": "98c74aebb82455accc0b3523af5a1145bc9119da58c884200adc36e70a164b02",
|
||||
"package/types/i18n.d.ts": "3e14759caf71f97f01650839248c8737c42d2c2979dabc43ad92b724da648708",
|
||||
"package/types/icons.d.ts": "0d8e8e52e52130dd4a29bab551dd7a2a954797e42e92a6e068c85d583e23e6a4",
|
||||
"package/types/language.d.cts": "1c9e0c47fae3c2d68c3e144d95a55071318a03bb31554dd049109efd3d0f95a4",
|
||||
"package/types/language.d.mts": "c391e863012c77769e661afbf8fa949e9373aa88d17f58cbba7f5696edb8077f",
|
||||
"package/types/legacy/language.d.ts": "c452ffd764ff9b29b819b3475c42395d2ea7a33560d8c186ef5df3844b9524c3",
|
||||
"package/types/option.d.ts": "d4de53930c2fa9d59c77c4324d63f24b057bce6c4d0273c34a0ab06094dcea2c",
|
||||
"package/types/player.d.ts": "986382bb6b4e82746fd2405092e69d0ef413988887a557a0fd4db85d64b78d54",
|
||||
"package/types/quality.d.ts": "7ed6ed78cea52991b2f6ddd2bd3b7bd8c5146fdfff7486fe8b814c3e632f1567",
|
||||
"package/types/setting.d.ts": "d12a75b656fff70cbb30be4bffec46d9c4273636e8722bce971a4d2b188712a1",
|
||||
"package/types/subtitle.d.ts": "d25b470e47d6a9bd696d9c1ad8adb58e56a208f05695186d513bc8c43c2e8acf",
|
||||
"package/types/template.d.ts": "68aed9e97d006d6be4fabb8504ca84dafab770b0925f4d6e7319e67c82f21b0d",
|
||||
"package/types/utils.d.ts": "d3fb67b9187e1c81c6b3850694cf2627e927225ace160ae58c11631e9f673a98"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "artplayer-plugin-chapter",
|
||||
"version": "1.1.0",
|
||||
"archive": "artplayer-plugin-chapter.tgz",
|
||||
"sha256": "c44d129195028dcb527499d4bf47835ecde215e4d19565eba7f6eed6d6a74af7",
|
||||
"files": {
|
||||
"package/ARCHITECTURE.md": "20743bad87a174b0450e0d876b6aa6b2a9f47df296d479511ce7cc9298fdb57c",
|
||||
"package/README.md": "b95400ff3d525621a15268bb56a2d353aacaaadefde7e735d7abd91a34edd96f",
|
||||
"package/dist/artplayer-plugin-chapter.js": "6ac3dfe28f46084ac7caedd571b1a97dcee3cf9d708112f1b8bbd6566e1dc5c5",
|
||||
"package/dist/artplayer-plugin-chapter.legacy.js": "6d9bff885412169e701670961aa00c2e46c4b42c9b9647ff4e6d198777d2a359",
|
||||
"package/dist/artplayer-plugin-chapter.mjs": "26415cecab2c0198c566cef0232e20123413782d5bad7534a32939b3298617af",
|
||||
"package/package.json": "24eec6907b3218439189adab6af3f932c1497c47c2d41209311c01042b07fd4f",
|
||||
"package/types/artplayer-plugin-chapter.d.cts": "4f07514b37453cd6cea8e5aa28fa018ff31738e0d423c11a3b5eccd50ed30bcc",
|
||||
"package/types/artplayer-plugin-chapter.d.mts": "610179754db36276e161a07bccf4eaba8b4480f053e716a2bcc5a1574871a171",
|
||||
"package/types/artplayer-plugin-chapter.d.ts": "581aa2862e709601c87a23585f54a969ebd350be56a7469a31ff53f1311b578d"
|
||||
}
|
||||
}
|
||||
],
|
||||
"types": [
|
||||
{
|
||||
"compiler": "5.9.3",
|
||||
"mode": "node10-commonjs",
|
||||
"diagnostics": [],
|
||||
"declarations": [
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.decorators.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.decorators.legacy.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.dom.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.collection.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.core.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.generator.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.iterable.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.promise.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.proxy.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.reflect.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.symbol.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2016.array.include.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2016.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2016.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.date.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.object.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.string.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.promise.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.regexp.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.array.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.object.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.string.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.symbol.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.bigint.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.date.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.number.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.promise.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.string.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es5.d.ts",
|
||||
"node_modules/artplayer-plugin-chapter/types/artplayer-plugin-chapter.d.ts",
|
||||
"node_modules/artplayer/types/artplayer.d.ts",
|
||||
"node_modules/artplayer/types/component.d.ts",
|
||||
"node_modules/artplayer/types/config.d.ts",
|
||||
"node_modules/artplayer/types/cssVar.d.ts",
|
||||
"node_modules/artplayer/types/events.d.ts",
|
||||
"node_modules/artplayer/types/i18n.d.ts",
|
||||
"node_modules/artplayer/types/icons.d.ts",
|
||||
"node_modules/artplayer/types/legacy/language.d.ts",
|
||||
"node_modules/artplayer/types/option.d.ts",
|
||||
"node_modules/artplayer/types/player.d.ts",
|
||||
"node_modules/artplayer/types/quality.d.ts",
|
||||
"node_modules/artplayer/types/setting.d.ts",
|
||||
"node_modules/artplayer/types/subtitle.d.ts",
|
||||
"node_modules/artplayer/types/template.d.ts",
|
||||
"node_modules/artplayer/types/utils.d.ts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"compiler": "5.9.3",
|
||||
"mode": "nodenext-cjs",
|
||||
"diagnostics": [],
|
||||
"declarations": [
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.decorators.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.decorators.legacy.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.dom.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.collection.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.core.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.generator.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.iterable.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.promise.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.proxy.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.reflect.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.symbol.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2016.array.include.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2016.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2016.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.date.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.object.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.string.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.promise.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.regexp.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.array.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.object.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.string.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.symbol.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.bigint.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.date.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.number.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.promise.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.string.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es5.d.ts",
|
||||
"node_modules/artplayer-plugin-chapter/types/artplayer-plugin-chapter.d.cts",
|
||||
"node_modules/artplayer-plugin-chapter/types/artplayer-plugin-chapter.d.ts",
|
||||
"node_modules/artplayer/types/artplayer.d.cts",
|
||||
"node_modules/artplayer/types/artplayer.d.ts",
|
||||
"node_modules/artplayer/types/component.d.ts",
|
||||
"node_modules/artplayer/types/config.d.ts",
|
||||
"node_modules/artplayer/types/cssVar.d.ts",
|
||||
"node_modules/artplayer/types/events.d.ts",
|
||||
"node_modules/artplayer/types/i18n.d.ts",
|
||||
"node_modules/artplayer/types/icons.d.ts",
|
||||
"node_modules/artplayer/types/language.d.cts",
|
||||
"node_modules/artplayer/types/option.d.ts",
|
||||
"node_modules/artplayer/types/player.d.ts",
|
||||
"node_modules/artplayer/types/quality.d.ts",
|
||||
"node_modules/artplayer/types/setting.d.ts",
|
||||
"node_modules/artplayer/types/subtitle.d.ts",
|
||||
"node_modules/artplayer/types/template.d.ts",
|
||||
"node_modules/artplayer/types/utils.d.ts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"compiler": "5.9.3",
|
||||
"mode": "bundler-esm",
|
||||
"diagnostics": [],
|
||||
"declarations": [
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.decorators.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.decorators.legacy.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.dom.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.collection.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.core.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.generator.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.iterable.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.promise.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.proxy.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.reflect.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.symbol.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2016.array.include.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2016.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2016.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.date.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.object.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.string.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.promise.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.regexp.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.array.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.object.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.string.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.symbol.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.bigint.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.date.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.number.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.promise.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.string.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es5.d.ts",
|
||||
"node_modules/artplayer-plugin-chapter/types/artplayer-plugin-chapter.d.cts",
|
||||
"node_modules/artplayer-plugin-chapter/types/artplayer-plugin-chapter.d.mts",
|
||||
"node_modules/artplayer-plugin-chapter/types/artplayer-plugin-chapter.d.ts",
|
||||
"node_modules/artplayer/types/artplayer.d.cts",
|
||||
"node_modules/artplayer/types/artplayer.d.mts",
|
||||
"node_modules/artplayer/types/artplayer.d.ts",
|
||||
"node_modules/artplayer/types/component.d.ts",
|
||||
"node_modules/artplayer/types/config.d.ts",
|
||||
"node_modules/artplayer/types/cssVar.d.ts",
|
||||
"node_modules/artplayer/types/events.d.ts",
|
||||
"node_modules/artplayer/types/i18n.d.ts",
|
||||
"node_modules/artplayer/types/icons.d.ts",
|
||||
"node_modules/artplayer/types/language.d.cts",
|
||||
"node_modules/artplayer/types/language.d.mts",
|
||||
"node_modules/artplayer/types/option.d.ts",
|
||||
"node_modules/artplayer/types/player.d.ts",
|
||||
"node_modules/artplayer/types/quality.d.ts",
|
||||
"node_modules/artplayer/types/setting.d.ts",
|
||||
"node_modules/artplayer/types/subtitle.d.ts",
|
||||
"node_modules/artplayer/types/template.d.ts",
|
||||
"node_modules/artplayer/types/utils.d.ts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"compiler": "4.3.5",
|
||||
"mode": "node10-commonjs",
|
||||
"diagnostics": [],
|
||||
"declarations": [
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.dom.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2015.collection.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2015.core.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2015.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2015.generator.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2015.iterable.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2015.promise.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2015.proxy.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2015.reflect.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2015.symbol.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2015.symbol.wellknown.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2016.array.include.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2016.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2017.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2017.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2017.object.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2017.sharedmemory.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2017.string.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2017.typedarrays.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2018.asyncgenerator.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2018.asynciterable.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2018.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2018.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2018.promise.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2018.regexp.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2019.array.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2019.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2019.object.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2019.string.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2019.symbol.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2020.bigint.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2020.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2020.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2020.promise.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2020.sharedmemory.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2020.string.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es2020.symbol.wellknown.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript-compat/lib/lib.es5.d.ts",
|
||||
"node_modules/artplayer-plugin-chapter/types/artplayer-plugin-chapter.d.ts",
|
||||
"node_modules/artplayer/types/artplayer.d.ts",
|
||||
"node_modules/artplayer/types/component.d.ts",
|
||||
"node_modules/artplayer/types/config.d.ts",
|
||||
"node_modules/artplayer/types/cssVar.d.ts",
|
||||
"node_modules/artplayer/types/events.d.ts",
|
||||
"node_modules/artplayer/types/i18n.d.ts",
|
||||
"node_modules/artplayer/types/icons.d.ts",
|
||||
"node_modules/artplayer/types/legacy/language.d.ts",
|
||||
"node_modules/artplayer/types/option.d.ts",
|
||||
"node_modules/artplayer/types/player.d.ts",
|
||||
"node_modules/artplayer/types/quality.d.ts",
|
||||
"node_modules/artplayer/types/setting.d.ts",
|
||||
"node_modules/artplayer/types/subtitle.d.ts",
|
||||
"node_modules/artplayer/types/template.d.ts",
|
||||
"node_modules/artplayer/types/utils.d.ts"
|
||||
]
|
||||
},
|
||||
{
|
||||
"compiler": "5.9.3",
|
||||
"mode": "nodenext-esm",
|
||||
"diagnostics": [],
|
||||
"declarations": [
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.decorators.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.decorators.legacy.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.dom.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.collection.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.core.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.generator.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.iterable.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.promise.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.proxy.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.reflect.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.symbol.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2016.array.include.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2016.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2016.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.date.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.object.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.string.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.promise.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2018.regexp.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.array.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.object.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.string.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2019.symbol.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.bigint.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.date.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.intl.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.number.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.promise.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.string.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts",
|
||||
"D:/github/ArtPlayer/node_modules/typescript/lib/lib.es5.d.ts",
|
||||
"node_modules/artplayer-plugin-chapter/types/artplayer-plugin-chapter.d.cts",
|
||||
"node_modules/artplayer-plugin-chapter/types/artplayer-plugin-chapter.d.mts",
|
||||
"node_modules/artplayer-plugin-chapter/types/artplayer-plugin-chapter.d.ts",
|
||||
"node_modules/artplayer/types/artplayer.d.cts",
|
||||
"node_modules/artplayer/types/artplayer.d.mts",
|
||||
"node_modules/artplayer/types/artplayer.d.ts",
|
||||
"node_modules/artplayer/types/component.d.ts",
|
||||
"node_modules/artplayer/types/config.d.ts",
|
||||
"node_modules/artplayer/types/cssVar.d.ts",
|
||||
"node_modules/artplayer/types/events.d.ts",
|
||||
"node_modules/artplayer/types/i18n.d.ts",
|
||||
"node_modules/artplayer/types/icons.d.ts",
|
||||
"node_modules/artplayer/types/language.d.cts",
|
||||
"node_modules/artplayer/types/language.d.mts",
|
||||
"node_modules/artplayer/types/option.d.ts",
|
||||
"node_modules/artplayer/types/player.d.ts",
|
||||
"node_modules/artplayer/types/quality.d.ts",
|
||||
"node_modules/artplayer/types/setting.d.ts",
|
||||
"node_modules/artplayer/types/subtitle.d.ts",
|
||||
"node_modules/artplayer/types/template.d.ts",
|
||||
"node_modules/artplayer/types/utils.d.ts"
|
||||
]
|
||||
}
|
||||
],
|
||||
"runtimeChecks": 23,
|
||||
"knownTypeBlockers": 0,
|
||||
"strictReleaseExit": 0,
|
||||
"ciChecks": 62,
|
||||
"browser": {
|
||||
"startTime": "2026-09-10T15:21:32.399Z",
|
||||
"duration": 28003.863999999998,
|
||||
"expected": 54,
|
||||
"skipped": 0,
|
||||
"unexpected": 0,
|
||||
"flaky": 0
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"title": "published-only observations: blank title, NaN and once-only metadata are historical defects",
|
||||
"project": "chromium",
|
||||
"browser": "153.0.8010.12",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "candidate clears titles on blank chapters, zero hover and replacement",
|
||||
"project": "chromium",
|
||||
"browser": "153.0.8010.12",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "candidate rejects NaN and can recover after an invalid update",
|
||||
"project": "chromium",
|
||||
"browser": "153.0.8010.12",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "candidate releases only its listeners and DOM across multiple instances and early destruction",
|
||||
"project": "chromium",
|
||||
"browser": "153.0.8010.12",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "candidate ignores pending metadata initialization after immediate destroy",
|
||||
"project": "chromium",
|
||||
"browser": "153.0.8010.12",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "candidate deduplicates stylesheet injection while the document is loading",
|
||||
"project": "chromium",
|
||||
"browser": "153.0.8010.12",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "published-only observations: blank title, NaN and once-only metadata are historical defects",
|
||||
"project": "firefox",
|
||||
"browser": "155.0",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "candidate clears titles on blank chapters, zero hover and replacement",
|
||||
"project": "firefox",
|
||||
"browser": "155.0",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "candidate rejects NaN and can recover after an invalid update",
|
||||
"project": "firefox",
|
||||
"browser": "155.0",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "candidate releases only its listeners and DOM across multiple instances and early destruction",
|
||||
"project": "firefox",
|
||||
"browser": "155.0",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "candidate ignores pending metadata initialization after immediate destroy",
|
||||
"project": "firefox",
|
||||
"browser": "155.0",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "candidate deduplicates stylesheet injection while the document is loading",
|
||||
"project": "firefox",
|
||||
"browser": "155.0",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "published-only observations: blank title, NaN and once-only metadata are historical defects",
|
||||
"project": "webkit",
|
||||
"browser": "26.6",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "candidate clears titles on blank chapters, zero hover and replacement",
|
||||
"project": "webkit",
|
||||
"browser": "26.6",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "candidate rejects NaN and can recover after an invalid update",
|
||||
"project": "webkit",
|
||||
"browser": "26.6",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "candidate releases only its listeners and DOM across multiple instances and early destruction",
|
||||
"project": "webkit",
|
||||
"browser": "26.6",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "candidate ignores pending metadata initialization after immediate destroy",
|
||||
"project": "webkit",
|
||||
"browser": "26.6",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "candidate deduplicates stylesheet injection while the document is loading",
|
||||
"project": "webkit",
|
||||
"browser": "26.6",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "factory, registration, input normalization and safe title text",
|
||||
"project": "chromium",
|
||||
"browser": "153.0.8010.12",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "progress bars, real hover, title edges and boundary seek",
|
||||
"project": "chromium",
|
||||
"browser": "153.0.8010.12",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "sync update, Infinity, object identity, empty lists and invalid data",
|
||||
"project": "chromium",
|
||||
"browser": "153.0.8010.12",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "explicit source update and core-owned destruction",
|
||||
"project": "chromium",
|
||||
"browser": "153.0.8010.12",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "factory, registration, input normalization and safe title text",
|
||||
"project": "firefox",
|
||||
"browser": "155.0",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "progress bars, real hover, title edges and boundary seek",
|
||||
"project": "firefox",
|
||||
"browser": "155.0",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "sync update, Infinity, object identity, empty lists and invalid data",
|
||||
"project": "firefox",
|
||||
"browser": "155.0",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "explicit source update and core-owned destruction",
|
||||
"project": "firefox",
|
||||
"browser": "155.0",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "factory, registration, input normalization and safe title text",
|
||||
"project": "webkit",
|
||||
"browser": "26.6",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "progress bars, real hover, title edges and boundary seek",
|
||||
"project": "webkit",
|
||||
"browser": "26.6",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "sync update, Infinity, object identity, empty lists and invalid data",
|
||||
"project": "webkit",
|
||||
"browser": "26.6",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "explicit source update and core-owned destruction",
|
||||
"project": "webkit",
|
||||
"browser": "26.6",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "factory, registration, input normalization and safe title text",
|
||||
"project": "chromium",
|
||||
"browser": "153.0.8010.12",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "progress bars, real hover, title edges and boundary seek",
|
||||
"project": "chromium",
|
||||
"browser": "153.0.8010.12",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "sync update, Infinity, object identity, empty lists and invalid data",
|
||||
"project": "chromium",
|
||||
"browser": "153.0.8010.12",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "explicit source update and core-owned destruction",
|
||||
"project": "chromium",
|
||||
"browser": "153.0.8010.12",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "factory, registration, input normalization and safe title text",
|
||||
"project": "firefox",
|
||||
"browser": "155.0",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "progress bars, real hover, title edges and boundary seek",
|
||||
"project": "firefox",
|
||||
"browser": "155.0",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "sync update, Infinity, object identity, empty lists and invalid data",
|
||||
"project": "firefox",
|
||||
"browser": "155.0",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "explicit source update and core-owned destruction",
|
||||
"project": "firefox",
|
||||
"browser": "155.0",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "factory, registration, input normalization and safe title text",
|
||||
"project": "webkit",
|
||||
"browser": "26.6",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "progress bars, real hover, title edges and boundary seek",
|
||||
"project": "webkit",
|
||||
"browser": "26.6",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "sync update, Infinity, object identity, empty lists and invalid data",
|
||||
"project": "webkit",
|
||||
"browser": "26.6",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "explicit source update and core-owned destruction",
|
||||
"project": "webkit",
|
||||
"browser": "26.6",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "published: real playback, pause, seek, switch and destroy",
|
||||
"project": "chromium",
|
||||
"browser": "153.0.8010.12",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "candidate: real playback, pause, seek, switch and destroy",
|
||||
"project": "chromium",
|
||||
"browser": "153.0.8010.12",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "controlled HTTP media failure emits a real video error",
|
||||
"project": "chromium",
|
||||
"browser": "153.0.8010.12",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "Range, media identity and docs candidate routes",
|
||||
"project": "chromium",
|
||||
"browser": "153.0.8010.12",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "published: real playback, pause, seek, switch and destroy",
|
||||
"project": "firefox",
|
||||
"browser": "155.0",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "candidate: real playback, pause, seek, switch and destroy",
|
||||
"project": "firefox",
|
||||
"browser": "155.0",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "controlled HTTP media failure emits a real video error",
|
||||
"project": "firefox",
|
||||
"browser": "155.0",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "Range, media identity and docs candidate routes",
|
||||
"project": "firefox",
|
||||
"browser": "155.0",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "published: real playback, pause, seek, switch and destroy",
|
||||
"project": "webkit",
|
||||
"browser": "26.6",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "candidate: real playback, pause, seek, switch and destroy",
|
||||
"project": "webkit",
|
||||
"browser": "26.6",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "controlled HTTP media failure emits a real video error",
|
||||
"project": "webkit",
|
||||
"browser": "26.6",
|
||||
"status": "passed"
|
||||
},
|
||||
{
|
||||
"title": "Range, media identity and docs candidate routes",
|
||||
"project": "webkit",
|
||||
"browser": "26.6",
|
||||
"status": "passed"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
# PKG-CHAPTER-04:公开类型与新旧模块消费闭环
|
||||
|
||||
## 改动
|
||||
|
||||
chapter 公开 Chapters/Option/Result 类型,保留可选工厂、必填同步 update 和旧声明文件。
|
||||
核心与 chapter 增加 .d.cts/.d.mts 桥接,按 import/require 条件选择声明,所有 runtime
|
||||
目标仍是原文件;legacy 对应真实 CommonJS 导出,旧 TS 解析使用 typesVersions 回退。
|
||||
桥接引用同一份 API 声明,不复制 Artplayer 类或要求旧用户升级编译器。
|
||||
|
||||
核心类型的最小配套修正是试点消费所需的构造器/语言入口,不是核心运行时重构。
|
||||
language 值改用格式对应的默认导出,旧编译器回退文件从 I18n['en'] 推导现有字典值类型,
|
||||
去掉原错误抑制和模块 augmentation。编辑器语言声明由 build:ts 生成独立全局文件并加入
|
||||
libUris,核心/chapter 编辑器声明也重新生成;没有手写产物。
|
||||
|
||||
详见 [chapter 架构](../../packages/artplayer-plugin-chapter/ARCHITECTURE.md) 和
|
||||
[核心声明说明](../../packages/artplayer/types/README.md)。采用的格式规则参考
|
||||
[TypeScript 官方模块说明](https://www.typescriptlang.org/docs/handbook/modules/reference.html)。
|
||||
|
||||
## 验证
|
||||
|
||||
- TS 5.9.3 的 Node10 CommonJS、NodeNext CJS/ESM、Bundler ESM,以及 TS 4.3.5 Node10
|
||||
全部通过:31 个消费场景,包含普通 API、章节参数/命名类型、语言值、legacy 和直接 CJS require。
|
||||
- 新增反例验证 Result 字面量 name、必填 update、数字时间、语言值类型和非法字段仍拒绝;
|
||||
不是使用 any、skipLibCheck 或宽泛索引消除错误。
|
||||
- 实际 tarball 安装后的 23 项运行时与五组严格类型通过,已知诊断为 0;
|
||||
`yarn test:package:release` 正常退出。历史 11 条候选已知错误全部移除,原发布基线保留。
|
||||
- 安装产物三浏览器 54 项通过、无跳过/重试;最终重新打包后的 runtime 文件 SHA 与浏览器
|
||||
实际加载的文件相同。报告、声明/入口指纹见 [执行记录](../baselines/chapter-types-validation.json)。
|
||||
- `yarn ci:check` 62 项 Node/基线测试通过;新旧消费者正反例、严格源类型和 lint 通过。
|
||||
`yarn build:ts` 成功,只有 core/chapter、语言声明和其加载清单发生实际生成内容变化。
|
||||
|
||||
补上类型回退后,旧 BASE-05 消费器检测到向上解析到 workspace 的错误:其临时目录原来在仓库
|
||||
内。现在使用仓库外 OS 临时目录并验证清理边界,隔离断言保持不变;冻结发布结果逐项对照通过。
|
||||
这证明旧版历史失败没有被新声明覆盖,未重新生成或放宽基线。
|
||||
|
||||
## 边界与接续
|
||||
|
||||
关闭 BASE-TYPE-01 和 BASE-TYPE-03;BASE-TYPE-04 等其余核心声明/运行时差异仍开放。
|
||||
未改核心运行时代码、依赖或版本;没有推送/发布。严格打包通过不代表完成全部插件、完整编辑器、
|
||||
真机/SDK 和远端 CI 验收。下一项按依赖推进试点汇总及 ENG-10,再进入核心源码拆分。
|
||||
回退本任务独立提交即可恢复声明、manifest、测试与生成编辑器内容;chapter TS 运行时提交独立保留。
|
||||
@@ -33,7 +33,8 @@ Actions 固定完整 SHA,Node 来自 .node-version,Yarn 固定 1.22.22;安
|
||||
|
||||
ENG-07 将浏览器候选改为 `yarn test:package` 实际打包并安装后的文件,使用输出映射禁止
|
||||
回退到源码。安装/构建日志、tarball、成员指纹和浏览器结果一并上传,构建快照的 node_modules
|
||||
链接不上传。初始包范围为 core/chapter;精确历史类型诊断仍阻止严格发布检查通过。
|
||||
链接不上传。初始包范围为 core/chapter;PKG-CHAPTER-04 已将这两个包的已知类型诊断清零,
|
||||
严格打包检查现已通过,仍不等于整批发布准入或远端 CI 已通过。
|
||||
见 [消费者说明](../test/package/README.md)。本地已验证,远端执行仍待 CI-04。
|
||||
|
||||
.github/workflows/pages.yml 仅支持手动运行,限定 master,且仓库变量 PAGES_DEPLOY_ENABLED 必须为 true。初始启用状态未经远端核实;没有修改该变量或其他 GitHub 设置。保留此门槛用于 CI-02 完成域名、路径和远端配置验收后再启用,不能直接自动部署 PR 产物。
|
||||
|
||||
+3
-2
@@ -4,7 +4,7 @@
|
||||
|
||||
基线:`40fcda6a37d0049d42e49c1e64e70d4fd9ba5f7f`。总任务 214 项,范围 22 个包及工作区/示例。
|
||||
|
||||
状态:todo 181 / doing 0 / blocked 0 / done 33 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。
|
||||
状态:todo 180 / doing 0 / blocked 0 / done 34 / deferred 0。风险 L/M/H 表示兼容风险,不表示工期。
|
||||
|
||||
前置依赖是启动条件;验收是完成条件。任务可以继续拆分,但不能复用或悄悄删除旧 ID。
|
||||
|
||||
@@ -135,7 +135,7 @@
|
||||
| PKG-CHAPTER-01 | artplayer-plugin-chapter<br>核对包契约与历史用法 | BASE-05 | chapters 时间区间、update、name 和进度 DOM 清单 | 源码/声明/README/demo/发布包差异已登记;公开形状和版本范围冻结 | M | done |
|
||||
| PKG-CHAPTER-02 | artplayer-plugin-chapter<br>建立特有行为与错误测试 | PKG-CHAPTER-01, ENG-03, ENG-05 | 区间重叠/空列表/边界 seek、hover 标题和 update 用例 | 旧版本行为可重跑,成功/失败/切源/销毁有必要断言;修正 BASE-TYPE-02 的可选参数声明并补正反例 | M | done |
|
||||
| PKG-CHAPTER-03 | artplayer-plugin-chapter<br>以 TypeScript 拆分内部职责与资源 | PKG-CHAPTER-02, ENG-07 | 以严格 TS 拆分区间计算、进度 DOM、事件生命周期与样式注入;公开声明消费在 04 闭环 | 不依赖新核心方法或大范围设置重构;旧 API/事件和资源通过,必要适配限包内 | M | done |
|
||||
| PKG-CHAPTER-04 | artplayer-plugin-chapter<br>迁移自有源码和公开类型 | PKG-CHAPTER-03, ENG-04, ENG-06 | 承接 03 的自有源码 TS 化,完善公开 Chapters/Option/Result 与 update 推导,关闭声明模块解析和旧消费差异 | 严格类型检查、旧消费样例通过;声明路径/导出和同步异步兼容;处理 BASE-TYPE-01/03,保持运行时和新旧 TS 模块解析消费 | M | todo |
|
||||
| PKG-CHAPTER-04 | artplayer-plugin-chapter<br>迁移自有源码和公开类型 | PKG-CHAPTER-03, ENG-04, ENG-06 | 承接 03 的自有源码 TS 化,完善公开 Chapters/Option/Result 与 update 推导,关闭声明模块解析和旧消费差异 | 严格类型检查、旧消费样例通过;声明路径/导出和同步异步兼容;处理 BASE-TYPE-01/03,保持运行时和新旧 TS 模块解析消费 | M | done |
|
||||
| PKG-CHAPTER-05 | artplayer-plugin-chapter<br>验证新旧核心和组合 | PKG-CHAPTER-04, CORE-22 | chapter + quality/thumbnail、移动和全屏进度场景 | 最终核心与原支持范围核心分别通过;设备/SDK 缺证据不能标完成 | M | todo |
|
||||
| PKG-CHAPTER-06 | artplayer-plugin-chapter<br>验证分发并同步文档 | PKG-CHAPTER-05, ENG-07 | chapter.js 示例、产物和变更记录 | tarball 入口/资源、类型、8082 demo 和 README 一致,有回退记录 | M | todo |
|
||||
|
||||
@@ -436,3 +436,4 @@
|
||||
- PKG-CHAPTER-01: [记录](changes/2026-09-10-PKG-CHAPTER-01-contract.md) [记录](baselines/chapter-contract.md)
|
||||
- PKG-CHAPTER-02: [记录](changes/2026-09-10-PKG-CHAPTER-02-tests.md) [记录](baselines/chapter-validation.json)
|
||||
- PKG-CHAPTER-03: [记录](changes/2026-09-10-PKG-CHAPTER-03-typescript-modules.md) [记录](baselines/chapter-migration-validation.json)
|
||||
- PKG-CHAPTER-04: [记录](changes/2026-09-10-PKG-CHAPTER-04-public-types.md) [记录](baselines/chapter-types-validation.json)
|
||||
@@ -1,5 +1,9 @@
|
||||
# 进度与证据
|
||||
|
||||
## 当前实施:PKG-CHAPTER-04 类型消费闭环完成
|
||||
|
||||
chapter 公开命名类型、核心/插件 CJS/ESM 桥接及旧 legacy/language 回退通过五组编译模式(31 场景),实际 tarball 严格发布检查诊断为零;62 项 Node/基线测试和 54 项安装产物三浏览器检查通过。关闭 BASE-TYPE-01/03,旧发布基线不改。见 [交付](changes/2026-09-10-PKG-CHAPTER-04-public-types.md)。当前 214 项,34 完成、180 待办。生产运行时:chapter 已 TS 化,核心仍未迁移;本任务核心只修正类型入口。03 提交 48660c4e;下一项 ENG-10 接续现有风险/可靠性规则,然后 PILOT-01 汇总现有试点证据,进入 CORE-01。
|
||||
|
||||
## 当前实施:PKG-CHAPTER-03 首包 TS 源码拆分完成
|
||||
|
||||
chapter 已从单体 JS 入口改为五个 TS 文件,区间、DOM、生命周期和样式职责清楚;修复标题、NaN、销毁和重复样式问题。61 项 Node/基线检查、源码及安装产物各 54 项三浏览器测试通过;三格式产物已生成。见 [交付](changes/2026-09-10-PKG-CHAPTER-03-typescript-modules.md)。当前 214 项,33 完成、181 待办。生产迁移:chapter 自有运行时已 TS 化,核心尚未开始。ENG-07 提交 a0286c4e;下一项 PKG-CHAPTER-04 公开类型与消费者闭环。
|
||||
|
||||
@@ -4,6 +4,9 @@ BASE-07 将先前基线发现和第三方来源缺口纳入同一份责任台账
|
||||
|
||||
## 如何读取状态
|
||||
|
||||
PKG-CHAPTER-04 另关闭 BASE-TYPE-01/03:新旧编译器及实际 tarball 消费的默认导出、语言与
|
||||
legacy 路径通过,严格打包诊断清零。完整证据与其余未关闭问题仍以 risks.json 为准。
|
||||
|
||||
BASE-07 初始登记 39 项;后续新增和关闭状态以 risks.json 为准。ENG-06 修复 BUILD-AMD-01,PKG-CHAPTER-02 修复 BASE-TYPE-02,均有独立回归证据。reproduced 表示已保存复现结果;source-observed 表示在源码、声明或产物中看到事实;unverified 表示来源、环境或行为仍需取证。证据等级与处理状态互相独立,不能把全部事项称为缺陷,也不能因建立了测试基线而自动接受旧缺陷。
|
||||
|
||||
其中 15 项来自生命周期、DOM/示例、消费者类型/分发和性能基线;其余包含发布来源、站点分发、素材来源、8 组内嵌资源和 12 个集成边界。每项都列出负责的任务 ID、证据路径、兼容处理路线与关闭条件。具体复现仍以原基线报告为准。
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
| BASE-DOM-01 | open / 已复现 | 控件 Tab 不可达 | CORE-23, CORE-17 |
|
||||
| BASE-DOM-02 | open / 已复现 | 窄容器中控件裁切 | CORE-13, CORE-14 |
|
||||
| BASE-DEMO-01 | open / 源码/产物事实 | 旧 thumbnail 插件示例不对应当前 workspace 包 | SITE-01, EX-03 |
|
||||
| BASE-TYPE-01 | open / 已复现 | NodeNext ESM 默认导出与声明互操作失配 | ENG-04, CORE-07, PKG-CHAPTER-04 |
|
||||
| BASE-TYPE-01 | resolved / 已复现 | NodeNext ESM 默认导出与声明互操作失配 | ENG-04, CORE-07, PKG-CHAPTER-04 |
|
||||
| BASE-TYPE-02 | resolved / 已复现 | chapter 可选运行时参数被声明为必填 | PKG-CHAPTER-02 |
|
||||
| BASE-TYPE-03 | open / 已复现 | chapter legacy 缺旧模块解析的声明回退 | ENG-04, PKG-CHAPTER-04 |
|
||||
| BASE-TYPE-03 | resolved / 已复现 | chapter legacy 缺旧模块解析的声明回退 | ENG-04, PKG-CHAPTER-04 |
|
||||
| BASE-TYPE-04 | open / 源码/产物事实 | plugins.add / toggle 的旧声明返回值与运行时不同 | CORE-07 |
|
||||
| BASE-DIST-01 | open / 源码/产物事实 | thumbnail tool 分发入口与类型文件缺失 | PKG-TOOL-THUMB-01, PKG-TOOL-THUMB-04 |
|
||||
| BASE-PERF-01 | open / 已复现 | 销毁后的 resize 防抖重新创建 notice timer | CORE-17, CORE-04, CORE-18 |
|
||||
|
||||
+23
-5
@@ -2,7 +2,7 @@
|
||||
"schemaVersion": 1,
|
||||
"task": "BASE-07",
|
||||
"sourceCommit": "e01f39ff",
|
||||
"updatedAt": "2026-09-10T14:41:52.219Z",
|
||||
"updatedAt": "2026-09-10T15:27:41.538Z",
|
||||
"note": "Open means closure evidence is outstanding; source-observed and unverified are not reproduced runtime bugs. A source issue already mitigated in the workspace still requires candidate regression evidence. No accepted-with-scope item is implied by baseline task completion.",
|
||||
"items": [
|
||||
{
|
||||
@@ -147,7 +147,7 @@
|
||||
"id": "BASE-TYPE-01",
|
||||
"title": "NodeNext ESM 默认导出与声明互操作失配",
|
||||
"confirmation": "reproduced",
|
||||
"status": "open",
|
||||
"status": "resolved",
|
||||
"owners": [
|
||||
"ENG-04",
|
||||
"CORE-07",
|
||||
@@ -157,7 +157,16 @@
|
||||
"refactor/baselines/consumers.json"
|
||||
],
|
||||
"compatibleResolution": "分配 ESM/CJS 声明入口,保留旧解析模式,避免 any/skipLibCheck 掩盖。",
|
||||
"closureCriteria": "四模式原合法消费通过,NodeNext ESM 对实际默认导出可构造/调用。"
|
||||
"closureCriteria": "四模式原合法消费通过,NodeNext ESM 对实际默认导出可构造/调用。",
|
||||
"resolutionEvidence": [
|
||||
"refactor/changes/2026-09-10-PKG-CHAPTER-04-public-types.md",
|
||||
"refactor/baselines/chapter-types-validation.json",
|
||||
"test/types/chapter-exports.ts",
|
||||
"test/types/language-value.ts",
|
||||
"test/types/commonjs.cts",
|
||||
"refactor/scripts/types.test.mjs"
|
||||
],
|
||||
"resolutionRationale": "格式匹配的 CJS/ESM 声明及旧 TS legacy/language 回退通过五组编译模式;实际安装 tarball 的已知诊断清零,运行时路径/导出不变,旧发布基线隔离重跑保持原失败。"
|
||||
},
|
||||
{
|
||||
"id": "BASE-TYPE-02",
|
||||
@@ -186,7 +195,7 @@
|
||||
"id": "BASE-TYPE-03",
|
||||
"title": "chapter legacy 缺旧模块解析的声明回退",
|
||||
"confirmation": "reproduced",
|
||||
"status": "open",
|
||||
"status": "resolved",
|
||||
"owners": [
|
||||
"ENG-04",
|
||||
"PKG-CHAPTER-04"
|
||||
@@ -195,7 +204,16 @@
|
||||
"refactor/baselines/consumers.json"
|
||||
],
|
||||
"compatibleResolution": "保留 legacy 文件和导入路径,补旧解析类型回退。",
|
||||
"closureCriteria": "Node10 解析和 NodeNext/Bundler 消费均有正向证据。"
|
||||
"closureCriteria": "Node10 解析和 NodeNext/Bundler 消费均有正向证据。",
|
||||
"resolutionEvidence": [
|
||||
"refactor/changes/2026-09-10-PKG-CHAPTER-04-public-types.md",
|
||||
"refactor/baselines/chapter-types-validation.json",
|
||||
"test/types/chapter-exports.ts",
|
||||
"test/types/language-value.ts",
|
||||
"test/types/commonjs.cts",
|
||||
"refactor/scripts/types.test.mjs"
|
||||
],
|
||||
"resolutionRationale": "格式匹配的 CJS/ESM 声明及旧 TS legacy/language 回退通过五组编译模式;实际安装 tarball 的已知诊断清零,运行时路径/导出不变,旧发布基线隔离重跑保持原失败。"
|
||||
},
|
||||
{
|
||||
"id": "BASE-TYPE-04",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import assert from 'node:assert/strict'
|
||||
import { execFileSync } from 'node:child_process'
|
||||
import fs from 'node:fs'
|
||||
import os from 'node:os'
|
||||
import path from 'node:path'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
import ts from 'typescript'
|
||||
@@ -8,7 +9,7 @@ import { ensureArchive, hash, readMember, refactorDir } from './releases.mjs'
|
||||
|
||||
const root = path.resolve(refactorDir, '..')
|
||||
const fixtures = path.join(refactorDir, 'fixtures/consumers')
|
||||
const parent = path.join(refactorDir, '.cache/consumers')
|
||||
const parent = os.tmpdir()
|
||||
const reportPath = path.join(refactorDir, 'baselines/consumers.json')
|
||||
const fixtureNames = ['runtime.cjs', 'public.ts', 'language.ts', 'optional-chapter.ts', 'legacy-plugin.ts']
|
||||
export const runtimeChecks = [
|
||||
@@ -22,7 +23,7 @@ export const runtimeChecks = [
|
||||
export async function runConsumers() {
|
||||
const releases = JSON.parse(fs.readFileSync(path.join(refactorDir, 'baselines/releases.json'), 'utf8')).releases
|
||||
fs.mkdirSync(parent, { recursive: true })
|
||||
const dir = fs.mkdtempSync(path.join(parent, 'published-'))
|
||||
const dir = fs.mkdtempSync(path.join(parent, 'artplayer-published-'))
|
||||
try {
|
||||
const provenance = []
|
||||
for (const release of releases) {
|
||||
@@ -68,8 +69,8 @@ export async function runConsumers() {
|
||||
fixtureHashAlgorithm: 'sha256-lf', fixtures: Object.fromEntries(fixtureNames.map(name => [name, hash(fs.readFileSync(path.join(fixtures, name), 'utf8').replaceAll('\r\n', '\n'))])), runtime, types }
|
||||
}
|
||||
finally {
|
||||
const resolved = path.resolve(dir)
|
||||
assert(resolved.startsWith(path.resolve(parent) + path.sep) && path.basename(resolved).startsWith('published-'), 'Unsafe consumer cleanup')
|
||||
const resolved = fs.realpathSync(dir)
|
||||
assert(path.dirname(resolved) === fs.realpathSync(parent) && path.basename(resolved).startsWith('artplayer-published-'), 'Unsafe consumer cleanup')
|
||||
fs.rmSync(resolved, { recursive: true, force: true })
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,3 +46,18 @@ test('Chapter optional factory parameters preserve strict update and data types
|
||||
const diagnostics = checkConsumer(ts, 'bundler-esm', unguarded)
|
||||
assert.equal(diagnostics.length, 3, 'Invalid update, title and null option must each fail')
|
||||
})
|
||||
|
||||
test('Chapter named types and legacy aliases remain strict in modern and old consumers', () => {
|
||||
const source = fs.readFileSync(path.join(refactorDir, '../test/types/chapter-exports.ts'), 'utf8')
|
||||
const language = fs.readFileSync(path.join(refactorDir, '../test/types/language-value.ts'), 'utf8')
|
||||
for (const [compiler, mode] of [[ts, 'nodenext-esm'], [ts, 'nodenext-cjs'], [compat, 'node10-commonjs']]) {
|
||||
assert.deepEqual(checkConsumer(compiler, mode, source), [])
|
||||
const invalid = source.replaceAll(/\/\/ @ts-expect-error[^\n]*\n/g, '')
|
||||
assert.equal(checkConsumer(compiler, mode, invalid).length, 3)
|
||||
assert.deepEqual(checkConsumer(compiler, mode, language), [])
|
||||
assert.equal(checkConsumer(compiler, mode, language.replaceAll(/\/\/ @ts-expect-error[^\n]*\n/g, '')).length, 2)
|
||||
}
|
||||
const commonjs = fs.readFileSync(path.join(refactorDir, '../test/types/commonjs.cts'), 'utf8')
|
||||
assert.deepEqual(checkConsumer(ts, 'nodenext-cjs', commonjs), [])
|
||||
assert.equal(checkConsumer(ts, 'nodenext-cjs', commonjs.replaceAll(/\/\/ @ts-expect-error[^\n]*\n/g, '')).length, 1)
|
||||
})
|
||||
+5
-2
@@ -1205,11 +1205,14 @@
|
||||
"ENG-04",
|
||||
"ENG-06"
|
||||
],
|
||||
"status": "todo",
|
||||
"status": "done",
|
||||
"risk": "M",
|
||||
"deliverable": "承接 03 的自有源码 TS 化,完善公开 Chapters/Option/Result 与 update 推导,关闭声明模块解析和旧消费差异",
|
||||
"acceptance": "严格类型检查、旧消费样例通过;声明路径/导出和同步异步兼容;处理 BASE-TYPE-01/03,保持运行时和新旧 TS 模块解析消费",
|
||||
"evidence": []
|
||||
"evidence": [
|
||||
"changes/2026-09-10-PKG-CHAPTER-04-public-types.md",
|
||||
"baselines/chapter-types-validation.json"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "PKG-CHAPTER-05",
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# 已实现的类型检查与迁移入口
|
||||
|
||||
PKG-CHAPTER-04 已修复核心/chapter 的条件类型入口、language 与 chapter legacy 回退。
|
||||
当前五组编译模式均要求零诊断,覆盖默认/命名类型、legacy、语言与 CJS require 形式;
|
||||
七条历史 NodeNext 诊断和打包额外四条诊断的候选豁免已移除,冻结发布基线不变。
|
||||
旧编译器仍使用 TS 4.3.5 和原 .d.ts 文件。以下 ENG-04 说明保留初始建立时的历史背景,
|
||||
当前实际入口以 scripts/typecheck.mjs、包内类型文档和任务变更记录为准。
|
||||
|
||||
ENG-04 使用开发编译器 TypeScript 5.9.3,并将 TypeScript 4.3.5 作为 npm alias typescript-compat 固定在根开发依赖。后者仅用于旧编译器消费回归,不进入播放器运行依赖或产物。Yarn 锁文件校验现在接受精确版本的 npm alias,仍拒绝范围和浮动版本。
|
||||
|
||||
## 命令及真实覆盖
|
||||
|
||||
+3
-1
@@ -57,7 +57,9 @@ console.log(`✨ Built ${artplayerTSoutput}`);
|
||||
}
|
||||
|
||||
pluginFiles.sort()
|
||||
const allFiles = [...pluginFiles, 'artplayer.d.ts']
|
||||
const languageFile = 'artplayer-i18n.d.ts'
|
||||
fs.writeFileSync(path.join('docs/assets/ts', languageFile), `declare module 'artplayer/i18n/*' {\n const language: NonNullable<Artplayer.I18n['en']>\n export default language\n}\n`)
|
||||
const allFiles = [...pluginFiles, 'artplayer.d.ts', languageFile]
|
||||
const eslint = new ESLint({ fix: true, fixTypes: ['layout'] })
|
||||
const results = await eslint.lintFiles(allFiles.map(file => path.join('docs/assets/ts', file)))
|
||||
await ESLint.outputFixes(results)
|
||||
|
||||
@@ -38,11 +38,13 @@ export function typeConsumers(dir) {
|
||||
for (const [compiler, mode] of [[ts, 'node10-commonjs'], [ts, 'nodenext-cjs'], [ts, 'bundler-esm'], [compat, 'node10-commonjs'], [ts, 'nodenext-esm']]) {
|
||||
const next = mode.startsWith('nodenext')
|
||||
const extension = next ? (mode.endsWith('-cjs') ? 'cts' : 'mts') : 'ts'
|
||||
const inputs = [...(mode === 'nodenext-esm' ? ['public'] : ['public', 'chapter-options']), 'language', 'legacy-plugin']
|
||||
const inputs = ['public', 'chapter-options', 'chapter-exports', 'language-value', 'language', 'legacy-plugin']
|
||||
if (mode === 'nodenext-cjs')
|
||||
inputs.push('commonjs')
|
||||
const files = inputs.map((name) => {
|
||||
const file = path.join(dir, `${name}.${extension}`)
|
||||
const folder = ['language', 'legacy-plugin'].includes(name) ? 'refactor/fixtures/consumers' : 'test/types'
|
||||
fs.copyFileSync(path.join(workspace, folder, `${name}.ts`), file)
|
||||
fs.copyFileSync(path.join(workspace, folder, `${name}.${name === 'commonjs' ? 'cts' : 'ts'}`), file)
|
||||
return file
|
||||
})
|
||||
const options = {
|
||||
|
||||
@@ -70,16 +70,14 @@ export function runTypechecks() {
|
||||
sourceCount += result.files.filter(file => relative(file).includes('/src/') && !/\.d\.[cm]?ts$/.test(file)).length
|
||||
console.log(`Strict project passed: ${relative(config)} (${result.files.length} root files)`)
|
||||
}
|
||||
for (const mode of ['node10-commonjs', 'nodenext-cjs', 'bundler-esm']) {
|
||||
assert.deepEqual(checkConsumer(ts, mode), [], `Current consumer failed: ${mode}`)
|
||||
console.log(`Consumer passed: TS ${ts.version} ${mode}`)
|
||||
for (const [compiler, mode] of [[ts, 'node10-commonjs'], [ts, 'nodenext-cjs'], [ts, 'bundler-esm'], [ts, 'nodenext-esm'], [compat, 'node10-commonjs']]) {
|
||||
for (const fixture of ['test/types/public.ts', 'test/types/chapter-options.ts', 'test/types/chapter-exports.ts', 'test/types/language-value.ts', 'refactor/fixtures/consumers/language.ts', 'refactor/fixtures/consumers/legacy-plugin.ts']) {
|
||||
assert.deepEqual(checkConsumer(compiler, mode, fs.readFileSync(path.join(root, fixture), 'utf8')), [], `Consumer failed: TS ${compiler.version} ${mode} ${fixture}`)
|
||||
}
|
||||
if (mode === 'nodenext-cjs')
|
||||
assert.deepEqual(checkConsumer(compiler, mode, fs.readFileSync(path.join(root, 'test/types/commonjs.cts'), 'utf8')), [], 'CommonJS export assignment consumer failed')
|
||||
console.log(`Consumers passed: TS ${compiler.version} ${mode}`)
|
||||
}
|
||||
assert.deepEqual(checkConsumer(compat, 'node10-commonjs'), [], 'Old compiler consumer failed')
|
||||
console.log(`Consumer passed: TS ${compat.version} node10-commonjs`)
|
||||
const expected = read('test/types/known-diagnostics.json')
|
||||
const diagnostics = checkConsumer(ts, 'nodenext-esm')
|
||||
assert.deepEqual(diagnostics, expected.diagnostics, 'NodeNext ESM changed: review BASE-TYPE-01; a fix needs updated success assertions')
|
||||
console.log(`Historical failure retained: ${expected.risk}, ${diagnostics.length} NodeNext ESM diagnostics; this is not candidate approval`)
|
||||
console.log(`TypeScript production source files checked: ${sourceCount}; unmigrated JS is not counted`)
|
||||
}
|
||||
|
||||
|
||||
@@ -22,8 +22,10 @@ export restrictions and shared Emitter behavior. Public property descriptors and
|
||||
default configuration are compared against the fixed published core/chapter.
|
||||
This is a targeted compatibility check, not a complete behavioral API comparison.
|
||||
|
||||
Public, chapter-options, language and legacy-plugin TypeScript consumers run with
|
||||
TS 5.9.3 (Node10, NodeNext CJS/ESM and Bundler) and TS 4.3.5 (Node10). Exact known
|
||||
Public, chapter-options, chapter-exports, language and legacy-plugin consumers run with
|
||||
TS 5.9.3 (Node10, NodeNext CJS/ESM and Bundler) and TS 4.3.5 (Node10). NodeNext CJS also
|
||||
checks import-equals/require and namespaced types. PKG-CHAPTER-04 resolved the initial
|
||||
type failures; all five groups now require zero diagnostics. Exact known
|
||||
diagnostics are referenced by `known-types.json` and `test/types/known-diagnostics.json`.
|
||||
Unexpected errors and unexpectedly removed errors both require investigation.
|
||||
Remove a known case when its owning task fixes it; keep frozen release evidence intact.
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
{
|
||||
"note": "Exact published diagnostic references, not release waivers. Remove a case only with a verified fix; never edit the frozen baseline to accept a candidate regression.",
|
||||
"cases": [
|
||||
{ "mode": "node10-commonjs", "fixture": "legacy-plugin.ts", "risk": "BASE-TYPE-03" },
|
||||
{ "mode": "nodenext-esm", "fixture": "legacy-plugin.ts", "risk": "BASE-TYPE-01" },
|
||||
{ "mode": "nodenext-esm", "fixture": "language.ts", "risk": "BASE-TYPE-01" }
|
||||
]
|
||||
"cases": []
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
import type { Option as PlayerOption } from 'artplayer'
|
||||
import type { Chapters, Option, Result } from 'artplayer-plugin-chapter'
|
||||
import Artplayer from 'artplayer'
|
||||
import ArtplayerLegacy from 'artplayer/legacy'
|
||||
import chapter from 'artplayer-plugin-chapter'
|
||||
import chapterLegacy from 'artplayer-plugin-chapter/legacy'
|
||||
|
||||
const chapters: Chapters = [{ start: 0, end: Infinity, title: 'First' }]
|
||||
const option: Option = { chapters }
|
||||
const playerOption: PlayerOption = { container: '#player', url: 'video.mp4', plugins: [chapter(option)] }
|
||||
const art: Artplayer = new ArtplayerLegacy(playerOption)
|
||||
const legacy: ArtplayerLegacy = new Artplayer(playerOption)
|
||||
const result: Result = chapter(option)(art)
|
||||
const oldEntry: Result = chapterLegacy()(legacy)
|
||||
result.update(option)
|
||||
oldEntry.update({})
|
||||
|
||||
// @ts-expect-error Result name is a stable literal, not an arbitrary string.
|
||||
const invalidName: Result['name'] = 'chapter'
|
||||
// @ts-expect-error Required update option remains required through the legacy entry.
|
||||
oldEntry.update()
|
||||
// @ts-expect-error Chapters do not accept string endpoints.
|
||||
const invalid: Chapters = [{ start: 0, end: '8', title: 'Bad' }]
|
||||
void [invalidName, invalid]
|
||||
@@ -0,0 +1,13 @@
|
||||
import Artplayer = require('artplayer')
|
||||
import chapter = require('artplayer-plugin-chapter')
|
||||
import legacy = require('artplayer-plugin-chapter/legacy')
|
||||
import french = require('artplayer/i18n/fr')
|
||||
|
||||
const option: Artplayer.Option = { container: '#player', url: 'video.mp4', i18n: { fr: french } }
|
||||
const art: Artplayer = new Artplayer(option)
|
||||
const result: chapter.Result = chapter()(art)
|
||||
const old: legacy.Result = legacy()(art)
|
||||
result.update({})
|
||||
old.update({})
|
||||
// @ts-expect-error CommonJS callers retain strict endpoint types.
|
||||
chapter({ chapters: [{ start: '0', end: 8, title: 'Invalid' }] })
|
||||
@@ -5,49 +5,6 @@
|
||||
"CORE-07",
|
||||
"PKG-CHAPTER-04"
|
||||
],
|
||||
"scope": "Existing workspace NodeNext ESM failure, not a candidate waiver. Remove expected failures when a documented fix adds passing consumer assertions.",
|
||||
"diagnostics": [
|
||||
{
|
||||
"file": "test/types/consumer.ts",
|
||||
"code": 2349,
|
||||
"line": 8,
|
||||
"message": "This expression is not callable.\n Type 'typeof import(\"<workspace>/packages/artplayer-plugin-chapter/types/artplayer-plugin-chapter\")' has no call signatures."
|
||||
},
|
||||
{
|
||||
"file": "test/types/consumer.ts",
|
||||
"code": 2351,
|
||||
"line": 10,
|
||||
"message": "This expression is not constructable.\n Type 'typeof import(\"<workspace>/packages/artplayer/types/artplayer\")' has no construct signatures."
|
||||
},
|
||||
{
|
||||
"file": "test/types/consumer.ts",
|
||||
"code": 7006,
|
||||
"line": 10,
|
||||
"message": "Parameter 'player' implicitly has an 'any' type."
|
||||
},
|
||||
{
|
||||
"file": "test/types/consumer.ts",
|
||||
"code": 2709,
|
||||
"line": 12,
|
||||
"message": "Cannot use namespace 'Artplayer' as a type."
|
||||
},
|
||||
{
|
||||
"file": "test/types/consumer.ts",
|
||||
"code": 2683,
|
||||
"line": 12,
|
||||
"message": "'this' implicitly has type 'any' because it does not have a type annotation."
|
||||
},
|
||||
{
|
||||
"file": "test/types/consumer.ts",
|
||||
"code": 2339,
|
||||
"line": 17,
|
||||
"message": "Property 'html' does not exist on type 'typeof import(\"<workspace>/packages/artplayer/types/artplayer\")'."
|
||||
},
|
||||
{
|
||||
"file": "test/types/consumer.ts",
|
||||
"code": 2349,
|
||||
"line": 18,
|
||||
"message": "This expression is not callable.\n Type 'typeof import(\"<workspace>/packages/artplayer-plugin-chapter/types/artplayer-plugin-chapter\")' has no call signatures."
|
||||
}
|
||||
]
|
||||
"scope": "Resolved by PKG-CHAPTER-04. Historical failures remain frozen under refactor/baselines/consumers.json; current consumers must have zero diagnostics.",
|
||||
"diagnostics": []
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
import type { I18n } from 'artplayer'
|
||||
import french from 'artplayer/i18n/fr'
|
||||
|
||||
const dictionary: NonNullable<I18n['en']> = french
|
||||
const close: string | undefined = french.Close
|
||||
// @ts-expect-error Translation values cannot be numbers.
|
||||
const numeric: number = french.Close
|
||||
// @ts-expect-error Language values do not have a permissive arbitrary-key index.
|
||||
const missing = french.notATranslation
|
||||
void [dictionary, close, numeric, missing]
|
||||
Reference in new issue
Block a user