@@ -18,7 +18,8 @@ var request = require('request'),
1818 _when = require ( 'when' ) ;
1919
2020var defaultSettings = {
21- 'public' : '.'
21+ 'public' : '.' ,
22+ 'ignore' : [ 'firebase.json' , '.*' , '**/node_modules/**' ]
2223} ;
2324
2425temp . track ( ) ;
@@ -51,7 +52,7 @@ function getPrompt(schema, onComplete, idx, results) {
5152
5253module . exports = {
5354 init : function ( argv ) {
54- auth . listFirebases ( ) . then ( function ( res ) {
55+ auth . listFirebases ( argv ) . then ( function ( res ) {
5556
5657 var settingsFile = path . resolve ( './firebase.json' ) ;
5758 if ( fs . existsSync ( settingsFile ) ) {
@@ -120,7 +121,8 @@ module.exports = {
120121 }
121122 var settings = {
122123 firebase : results . firebase ,
123- 'public' : results [ 'public' ]
124+ 'public' : results [ 'public' ] ,
125+ 'ignore' : defaultSettings [ 'ignore' ]
124126 } ;
125127 console . log ( 'Initializing app into current directory...' ) ;
126128 auth . checkCanAccess ( results . firebase , function ( err ) {
@@ -150,7 +152,7 @@ module.exports = {
150152 } ) ;
151153 } ,
152154 bootstrap : function ( argv ) {
153- _when . join ( this . getTemplates ( ) , auth . listFirebases ( ) ) . done ( function ( resultSet ) {
155+ _when . join ( this . getTemplates ( ) , auth . listFirebases ( argv ) ) . done ( function ( resultSet ) {
154156 var supportedTemplates = resultSet [ 0 ] ,
155157 res = resultSet [ 1 ] ;
156158
@@ -213,18 +215,11 @@ module.exports = {
213215
214216 results . directory = dir ;
215217 console . log ( 'Bootstrapping into directory \'' + dir + '\'...' ) ;
216- try {
217- fs . mkdirSync ( projectDir , '0755' ) ;
218- } catch ( err ) {
219- console . log ( chalk . red ( 'Filesystem Error' ) + ' - Could not create new' +
220- ' directory' ) ;
221- process . exit ( 1 ) ;
222- }
223218
224219 // Load the project root if defined, and gracefully handle missing '/'
225- var templateRoot = supportedTemplates [ results . template ] . templateRoot || '/' ;
226- if ( templateRoot && templateRoot [ 0 ] !== '/' ) {
227- templateRoot = '/' + templateRoot ;
220+ var templateRoot = ( supportedTemplates [ results . template ] . templateRoot || '/' ) . replace ( / \/ / g , path . sep ) ;
221+ if ( templateRoot && templateRoot [ 0 ] !== path . sep ) {
222+ templateRoot = path . sep + templateRoot ;
228223 }
229224
230225 console . log ( 'Downloading and unpacking template...' ) ;
@@ -284,15 +279,19 @@ module.exports = {
284279 console . log ( 'Writing firebase.json settings file...' ) ;
285280 var settings = {
286281 'firebase' : firebase ,
287- 'public' : '.'
282+ 'public' : defaultSettings [ 'public' ] ,
283+ 'ignore' : defaultSettings [ 'ignore' ]
288284 } ;
289285
290286 if ( supportedTemplates [ results . template ] . settings ) {
291287 if ( supportedTemplates [ results . template ] . settings [ 'public' ] ) {
292- settings . public = supportedTemplates [ results . template ] . settings [ 'public' ] . replace ( / \/ / g , path . sep )
288+ settings . public = supportedTemplates [ results . template ] . settings [ 'public' ] ;
293289 }
294290 if ( supportedTemplates [ results . template ] . settings [ 'rules' ] ) {
295- settings . rules = supportedTemplates [ results . template ] . settings [ 'rules' ] . replace ( / \/ / g, path . sep ) ;
291+ settings . rules = supportedTemplates [ results . template ] . settings [ 'rules' ] ;
292+ }
293+ if ( supportedTemplates [ results . template ] . settings [ 'ignore' ] ) {
294+ settings . ignore = supportedTemplates [ results . template ] . settings [ 'ignore' ] ;
296295 }
297296 }
298297
@@ -306,7 +305,7 @@ module.exports = {
306305 }
307306
308307 console . log ( chalk . green ( 'Successfully added template' ) ) ;
309- console . log ( 'To deploy: %s then %s' , chalk . bold ( util . format ( 'cd %s/ ' , results . directory ) ) , chalk . bold ( 'firebase deploy' ) ) ;
308+ console . log ( 'To deploy: %s then %s' , chalk . bold ( util . format ( 'cd %s' , results . directory + path . sep ) ) , chalk . bold ( 'firebase deploy' ) ) ;
310309 } ) ;
311310 } ) ;
312311 } , function ( error ) {
@@ -330,7 +329,7 @@ module.exports = {
330329 } ) ;
331330 } ,
332331 deploy : function ( argv ) {
333- auth . requireLogin ( function ( err ) {
332+ auth . requireLogin ( argv , function ( err ) {
334333 if ( err ) {
335334 console . log ( chalk . red ( 'Login Error' ) ) ;
336335 process . exit ( 1 ) ;
@@ -440,7 +439,7 @@ module.exports = {
440439 message = argv . message ;
441440 }
442441
443- upload . send ( settings . firebase , settings [ 'public' ] , directoryRef . name ( ) , message , function ( err , directory ) {
442+ upload . send ( settings . firebase , settings [ 'public' ] , settings . ignore || defaultSettings . ignore , directoryRef . name ( ) , message , function ( err , directory ) {
444443 if ( err ) {
445444 console . log ( chalk . red ( 'Deploy Error' ) + ' - Couldn\'t upload app' ) ;
446445 console . log ( err ) ;
0 commit comments