@@ -5,7 +5,7 @@ import { copySync, removeSync } from 'fs-extra';
55import { dirname , join } from 'path' ;
66import { execSync , spawn , SpawnOptionsWithoutStdio } from 'child_process' ;
77import { defaultFunction , functionGen2 , defaultPackage , DEFAULT_FUNCTION_NAME , dockerfile } from './functions-templates' ;
8- import { satisfies } from 'semver' ;
8+ import { satisfies , lt } from 'semver' ;
99import open from 'open' ;
1010import { SchematicsException } from '@angular-devkit/schematics' ;
1111import { firebaseFunctionsDependencies } from '../versions.json' ;
@@ -79,7 +79,7 @@ const deployToHosting = async (
7979 await firebaseTools . serve ( {
8080 port : DEFAULT_EMULATOR_PORT ,
8181 host : DEFAULT_EMULATOR_HOST ,
82- targets : [ `hosting:${ siteTarget } ` ] ,
82+ only : `hosting:${ siteTarget } ` ,
8383 nonInteractive : true ,
8484 projectRoot : workspaceRoot ,
8585 } ) ;
@@ -92,6 +92,8 @@ const deployToHosting = async (
9292
9393 if ( ! deployProject ) { return ; }
9494
95+ process . env . FIREBASE_FRAMEWORKS_SKIP_BUILD = 'true' ;
96+
9597 }
9698
9799 return await firebaseTools . deploy ( {
@@ -394,37 +396,44 @@ export default async function deploy(
394396 console . log ( `Logged into Firebase as ${ user . email } .` ) ;
395397 }
396398
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 ) {
398406
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 ;
404412
405- } else {
413+ } else {
406414
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+ }
410418
411- context . logger . info ( `📦 Building "${ context . target . project } "` ) ;
419+ context . logger . info ( `📦 Building "${ context . target . project } "` ) ;
412420
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+ ] ;
419427
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+ }
426434
427- await Promise . all ( builders ) ;
435+ await Promise . all ( builders ) ;
436+ }
428437 }
429438
430439 try {
@@ -457,7 +466,7 @@ export default async function deploy(
457466
458467 firebaseTools . logger . logger . add ( logger ) ;
459468
460- if ( serverBuildTarget ) {
469+ if ( ( ! options . version || options . version < 2 ) && serverBuildTarget ) {
461470 if ( options . ssr === 'cloud-run' ) {
462471 await deployToCloudRun (
463472 firebaseTools ,
0 commit comments