@@ -5,7 +5,7 @@ import { copySync, removeSync } from 'fs-extra';
5
5
import { dirname , join } from 'path' ;
6
6
import { execSync , spawn , SpawnOptionsWithoutStdio } from 'child_process' ;
7
7
import { defaultFunction , functionGen2 , defaultPackage , DEFAULT_FUNCTION_NAME , dockerfile } from './functions-templates' ;
8
- import { satisfies } from 'semver' ;
8
+ import { satisfies , lt } from 'semver' ;
9
9
import open from 'open' ;
10
10
import { SchematicsException } from '@angular-devkit/schematics' ;
11
11
import { firebaseFunctionsDependencies } from '../versions.json' ;
@@ -79,7 +79,7 @@ const deployToHosting = async (
79
79
await firebaseTools . serve ( {
80
80
port : DEFAULT_EMULATOR_PORT ,
81
81
host : DEFAULT_EMULATOR_HOST ,
82
- targets : [ `hosting:${ siteTarget } ` ] ,
82
+ only : `hosting:${ siteTarget } ` ,
83
83
nonInteractive : true ,
84
84
projectRoot : workspaceRoot ,
85
85
} ) ;
@@ -92,6 +92,8 @@ const deployToHosting = async (
92
92
93
93
if ( ! deployProject ) { return ; }
94
94
95
+ process . env . FIREBASE_FRAMEWORKS_SKIP_BUILD = 'true' ;
96
+
95
97
}
96
98
97
99
return await firebaseTools . deploy ( {
@@ -394,37 +396,44 @@ export default async function deploy(
394
396
console . log ( `Logged into Firebase as ${ user . email } .` ) ;
395
397
}
396
398
397
- if ( prerenderBuildTarget ) {
399
+ if ( options . version && options . version >= 2 ) {
400
+ if ( lt ( firebaseTools . cli . version ( ) , '12.2' ) ) {
401
+ throw new SchematicsException ( 'firebase-tools version 12.2+ is required.' ) ;
402
+ }
403
+ process . env . FIREBASE_FRAMEWORK_BUILD_TARGET = ( prerenderBuildTarget || serverBuildTarget || staticBuildTarget ) . name ;
404
+ } else {
405
+ if ( prerenderBuildTarget ) {
398
406
399
- const run = await context . scheduleTarget (
400
- targetFromTargetString ( prerenderBuildTarget . name ) ,
401
- prerenderBuildTarget . options
402
- ) ;
403
- await run . result ;
407
+ const run = await context . scheduleTarget (
408
+ targetFromTargetString ( prerenderBuildTarget . name ) ,
409
+ prerenderBuildTarget . options
410
+ ) ;
411
+ await run . result ;
404
412
405
- } else {
413
+ } else {
406
414
407
- if ( ! context . target ) {
408
- throw new Error ( 'Cannot execute the build target' ) ;
409
- }
415
+ if ( ! context . target ) {
416
+ throw new Error ( 'Cannot execute the build target' ) ;
417
+ }
410
418
411
- context . logger . info ( `📦 Building "${ context . target . project } "` ) ;
419
+ context . logger . info ( `📦 Building "${ context . target . project } "` ) ;
412
420
413
- const builders = [
414
- context . scheduleTarget (
415
- targetFromTargetString ( staticBuildTarget . name ) ,
416
- staticBuildTarget . options
417
- ) . then ( run => run . result )
418
- ] ;
421
+ const builders = [
422
+ context . scheduleTarget (
423
+ targetFromTargetString ( staticBuildTarget . name ) ,
424
+ staticBuildTarget . options
425
+ ) . then ( run => run . result )
426
+ ] ;
419
427
420
- if ( serverBuildTarget ) {
421
- builders . push ( context . scheduleTarget (
422
- targetFromTargetString ( serverBuildTarget . name ) ,
423
- serverBuildTarget . options
424
- ) . then ( run => run . result ) ) ;
425
- }
428
+ if ( serverBuildTarget ) {
429
+ builders . push ( context . scheduleTarget (
430
+ targetFromTargetString ( serverBuildTarget . name ) ,
431
+ serverBuildTarget . options
432
+ ) . then ( run => run . result ) ) ;
433
+ }
426
434
427
- await Promise . all ( builders ) ;
435
+ await Promise . all ( builders ) ;
436
+ }
428
437
}
429
438
430
439
try {
@@ -457,7 +466,7 @@ export default async function deploy(
457
466
458
467
firebaseTools . logger . logger . add ( logger ) ;
459
468
460
- if ( serverBuildTarget ) {
469
+ if ( ( ! options . version || options . version < 2 ) && serverBuildTarget ) {
461
470
if ( options . ssr === 'cloud-run' ) {
462
471
await deployToCloudRun (
463
472
firebaseTools ,
0 commit comments