@@ -2,6 +2,7 @@ const Syncano = require('syncano')
2
2
, Path = require ( 'path' )
3
3
, fs = require ( 'fs-extra' )
4
4
, Promise = require ( 'bluebird' )
5
+ , walkSync = require ( 'walk-sync' )
5
6
;
6
7
7
8
module . exports = function ( FASTACK ) {
@@ -59,64 +60,38 @@ module.exports = function(FASTACK) {
59
60
}
60
61
61
62
fs . emptyDirSync ( Path . resolve ( FASTACK . localDir , 'deploy/' ) ) ;
62
- var appId , files , filesToClean ;
63
+
64
+ var appId , dir , filesToClean ;
63
65
FASTACK . export ( '.fastack/deploy' )
64
- . then ( ( f ) => new Promise ( ( resolve ) => { files = f ; resolve ( ) } ) )
65
- . then ( ( ) => getAppId ( args [ "app-name" ] ) )
66
- . then ( ( id ) => new Promise ( ( resolve ) => { appId = id ; resolve ( ) } ) )
67
- . then ( ( ) => fetchFilesToClean ( appId ) )
66
+ . then ( ( d ) => { dir = d ; return getAppId ( args [ "app-name" ] ) } )
67
+ . then ( ( id ) => { appId = id ; return fetchFilesToClean ( appId ) } )
68
68
. then ( ( ids ) => { filesToClean = ids ; } )
69
69
. then ( ( ) => {
70
70
var promises = [ ] ;
71
+ var files = walkSync ( dir , { directories : false } ) ;
71
72
for ( var f in files ) {
72
- var file = files [ f ] ;
73
- var path = file . path ;
74
- var isDir = fs . lstatSync ( path ) . isDirectory ( ) ;
75
- if ( ! isDir ) {
76
- var fileObject = {
77
- path : Path . relative ( FASTACK . cwd , file . path ) ,
78
- app : appId ,
79
- contents : {
80
- filename : Path . basename ( file . path ) ,
81
- data : fs . readFileSync ( file . path , 'utf8' )
82
- } ,
83
- owner_permissions : "full"
84
- } ;
85
- promises . push ( deployFile ( fileObject ) ) ;
86
- }
73
+ var file = Path . resolve ( dir , files [ f ] ) ;
74
+ var fileObject = {
75
+ path : Path . relative ( dir , file ) ,
76
+ app : appId ,
77
+ contents : {
78
+ filename : Path . basename ( file ) ,
79
+ data : fs . readFileSync ( file , 'utf8' )
80
+ } ,
81
+ owner_permissions : "full"
82
+ } ;
83
+ promises . push ( deployFile ( fileObject ) ) ;
87
84
}
88
85
return Promise . all ( promises ) ;
89
86
} )
90
- . then ( ( ) => cleanFiles ( filesToClean ) )
91
- . then ( ( ) => {
92
- fastack . class ( 'files' ) . dataobject ( ) . list ( ) . then ( function ( data ) {
93
- console . log ( data . length ) ;
94
- callback ( ) ;
95
- } )
87
+ . then ( ( deployed ) => {
88
+ FASTACK . logger . confirm ( deployed . length + ' files deployed.' ) ;
96
89
} )
97
90
. catch ( ( e ) => {
98
- console . log ( e ) ;
91
+ FASTACK . logger . error ( e ) ;
99
92
callback ( ) ;
100
- } ) ;
101
-
102
- // var dirName = Path.basename(FASTACK.cwd);
103
- // var filter = {
104
- // "query" : { id: {"_eq":202} }
105
- // "query" : {"name" : Path.basename(FASTACK.cwd) }
106
- // "query" : {"objects": [
107
- // {"name" : "test-app" }
108
- // ]
109
- // }
110
- // "fields": {include: ["app"]}
111
- // "query" : {"objects":[
112
- // { "name": "null" }
113
- // ]
114
- // }
115
- // };
116
-
117
- // fastack.class('apps').dataobject().list(filter, function(data){
118
- // console.log(data);
119
- // });
120
-
93
+ } )
94
+ . then ( ( ) => cleanFiles ( filesToClean ) )
95
+ . finally ( callback ) ;
121
96
}
122
97
} ;
0 commit comments