1
1
#!/usr/bin/env node
2
2
3
- var exec = require ( 'child_process' ) . exec ;
4
- var fs = require ( 'fs' ) ;
3
+ "use strict" ;
4
+
5
+ const exec = require ( 'child_process' ) . exec ;
6
+ const fs = require ( 'fs' ) ;
7
+ const colors = require ( 'colors' ) ;
5
8
6
9
var invokeFolder = process . cwd ( ) ;
7
10
@@ -19,27 +22,39 @@ function execute(command) {
19
22
} ) ;
20
23
}
21
24
22
- if ( invokeFolder . indexOf ( 'lambdafns' ) == - 1 ) {
23
- console . log ( 'You are in the wrong folder, path must be under lambdafns' ) ;
24
- } else {
25
- command = 'aws lambda invoke --function-name ${PWD##*/} outfile' ;
26
- // if we have payload
27
- if ( process . argv [ 2 ] ) {
28
- fs . readFile ( process . argv [ 2 ] , function ( err , data ) {
29
- if ( err ) {
30
- throw err ;
31
- } else {
32
- console . log ( 'data' ) ;
33
- var payloadFile = JSON . parse ( data . toString ( 'utf-8' ) ) ;
34
- payloadFile = JSON . stringify ( payloadFile ) ;
35
- payloadFile = payloadFile . replace ( / " / g, '\\"' ) ;
36
- command += ' --payload "' + payloadFile + '"' ;
37
- console . log ( 'command: ' , command ) ;
38
-
39
- execute ( command ) ;
40
- }
41
- } ) ;
25
+ fs . readFile ( 'package.json' , 'utf-8' , function ( err , data ) {
26
+ if ( err ) {
27
+ throw ( err ) ;
42
28
} else {
43
- execute ( command ) ;
29
+ data = JSON . parse ( data . toString ( 'utf-8' ) ) ;
30
+ let functionName = data . name ;
31
+
32
+ command = `aws lambda invoke --function-name ${ functionName } outfile` ;
33
+
34
+ if ( data . lambdaAlias ) {
35
+ console . log ( colors . blue ( 'Running lambda alias:' , data . lambdaAlias ) ) ;
36
+ command += ` --qualifier ${ data . lambdaAlias } ` ;
37
+ } else {
38
+ console . log ( colors . blue ( 'Running lambda $LATEST, no lambdaAlias found in package.json' ) ) ;
39
+ }
40
+ // if we have payload
41
+ if ( process . argv [ 2 ] ) {
42
+ fs . readFile ( process . argv [ 2 ] , function ( err , data ) {
43
+ if ( err ) {
44
+ throw err ;
45
+ } else {
46
+ console . log ( 'data' ) ;
47
+ var payloadFile = JSON . parse ( data . toString ( 'utf-8' ) ) ;
48
+ payloadFile = JSON . stringify ( payloadFile ) ;
49
+ payloadFile = payloadFile . replace ( / " / g, '\\"' ) ;
50
+ command += ' --payload "' + payloadFile + '"' ;
51
+ console . log ( 'command: ' , command ) ;
52
+
53
+ execute ( command ) ;
54
+ }
55
+ } ) ;
56
+ } else {
57
+ execute ( command ) ;
58
+ }
44
59
}
45
- }
60
+ } ) ;
0 commit comments