Firebase-tools: рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд╛рдпрд░рдмреЗрд╕-рдЯреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 29 рдЕрдкреНрд░реИрд▓ 2017  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: firebase/firebase-tools

рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЖрджреЗрд╢ рдЬреЛ рдЖрдк CLI рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдмрд╣реБрдд рдХрдард┐рди рд╣реИ рдХрд┐ рдЗрд╕реЗ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╕рд┐рдВрдЯреИрдХреНрд╕, рдЙрдкрд▓рдмреНрдз рдХрдорд╛рдВрдб рдЖрджрд┐ рдкрд░ рдЕрджреНрдпрддрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛ред

рдореЗрд░реЗ рдкрд╛рд╕ рдкреНрд░рд╢реНрди рд╣реИрдВ (рдпрд╛ рд╣рд▓ рдХрд┐рдП рдЧрдП рд╣реИрдВ):

  • tools.functions.config.get рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдХреИрд╕реЗ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ
  • рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рддреИрдирд╛рдд рдХрд░реЗрдВ
  • рддреИрдирд╛рдд рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реВрдЪреА рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ: рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ cloudfunctions.js, api.js рдФрд░ auth.js рдореЗрдВ рдЦреЛрджрдирд╛ рдерд╛ред рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреИрдХреЗрдЬ рдХреЗ рдЕрдВрджрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдмрд╕ рдлрд╛рдпрд░рдмреЗрд╕-рдЯреВрд▓реНрд╕ рдореЗрдВ рд╕рд╛рдордиреЗ рдирд╣реАрдВ рдЖрдИ рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорджрджрдЧрд╛рд░ рд╣реИред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВ рдпрд╣рд╛рдВ рднреА рдХреБрдЫ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдШрд░реНрд╖ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
@SJAnderson рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? _рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рдФрд░ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣реИ рддреЛ рд╕реЗрдЯ рдХрд░реЗрдВ)_ ЁЯЩП

рд╕рднреА 4 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдПрдХ рдирдореВрдирд╛ рд╣реИ

var client = require('firebase-tools');
client.list().then(function(data) {
  console.log(data);
}).catch(function(err) {
  // handle error
});

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╛рдпрд░рдмреЗрд╕-рдЯреВрд▓реНрд╕ (рдмрд┐рдирд╛-рдЬреА) рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА

client.database.get('/app-settings/test').then((data) => {
    console.log(data);
}).catch(function (err) {
    console.log(err);
});

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рд▓реЗрдХрд┐рди рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА

TypeError: Cannot create property 'project' on string '/app-settings/test'
    at Command._prepare (/Users/someone/Documents/test/node_modules/firebase-tools/lib/command.js:104:19)

рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдирдореВрдиреЗ рдХрд╛ рдПрдХ рдЙрдЪрд┐рдд рд╕реЗрдЯ рдХреГрдкрдпрд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рдореИрдВ рдпрд╣рд╛рдВ рднреА рдХреБрдЫ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдШрд░реНрд╖ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
@SJAnderson рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? _рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ (рдФрд░ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣реИ рддреЛ рд╕реЗрдЯ рдХрд░реЗрдВ)_ ЁЯЩП

рдореИрдВ рдЗрд╕рд╕реЗ рддрдм рддрдХ рдЬреВрдЭрддрд╛ рд░рд╣рд╛ рдЬрдм рддрдХ рдореИрдВрдиреЗ рд╕реНрд░реЛрдд рдореЗрдВ рдЦреЛрджрд╛ рдирд╣реАрдВред рдЗрд╕рд▓рд┐рдП, рдЬрдм рддрдХ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдирд╣реАрдВ рд╣реИрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

  • рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рддрд░реНрдХ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ
  • рд╡рд┐рдХрд▓реНрдк рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдХрд▓реНрдк (--рдлреВ рдмрд╛рд░) рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
  • рд╡рд┐рдХрд▓реНрдк рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ _last_ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
  • рдЖрдк рд╣рдореЗрд╢рд╛ рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдХрдорд╛рдВрдб рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдорд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ
  • рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд┐рдХрд▓реНрдк рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рд╕рдорд╛рди рд╣реИрдВ рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд cwd рд╕рд╛рде
  • рдХреЛрд▓рди рд╡рд╛рд▓реЗ рдХрдорд╛рдВрдб client.<command>.<subcommand> рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ

рдЙрджрд╛рд╣рд░рдг:

firebase target hosting --project foo
==>
client.target("hosting", { project: foo})

firebase deploy --only hosting  --token $FIREBASE_TOKEN
==>
client.deploy({ only: 'hosting', token: process.env.FIREBASE_TOKEN })

firebase target:apply mytype mytarget
==>
client.target.apply('mytype', 'mytarget')     // No options added!

рд╕рд╛рде рд╣реА, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдкрдХреЛ рдиреЛрдб рдХреЛрдб рдореЗрдВ token рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ process.env.FIREBASE_TOKEN , рддреЛ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЛрдб рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдПрдЪрдЯреАрдПрдЪ

рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдФрд░ рдХрдорд╛рдВрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВ:
https://github.com/firebase/firebase-tools/blob/master/src/commands/index.js

@jesperp рдЖрдкрдХреЗ рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ "рдЬрд╛рдирддрд╛ рд╣реИ", рдореИрдВ рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░реВрдВрдЧрд╛ рдЬрдм рдореИрдВ рднреВрд▓ рдЬрд╛рддрд╛ рд╣реВрдВ рдЬрдм рддрдХ рдХрд┐ рд╣рдо рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд▓реЗрддреЗред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

nareshbhatia picture nareshbhatia  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ahmadalibaloch picture ahmadalibaloch  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

hmazter picture hmazter  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

laurenzlong picture laurenzlong  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

FluorescentHallucinogen picture FluorescentHallucinogen  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ