Skip to content

Commit 3128547

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

5 files changed

Lines changed: 28 additions & 6 deletions

File tree

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)