MCPcopy
hub / github.com/angular/angularfire / deploy

Function deploy

src/schematics/deploy/actions.ts:383–508  ·  view source on GitHub ↗
(
  firebaseTools: FirebaseTools,
  context: BuilderContext,
  staticBuildTarget: BuildTarget,
  serverBuildTarget: BuildTarget | undefined,
  prerenderBuildTarget: BuildTarget | undefined,
  firebaseProject: string,
  options: DeployBuilderOptions,
  firebaseToken?: string,
)

Source from the content-addressed store, hash-verified

381};
382
383export default async function deploy(
384 firebaseTools: FirebaseTools,
385 context: BuilderContext,
386 staticBuildTarget: BuildTarget,
387 serverBuildTarget: BuildTarget | undefined,
388 prerenderBuildTarget: BuildTarget | undefined,
389 firebaseProject: string,
390 options: DeployBuilderOptions,
391 firebaseToken?: string,
392) {
393 const legacyNgDeploy = !options.version || options.version < 2;
394
395 if (!firebaseToken && !process.env.GOOGLE_APPLICATION_CREDENTIALS) {
396 await firebaseTools.login();
397 const user = await firebaseTools.login({ projectRoot: context.workspaceRoot });
398 console.log(`Logged into Firebase as ${user.email}.`);
399 }
400
401 if (!firebaseToken && process.env.GOOGLE_APPLICATION_CREDENTIALS) {
402 await spawnAsync(`gcloud auth activate-service-account --key-file ${process.env.GOOGLE_APPLICATION_CREDENTIALS}`);
403 console.log(`Using Google Application Credentials.`);
404 }
405
406 if (legacyNgDeploy) {
407 console.error(`Legacy ng-deploy Firebase is deprecated.
408Please migrate to Firebase Hosting's integration with Angular https://firebase.google.com/docs/hosting/frameworks/angular
409or the new Firebase App Hosting product https://firebase.google.com/docs/app-hosting`);
410 }
411
412 if (prerenderBuildTarget) {
413 const run = await context.scheduleTarget(
414 targetFromTargetString(prerenderBuildTarget.name),
415 prerenderBuildTarget.options
416 );
417 await run.result;
418
419 } else {
420
421 if (!context.target) {
422 throw new Error('Cannot execute the build target');
423 }
424
425 context.logger.info(`📦 Building "${context.target.project}"`);
426
427 const builders = [
428 context.scheduleTarget(
429 targetFromTargetString(staticBuildTarget.name),
430 staticBuildTarget.options
431 ).then(run => run.result)
432 ];
433
434 if (serverBuildTarget) {
435 builders.push(context.scheduleTarget(
436 targetFromTargetString(serverBuildTarget.name),
437 serverBuildTarget.options
438 ).then(run => run.result));
439 }
440

Callers 2

actions.jasmine.tsFile · 0.85
builder.tsFile · 0.85

Calls 8

spawnAsyncFunction · 0.85
deployToCloudRunFunction · 0.85
deployToFunctionFunction · 0.85
deployToHostingFunction · 0.85
thenMethod · 0.80
pushMethod · 0.80
useMethod · 0.80
addMethod · 0.80

Tested by

no test coverage detected