@@ -2,7 +2,7 @@ import {task} from 'gulp';
22import { readdirSync , statSync , existsSync , mkdirSync } from 'fs' ;
33import { openScreenshotsCloudStorage , openFirebaseScreenshotsDatabase } from '../task_helpers' ;
44import * as path from 'path' ;
5- import * as firebase from 'firebase' ;
5+ import * as admin from 'firebase-admin ' ;
66const imageDiff = require ( 'image-diff' ) ;
77
88const SCREENSHOT_DIR = './screenshots' ;
@@ -25,33 +25,33 @@ task('screenshots', () => {
2525 }
2626} ) ;
2727
28- function updateFileResult ( database : firebase . database . Database , prNumber : string ,
29- filenameKey : string , result : boolean ) : firebase . Promise < void > {
28+ function updateFileResult ( database : admin . database . Database , prNumber : string ,
29+ filenameKey : string , result : boolean ) : admin . Promise < void > {
3030 return database . ref ( FIREBASE_REPORT ) . child ( `${ prNumber } /results/${ filenameKey } ` ) . set ( result ) ;
3131}
3232
33- function updateResult ( database : firebase . database . Database , prNumber : string ,
34- result : boolean ) : firebase . Promise < void > {
33+ function updateResult ( database : admin . database . Database , prNumber : string ,
34+ result : boolean ) : admin . Promise < void > {
3535 return database . ref ( FIREBASE_REPORT ) . child ( `${ prNumber } /result` ) . set ( result ) ;
3636}
3737
38- function updateCommit ( database : firebase . database . Database ,
39- prNumber : string ) : firebase . Promise < void > {
38+ function updateCommit ( database : admin . database . Database ,
39+ prNumber : string ) : admin . Promise < void > {
4040 return database . ref ( FIREBASE_REPORT ) . child ( `${ prNumber } /commit` )
4141 . set ( process . env [ 'TRAVIS_COMMIT' ] ) ;
4242}
4343
4444/** Get a list of filenames from firebase database. */
45- function getScreenFilenames ( database : firebase . database . Database ) : firebase . Promise < string [ ] > {
45+ function getScreenFilenames ( database : admin . database . Database ) : admin . Promise < string [ ] > {
4646 return database . ref ( FIREBASE_FILELIST ) . once ( 'value' )
47- . then ( ( snapshots : firebase . database . DataSnapshot ) => {
47+ . then ( ( snapshots : admin . database . DataSnapshot ) => {
4848 return snapshots . val ( ) ;
4949 } ) ;
5050}
5151
5252/** Upload a list of filenames to firebase database as gold. */
53- function setScreenFilenames ( database : firebase . database . Database ,
54- reportKey ?: string ) : firebase . Promise < void > {
53+ function setScreenFilenames ( database : admin . database . Database ,
54+ reportKey ?: string ) : admin . Promise < void > {
5555 let filenames : string [ ] = [ ] ;
5656 readdirSync ( SCREENSHOT_DIR ) . map ( ( file : string ) => {
5757 let fullName = path . join ( SCREENSHOT_DIR , file ) ;
@@ -78,7 +78,7 @@ function setScreenFilenames(database: firebase.database.Database,
7878function uploadScreenshots ( reportKey ?: string , mode ?: 'test' | 'diff' ) {
7979 let bucket = openScreenshotsCloudStorage ( ) ;
8080
81- let promises : firebase . Promise < void > [ ] = [ ] ;
81+ let promises : admin . Promise < void > [ ] = [ ] ;
8282 let localDir = mode == 'diff' ? `${ SCREENSHOT_DIR } /diff` : SCREENSHOT_DIR ;
8383 readdirSync ( localDir ) . map ( ( file : string ) => {
8484 let fileName = path . join ( localDir , file ) ;
@@ -90,7 +90,7 @@ function uploadScreenshots(reportKey?: string, mode?: 'test' | 'diff') {
9090 promises . push ( bucket . upload ( fileName , { destination : destination } ) ) ;
9191 }
9292 } ) ;
93- return firebase . Promise . all ( promises ) ;
93+ return admin . Promise . all ( promises ) ;
9494}
9595
9696/** Check whether the directory exists. If not then create one. */
@@ -102,11 +102,11 @@ function _makeDir(dirName: string) {
102102
103103/** Download golds screenshots. */
104104function downloadAllGolds (
105- filenames : string [ ] , database : firebase . database . Database ,
106- reportKey : string ) : firebase . Promise < boolean > {
105+ filenames : string [ ] , database : admin . database . Database ,
106+ reportKey : string ) : admin . Promise < boolean > {
107107 _makeDir ( `${ SCREENSHOT_DIR } /golds` ) ;
108108
109- return firebase . Promise . all ( filenames . map ( ( filename : string ) => {
109+ return admin . Promise . all ( filenames . map ( ( filename : string ) => {
110110 return downloadGold ( filename ) . then ( ( ) => diffScreenshot ( filename , database , reportKey ) ) ;
111111 } ) ) . then ( ( results : boolean [ ] ) => results . every ( ( value : boolean ) => value == true ) ) ;
112112}
@@ -119,16 +119,16 @@ function downloadGold(filename: string): Promise<void> {
119119 } ) ;
120120}
121121
122- function diffScreenshot ( filename : string , database : firebase . database . Database ,
123- reportKey : string ) : firebase . Promise < boolean > {
122+ function diffScreenshot ( filename : string , database : admin . database . Database ,
123+ reportKey : string ) : admin . Promise < boolean > {
124124 // TODO(tinayuangao): Run the downloads and diffs in parallel.
125125 let goldUrl = `${ SCREENSHOT_DIR } /golds/${ filename } ` ;
126126 let pullRequestUrl = `${ SCREENSHOT_DIR } /${ filename } ` ;
127127 let diffUrl = `${ SCREENSHOT_DIR } /diff/${ filename } ` ;
128128 let filenameKey = filename . replace ( '.screenshot.png' , '' ) ;
129129
130130 if ( existsSync ( goldUrl ) && existsSync ( pullRequestUrl ) ) {
131- return new firebase . Promise ( ( resolve : any , reject : any ) => {
131+ return new admin . Promise ( ( resolve : any , reject : any ) => {
132132 imageDiff ( {
133133 actualImage : pullRequestUrl ,
134134 expectedImage : goldUrl ,
0 commit comments