diff --git a/package.json b/package.json index b6534f1c8..75fed9f33 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ }, "scripts": { "build:all": "npm run build all && npm run build:i18n && npm run build:ts && npm run build:docs", - "lint": "npx eslint packages/*/src --fix", + "lint": "npx eslint packages/*/{src,types,package.json} --fix", "build:ts": "node ./scripts/build-ts.js", "build:docs": "node ./scripts/build-docs.js", "build:i18n": "node ./scripts/build-i18n.js", diff --git a/packages/artplayer-plugin-ads/types/artplayer-plugin-ads.d.ts b/packages/artplayer-plugin-ads/types/artplayer-plugin-ads.d.ts index f9584cecb..d09720bbf 100644 --- a/packages/artplayer-plugin-ads/types/artplayer-plugin-ads.d.ts +++ b/packages/artplayer-plugin-ads/types/artplayer-plugin-ads.d.ts @@ -1,8 +1,5 @@ import type Artplayer from 'artplayer' -export = artplayerPluginAds -export as namespace artplayerPluginAds; - interface Option { /** * 广告源文本,支持视频链接、图片链接、HTML文本 @@ -50,3 +47,5 @@ interface Ads { } declare const artplayerPluginAds: (option: Option) => (art: Artplayer) => Ads + +export default artplayerPluginAds diff --git a/packages/artplayer-plugin-ambilight/types/artplayer-plugin-ambilight.d.ts b/packages/artplayer-plugin-ambilight/types/artplayer-plugin-ambilight.d.ts index 6b0290bc1..7258dab8e 100644 --- a/packages/artplayer-plugin-ambilight/types/artplayer-plugin-ambilight.d.ts +++ b/packages/artplayer-plugin-ambilight/types/artplayer-plugin-ambilight.d.ts @@ -1,8 +1,5 @@ import type Artplayer from 'artplayer' -export = artplayerPluginAmbilight -export as namespace artplayerPluginAmbilight; - interface Option { blur?: string opacity?: number @@ -18,3 +15,5 @@ interface Result { } declare const artplayerPluginAmbilight: (option: Option) => (art: Artplayer) => Result + +export default artplayerPluginAmbilight diff --git a/packages/artplayer-plugin-auto-thumbnail/types/artplayer-plugin-auto-thumbnail.d.ts b/packages/artplayer-plugin-auto-thumbnail/types/artplayer-plugin-auto-thumbnail.d.ts index 23bbb4dbc..c024713b9 100644 --- a/packages/artplayer-plugin-auto-thumbnail/types/artplayer-plugin-auto-thumbnail.d.ts +++ b/packages/artplayer-plugin-auto-thumbnail/types/artplayer-plugin-auto-thumbnail.d.ts @@ -1,8 +1,5 @@ import type Artplayer from 'artplayer' -export = artplayerPluginAutoThumbnail -export as namespace artplayerPluginAutoThumbnail; - interface Option { url?: string width?: number @@ -15,3 +12,5 @@ interface Result { } declare const artplayerPluginAutoThumbnail: (option: Option) => (art: Artplayer) => Result + +export default artplayerPluginAutoThumbnail diff --git a/packages/artplayer-plugin-chapter/types/artplayer-plugin-chapter.d.ts b/packages/artplayer-plugin-chapter/types/artplayer-plugin-chapter.d.ts index 3ce2a3c35..ea1d72f2f 100644 --- a/packages/artplayer-plugin-chapter/types/artplayer-plugin-chapter.d.ts +++ b/packages/artplayer-plugin-chapter/types/artplayer-plugin-chapter.d.ts @@ -1,8 +1,5 @@ import type Artplayer from 'artplayer' -export = artplayerPluginChapter -export as namespace artplayerPluginChapter; - type Chapters = { start: number end: number @@ -19,3 +16,5 @@ interface Result { } declare const artplayerPluginChapter: (option: Option) => (art: Artplayer) => Result + +export default artplayerPluginChapter diff --git a/packages/artplayer-plugin-chromecast/types/artplayer-plugin-chromecast.d.ts b/packages/artplayer-plugin-chromecast/types/artplayer-plugin-chromecast.d.ts index 47ead352e..7231ad9f1 100644 --- a/packages/artplayer-plugin-chromecast/types/artplayer-plugin-chromecast.d.ts +++ b/packages/artplayer-plugin-chromecast/types/artplayer-plugin-chromecast.d.ts @@ -1,8 +1,5 @@ import type Artplayer from 'artplayer' -export = artplayerPluginChromecast -export as namespace artplayerPluginChromecast; - interface Option { url?: string sdk?: string @@ -15,3 +12,5 @@ interface Chromecast { } declare const artplayerPluginChromecast: (option: Option) => (art: Artplayer) => Chromecast + +export default artplayerPluginChromecast diff --git a/packages/artplayer-plugin-danmuku-mask/types/artplayer-plugin-danmuku-mask.d.ts b/packages/artplayer-plugin-danmuku-mask/types/artplayer-plugin-danmuku-mask.d.ts index 8916518dd..fb9db2673 100644 --- a/packages/artplayer-plugin-danmuku-mask/types/artplayer-plugin-danmuku-mask.d.ts +++ b/packages/artplayer-plugin-danmuku-mask/types/artplayer-plugin-danmuku-mask.d.ts @@ -1,8 +1,5 @@ import type Artplayer from 'artplayer' -export = artplayerPluginDanmukuMask -export as namespace artplayerPluginDanmukuMask; - interface Option { solutionPath?: string modelSelection?: number @@ -23,3 +20,5 @@ interface Result { } declare const artplayerPluginDanmukuMask: (option?: Option) => (art: Artplayer) => Result + +export default artplayerPluginDanmukuMask diff --git a/packages/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku.d.ts b/packages/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku.d.ts index 016efdb7d..3885d03cf 100644 --- a/packages/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku.d.ts +++ b/packages/artplayer-plugin-danmuku/types/artplayer-plugin-danmuku.d.ts @@ -1,8 +1,5 @@ import type Artplayer from 'artplayer' -export = artplayerPluginDanmuku -export as namespace artplayerPluginDanmuku; - type Mode = 0 | 1 | 2 type Danmuku = Danmu[] | string | (() => Promise) | Promise @@ -253,3 +250,5 @@ interface Result { } declare const artplayerPluginDanmuku: (option: Option) => (art: Artplayer) => Result + +export default artplayerPluginDanmuku diff --git a/packages/artplayer-plugin-dash-control/types/artplayer-plugin-dash-control.d.ts b/packages/artplayer-plugin-dash-control/types/artplayer-plugin-dash-control.d.ts index adf60d0de..281889c78 100644 --- a/packages/artplayer-plugin-dash-control/types/artplayer-plugin-dash-control.d.ts +++ b/packages/artplayer-plugin-dash-control/types/artplayer-plugin-dash-control.d.ts @@ -1,8 +1,5 @@ import type Artplayer from 'artplayer' -export = artplayerPluginDashControl -export as namespace artplayerPluginDashControl; - interface Config { control?: boolean setting?: boolean @@ -15,3 +12,5 @@ declare const artplayerPluginDashControl: (option: { quality?: Config, audio?: C name: 'artplayerPluginDashControl' update: () => void } + +export default artplayerPluginDashControl diff --git a/packages/artplayer-plugin-hls-control/types/artplayer-plugin-hls-control.d.ts b/packages/artplayer-plugin-hls-control/types/artplayer-plugin-hls-control.d.ts index c7a4ce996..b5c3191ca 100644 --- a/packages/artplayer-plugin-hls-control/types/artplayer-plugin-hls-control.d.ts +++ b/packages/artplayer-plugin-hls-control/types/artplayer-plugin-hls-control.d.ts @@ -1,8 +1,5 @@ import type Artplayer from 'artplayer' -export = artplayerPluginHlsControl -export as namespace artplayerPluginHlsControl; - interface Config { control?: boolean setting?: boolean @@ -15,3 +12,5 @@ declare const artplayerPluginHlsControl: (option: { quality?: Config, audio?: Co name: 'artplayerPluginHlsControl' update: () => void } + +export default artplayerPluginHlsControl diff --git a/packages/artplayer-plugin-iframe/types/artplayer-plugin-iframe.d.ts b/packages/artplayer-plugin-iframe/types/artplayer-plugin-iframe.d.ts index 6536cf537..f65ff22c1 100644 --- a/packages/artplayer-plugin-iframe/types/artplayer-plugin-iframe.d.ts +++ b/packages/artplayer-plugin-iframe/types/artplayer-plugin-iframe.d.ts @@ -1,6 +1,3 @@ -export = ArtplayerPluginIframe -export as namespace ArtplayerPluginIframe; - interface Message { type: string data: any @@ -15,7 +12,7 @@ declare class ArtplayerPluginIframe { static onMessage(event: MessageEvent & { data: Message }): void static inject(): void - readonly promises: Record + readonly promises: Record any, reject: (...args: any[]) => any }> readonly injected: boolean readonly destroyed: boolean readonly $iframe: HTMLIFrameElement @@ -28,3 +25,5 @@ declare class ArtplayerPluginIframe { message(callback: (...args: any[]) => any): void destroy(): void } + +export default ArtplayerPluginIframe diff --git a/packages/artplayer-plugin-libass/types/artplayer-plugin-libass.d.ts b/packages/artplayer-plugin-libass/types/artplayer-plugin-libass.d.ts index cc79e0570..d6e24de1a 100644 --- a/packages/artplayer-plugin-libass/types/artplayer-plugin-libass.d.ts +++ b/packages/artplayer-plugin-libass/types/artplayer-plugin-libass.d.ts @@ -2,9 +2,6 @@ import type SubtitlesOctopus from '@hrgui/libass-wasm-ts' import type Artplayer from 'artplayer' import type { Options } from 'libass-wasm' -export = artplayerPluginAss -export as namespace artplayerPluginAss; - declare const artplayerPluginAss: (options: Options) => (art: Artplayer) => { name: 'artplayerPluginLibass' libass: SubtitlesOctopus @@ -15,3 +12,5 @@ declare const artplayerPluginAss: (options: Options) => (art: Artplayer) => { hide: () => void destroy: () => void } + +export default artplayerPluginAss diff --git a/packages/artplayer-plugin-multiple-subtitles/types/artplayer-plugin-multiple-subtitles.d.ts b/packages/artplayer-plugin-multiple-subtitles/types/artplayer-plugin-multiple-subtitles.d.ts index 1053c3238..8db6c999d 100644 --- a/packages/artplayer-plugin-multiple-subtitles/types/artplayer-plugin-multiple-subtitles.d.ts +++ b/packages/artplayer-plugin-multiple-subtitles/types/artplayer-plugin-multiple-subtitles.d.ts @@ -1,8 +1,5 @@ import type Artplayer from 'artplayer' -export = artplayerPluginMultipleSubtitles -export as namespace artplayerPluginMultipleSubtitles; - declare const artplayerPluginMultipleSubtitles: (option: { subtitles: { url?: string @@ -14,3 +11,5 @@ declare const artplayerPluginMultipleSubtitles: (option: { }) => (art: Artplayer) => { name: 'multipleSubtitles' } + +export default artplayerPluginMultipleSubtitles diff --git a/packages/artplayer-plugin-vtt-thumbnail/package.json b/packages/artplayer-plugin-vtt-thumbnail/package.json index 9b19fcfcb..1d127daaa 100644 --- a/packages/artplayer-plugin-vtt-thumbnail/package.json +++ b/packages/artplayer-plugin-vtt-thumbnail/package.json @@ -1,30 +1,30 @@ { - "license": "MIT", - "version": "1.0.3", - "name": "artplayer-plugin-vtt-thumbnail", - "description": "vtt thumbnail plugin for ArtPlayer", - "main": "dist/artplayer-plugin-vtt-thumbnail.js", - "legacy": "dist/artplayer-plugin-vtt-thumbnail.legacy.js", - "module": "dist/artplayer-plugin-vtt-thumbnail.esm.js", - "types": "types/artplayer-plugin-vtt-thumbnail.d.ts", - "exports": { - "import": "./dist/artplayer-plugin-vtt-thumbnail.esm.js", - "require": "./dist/artplayer-plugin-vtt-thumbnail.js", - "default": "./dist/artplayer-plugin-vtt-thumbnail.js" - }, - "author": "Harvey Zack ", - "browserslist": "last 1 Chrome version", - "homepage": "https://artplayer.org", - "repository": { - "type": "git", - "url": "git+https://github.com/zhw2590582/ArtPlayer.git" - }, - "bugs": { - "url": "https://github.com/zhw2590582/ArtPlayer/issues" - }, - "keywords": [ - "html5", - "video", - "player" - ] + "name": "artplayer-plugin-vtt-thumbnail", + "version": "1.0.3", + "description": "vtt thumbnail plugin for ArtPlayer", + "author": "Harvey Zack ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + "import": "./dist/artplayer-plugin-vtt-thumbnail.esm.js", + "require": "./dist/artplayer-plugin-vtt-thumbnail.js", + "default": "./dist/artplayer-plugin-vtt-thumbnail.js" + }, + "main": "dist/artplayer-plugin-vtt-thumbnail.js", + "legacy": "dist/artplayer-plugin-vtt-thumbnail.legacy.js", + "module": "dist/artplayer-plugin-vtt-thumbnail.esm.js", + "types": "types/artplayer-plugin-vtt-thumbnail.d.ts", + "browserslist": "last 1 Chrome version" } diff --git a/packages/artplayer-plugin-vtt-thumbnail/types/artplayer-plugin-vtt-thumbnail.d.ts b/packages/artplayer-plugin-vtt-thumbnail/types/artplayer-plugin-vtt-thumbnail.d.ts index 59f5b290f..3bf11eddc 100644 --- a/packages/artplayer-plugin-vtt-thumbnail/types/artplayer-plugin-vtt-thumbnail.d.ts +++ b/packages/artplayer-plugin-vtt-thumbnail/types/artplayer-plugin-vtt-thumbnail.d.ts @@ -1,10 +1,9 @@ import type Artplayer from 'artplayer' -export = artplayerPluginVttThumbnail -export as namespace artplayerPluginVttThumbnail; - declare const artplayerPluginVttThumbnail: (option: { vtt?: string, style?: Partial }) => ( art: Artplayer, ) => { name: 'artplayerPluginVttThumbnail' } + +export default artplayerPluginVttThumbnail diff --git a/packages/artplayer-proxy-canvas/package.json b/packages/artplayer-proxy-canvas/package.json index 30a42dc1c..00cf93dad 100644 --- a/packages/artplayer-proxy-canvas/package.json +++ b/packages/artplayer-proxy-canvas/package.json @@ -1,30 +1,30 @@ { - "license": "MIT", - "version": "1.0.0", - "name": "artplayer-proxy-canvas", - "description": "canvas proxy for ArtPlayer", - "main": "dist/artplayer-proxy-canvas.js", - "legacy": "dist/artplayer-proxy-canvas.legacy.js", - "module": "dist/artplayer-proxy-canvas.esm.js", - "types": "types/artplayer-proxy-canvas.d.ts", - "exports": { - "import": "./dist/artplayer-proxy-canvas.esm.js", - "require": "./dist/artplayer-proxy-canvas.js", - "default": "./dist/artplayer-proxy-canvas.js" - }, - "author": "Harvey Zack ", - "browserslist": "last 1 Chrome version", - "homepage": "https://artplayer.org", - "repository": { - "type": "git", - "url": "git+https://github.com/zhw2590582/ArtPlayer.git" - }, - "bugs": { - "url": "https://github.com/zhw2590582/ArtPlayer/issues" - }, - "keywords": [ - "html5", - "video", - "player" - ] + "name": "artplayer-proxy-canvas", + "version": "1.0.0", + "description": "canvas proxy for ArtPlayer", + "author": "Harvey Zack ", + "license": "MIT", + "homepage": "https://artplayer.org", + "repository": { + "type": "git", + "url": "git+https://github.com/zhw2590582/ArtPlayer.git" + }, + "bugs": { + "url": "https://github.com/zhw2590582/ArtPlayer/issues" + }, + "keywords": [ + "html5", + "video", + "player" + ], + "exports": { + "import": "./dist/artplayer-proxy-canvas.esm.js", + "require": "./dist/artplayer-proxy-canvas.js", + "default": "./dist/artplayer-proxy-canvas.js" + }, + "main": "dist/artplayer-proxy-canvas.js", + "legacy": "dist/artplayer-proxy-canvas.legacy.js", + "module": "dist/artplayer-proxy-canvas.esm.js", + "types": "types/artplayer-proxy-canvas.d.ts", + "browserslist": "last 1 Chrome version" } diff --git a/packages/artplayer-proxy-canvas/types/artplayer-proxy-canvas.d.ts b/packages/artplayer-proxy-canvas/types/artplayer-proxy-canvas.d.ts index 3cea65517..f9ab95345 100644 --- a/packages/artplayer-proxy-canvas/types/artplayer-proxy-canvas.d.ts +++ b/packages/artplayer-proxy-canvas/types/artplayer-proxy-canvas.d.ts @@ -1,10 +1,9 @@ import type Artplayer from 'artplayer' -export = artplayerProxyCanvas -export as namespace artplayerProxyCanvas; - type Option = (ctx: CanvasRenderingContext2D, video: HTMLVideoElement) => void type Result = HTMLCanvasElement declare const artplayerProxyCanvas: (option: Option) => (art: Artplayer) => Result + +export default artplayerProxyCanvas diff --git a/packages/artplayer/types/artplayer.d.ts b/packages/artplayer/types/artplayer.d.ts index 897bd2b88..2c7b2892f 100644 --- a/packages/artplayer/types/artplayer.d.ts +++ b/packages/artplayer/types/artplayer.d.ts @@ -4,16 +4,13 @@ import type { Events } from './events' import type { I18n } from './i18n' import type { Icons } from './icons' import type { Option } from './option' +import type { Player } from './player' import type { Setting, SettingOption } from './setting' import type { Subtitle } from './subtitle' import type { Template } from './template' import type { Utils } from './utils' -import { Player } from './player' -export = Artplayer -export as namespace Artplayer; - -declare class Artplayer extends Player { +export default class Artplayer extends Player { constructor(option: Option, readyCallback?: (this: Artplayer, art: Artplayer) => unknown) get Config(): Config @@ -36,7 +33,7 @@ declare class Artplayer extends Player { static readonly config: Config static readonly utils: Utils static readonly scheme: Record - static readonly Emitter: Function + static readonly Emitter: (...args: any[]) => any static readonly validator: (option: T, scheme: object) => T static readonly kindOf: (item: any) => string static readonly html: Artplayer['template']['html'] @@ -95,13 +92,13 @@ declare class Artplayer extends Player { on(name: T, fn: (...args: Events[T]) => unknown, ctx?: object): unknown once(name: T, fn: (...args: Events[T]) => unknown, ctx?: object): unknown emit(name: T, ...args: unknown[]): unknown - off(name: T, callback?: Function): unknown + off(name: T, callback?: ((...args: Events[T]) => unknown)): unknown query: Artplayer['template']['query'] proxy: Artplayer['events']['proxy'] video: Artplayer['template']['$video'] - e: Record + e: Record any, ctx: unknown }[]> destroy(removeHtml?: boolean): void @@ -166,7 +163,7 @@ declare class Artplayer extends Player { readonly hotkey: { keys: Record any)[]> add: (key: string, callback: (this: Artplayer, event: Event) => any) => Artplayer['hotkey'] - remove: (key: string, callback: Function) => Artplayer['hotkey'] + remove: (key: string, callback: (event: Event) => any) => Artplayer['hotkey'] } readonly mask: Component diff --git a/packages/artplayer/types/component.d.ts b/packages/artplayer/types/component.d.ts index 7f8d7a192..9ccdf01a3 100644 --- a/packages/artplayer/types/component.d.ts +++ b/packages/artplayer/types/component.d.ts @@ -1,4 +1,4 @@ -import Artplayer = require('./artplayer') +import type Artplayer from './artplayer' export interface Selector { /** diff --git a/packages/artplayer/types/option.d.ts b/packages/artplayer/types/option.d.ts index 26ba3550f..95e4d630d 100644 --- a/packages/artplayer/types/option.d.ts +++ b/packages/artplayer/types/option.d.ts @@ -1,3 +1,4 @@ +import type Artplayer from './artplayer' import type { ComponentOption } from './component' import type { CssVar } from './cssVar' import type { I18n } from './i18n' @@ -5,7 +6,6 @@ import type { Icons } from './icons' import type { Quality } from './quality' import type { Setting } from './setting' import type { Subtitle } from './subtitle' -import Artplayer = require('./artplayer') export type CustomType = 'flv' | 'm3u8' | 'hls' | 'ts' | 'mpd' | 'torrent' | (string & Record) @@ -281,7 +281,7 @@ export interface Option { * Other video attribute */ moreVideoAttr?: Partial<{ - [key in keyof HTMLVideoElement as HTMLVideoElement[key] extends Function ? never : key]: HTMLVideoElement[key]; + [key in keyof HTMLVideoElement as HTMLVideoElement[key] extends (...args: any[]) => any ? never : key]: HTMLVideoElement[key]; }> /** diff --git a/packages/artplayer/types/player.d.ts b/packages/artplayer/types/player.d.ts index 64722fe8f..b741282e2 100644 --- a/packages/artplayer/types/player.d.ts +++ b/packages/artplayer/types/player.d.ts @@ -25,10 +25,8 @@ export declare class Player { set flip(state: Flip) get fullscreen(): boolean set fullscreen(state: boolean) - set fullscreenToggle(state: boolean) get fullscreenWeb(): boolean set fullscreenWeb(state: boolean) - set fullscreenWebToggle(state: boolean) get loaded(): number get loadedTime(): number get mini(): boolean @@ -47,8 +45,11 @@ export declare class Player { get x(): number get y(): number set seek(time: number) + get seek(): number set forward(time: number) + get forward(): number set backward(time: number) + get backward(): number get url(): string set url(url: string) get volume(): number @@ -62,7 +63,9 @@ export declare class Player { get subtitleOffset(): number set subtitleOffset(time: number) set switch(url: string) + get switch(): string set quality(quality: Quality[]) + get quality(): Quality[] get thumbnails(): Thumbnails set thumbnails(thumbnails: Thumbnails) pause(): void diff --git a/packages/artplayer/types/setting.d.ts b/packages/artplayer/types/setting.d.ts index 56d0a5771..af2c45211 100644 --- a/packages/artplayer/types/setting.d.ts +++ b/packages/artplayer/types/setting.d.ts @@ -1,4 +1,4 @@ -import Artplayer = require('./artplayer') +import type Artplayer from './artplayer' type Props = { html: string @@ -13,7 +13,7 @@ type Props = { $parent: Setting $parents: Setting[] $option: Setting[] - $events: Function[] + $events: Array<(...args: any[]) => any> $formatted: boolean } & Omit