Skip to content

Commit 42cf667

Browse files
committed
fixup! build: update all non-major dependencies
1 parent 6b1bae5 commit 42cf667

6 files changed

Lines changed: 40 additions & 17 deletions

File tree

goldens/youtube-player/index.api.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { Observable } from 'rxjs';
1414
import { OnChanges } from '@angular/core';
1515
import { OnDestroy } from '@angular/core';
1616
import { SimpleChanges } from '@angular/core';
17+
import * as YT_2 from 'youtube';
1718

1819
// @public
1920
export type PlaceholderImageQuality = 'high' | 'standard' | 'low';
@@ -24,18 +25,18 @@ export const YOUTUBE_PLAYER_CONFIG: InjectionToken<YouTubePlayerConfig>;
2425
// @public
2526
export class YouTubePlayer implements AfterViewInit, OnChanges, OnDestroy {
2627
constructor();
27-
readonly apiChange: Observable<YT.PlayerEvent>;
28+
readonly apiChange: Observable<YT_2.PlayerEvent>;
2829
disableCookies: boolean;
2930
disablePlaceholder: boolean;
3031
endSeconds: number | undefined;
31-
readonly error: Observable<YT.OnErrorEvent>;
32+
readonly error: Observable<YT_2.OnErrorEvent>;
3233
getAvailablePlaybackRates(): number[];
33-
getAvailableQualityLevels(): YT.SuggestedVideoQuality[];
34+
getAvailableQualityLevels(): YT_2.SuggestedVideoQuality[];
3435
getCurrentTime(): number;
3536
getDuration(): number;
36-
getPlaybackQuality(): YT.SuggestedVideoQuality;
37+
getPlaybackQuality(): YT_2.SuggestedVideoQuality;
3738
getPlaybackRate(): number;
38-
getPlayerState(): YT.PlayerState | undefined;
39+
getPlayerState(): YT_2.PlayerState | undefined;
3940
getVideoEmbedCode(): string;
4041
getVideoLoadedFraction(): number;
4142
getVideoUrl(): string;
@@ -75,21 +76,21 @@ export class YouTubePlayer implements AfterViewInit, OnChanges, OnDestroy {
7576
pauseVideo(): void;
7677
placeholderButtonLabel: string;
7778
placeholderImageQuality: PlaceholderImageQuality;
78-
readonly playbackQualityChange: Observable<YT.OnPlaybackQualityChangeEvent>;
79-
readonly playbackRateChange: Observable<YT.OnPlaybackRateChangeEvent>;
80-
playerVars: YT.PlayerVars | undefined;
79+
readonly playbackQualityChange: Observable<YT_2.OnPlaybackQualityChangeEvent>;
80+
readonly playbackRateChange: Observable<YT_2.OnPlaybackRateChangeEvent>;
81+
playerVars: YT_2.PlayerVars | undefined;
8182
playVideo(): void;
82-
readonly ready: Observable<YT.PlayerEvent>;
83+
readonly ready: Observable<YT_2.PlayerEvent>;
8384
requestFullscreen(options?: FullscreenOptions): Promise<void>;
8485
seekTo(seconds: number, allowSeekAhead: boolean): void;
8586
setPlaybackRate(playbackRate: number): void;
8687
setVolume(volume: number): void;
8788
protected _shouldShowPlaceholder(): boolean;
8889
showBeforeIframeApiLoads: boolean;
8990
startSeconds: number | undefined;
90-
readonly stateChange: Observable<YT.OnStateChangeEvent>;
91+
readonly stateChange: Observable<YT_2.OnStateChangeEvent>;
9192
stopVideo(): void;
92-
suggestedQuality: YT.SuggestedVideoQuality | undefined;
93+
suggestedQuality: YT_2.SuggestedVideoQuality | undefined;
9394
unMute(): void;
9495
videoId: string | undefined;
9596
get width(): number;

pkg-externals.bzl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ PKG_EXTERNALS = [
5353
"selenium-webdriver",
5454
"safevalues",
5555
"safevalues/dom",
56+
"youtube",
5657
]
5758

5859
# Creates externals for a given package and its entry-points.

src/youtube-player/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ ng_project(
7979
":youtube-player",
8080
"//:node_modules/@angular/core",
8181
"//:node_modules/@angular/platform-browser",
82+
"//:node_modules/@types/youtube",
8283
"//:node_modules/rxjs",
8384
],
8485
)

src/youtube-player/fake-youtube-player.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
* found in the LICENSE file at https://angular.dev/license
77
*/
88

9+
import type * as YT from 'youtube';
10+
911
// A re-creation of YT.PlayerState since enum values cannot be bound to the window object.
1012
const playerState = {
1113
UNSTARTED: -1,

src/youtube-player/youtube-player.spec.ts

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import {
1515
YouTubePlayer,
1616
} from './youtube-player';
1717
import {PlaceholderImageQuality} from './youtube-player-placeholder';
18+
import type * as YT from 'youtube';
1819

1920
declare var window: Window;
2021

@@ -200,7 +201,9 @@ describe('YoutubePlayer', () => {
200201
fixture.detectChanges();
201202
events.onReady({target: playerSpy});
202203

203-
const playerVars: YT.PlayerVars = {modestbranding: YT.ModestBranding.Modest};
204+
const playerVars: YT.PlayerVars = {
205+
modestbranding: (window as Window & {YT?: typeof YT}).YT!.ModestBranding.Modest,
206+
};
204207
fixture.componentInstance.playerVars = playerVars;
205208
fixture.changeDetectorRef.markForCheck();
206209
fixture.detectChanges();
@@ -389,7 +392,9 @@ describe('YoutubePlayer', () => {
389392
fixture.detectChanges();
390393

391394
testComponent.youtubePlayer.playVideo();
392-
expect(testComponent.youtubePlayer.getPlayerState()).toBe(YT.PlayerState.PLAYING);
395+
expect(testComponent.youtubePlayer.getPlayerState()).toBe(
396+
(window as Window & {YT?: typeof YT}).YT!.PlayerState.PLAYING,
397+
);
393398

394399
events.onReady({target: playerSpy});
395400

@@ -401,7 +406,9 @@ describe('YoutubePlayer', () => {
401406
fixture.detectChanges();
402407

403408
testComponent.youtubePlayer.pauseVideo();
404-
expect(testComponent.youtubePlayer.getPlayerState()).toBe(YT.PlayerState.PAUSED);
409+
expect(testComponent.youtubePlayer.getPlayerState()).toBe(
410+
(window as Window & {YT?: typeof YT}).YT!.PlayerState.PAUSED,
411+
);
405412

406413
events.onReady({target: playerSpy});
407414

@@ -413,7 +420,9 @@ describe('YoutubePlayer', () => {
413420
fixture.detectChanges();
414421

415422
testComponent.youtubePlayer.stopVideo();
416-
expect(testComponent.youtubePlayer.getPlayerState()).toBe(YT.PlayerState.CUED);
423+
expect(testComponent.youtubePlayer.getPlayerState()).toBe(
424+
(window as Window & {YT?: typeof YT}).YT!.PlayerState.CUED,
425+
);
417426

418427
events.onReady({target: playerSpy});
419428

src/youtube-player/youtube-player.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
// Workaround for: https://github.com/bazelbuild/rules_nodejs/issues/1265
1010
/// <reference types="youtube" preserve="true" />
1111

12+
import type * as YT from 'youtube';
13+
1214
import {
1315
ChangeDetectionStrategy,
1416
Component,
@@ -576,7 +578,10 @@ export class YouTubePlayer implements AfterViewInit, OnChanges, OnDestroy {
576578

577579
// A player can't be created if the API isn't loaded,
578580
// or there isn't a video or playlist to be played.
579-
if (typeof YT === 'undefined' || (!this.videoId && !this.playerVars?.list)) {
581+
if (
582+
typeof (window as Window & {YT?: typeof YT}).YT === 'undefined' ||
583+
(!this.videoId && !this.playerVars?.list)
584+
) {
580585
return;
581586
}
582587

@@ -597,7 +602,11 @@ export class YouTubePlayer implements AfterViewInit, OnChanges, OnDestroy {
597602
params.videoId = this.videoId;
598603
}
599604
const player = this._ngZone.runOutsideAngular(
600-
() => new YT.Player(this.youtubeContainer.nativeElement, params),
605+
() =>
606+
new (window as Window & {YT?: typeof YT}).YT!.Player(
607+
this.youtubeContainer.nativeElement,
608+
params,
609+
),
601610
);
602611

603612
const whenReady = (event: YT.PlayerEvent) => {

0 commit comments

Comments
 (0)