@@ -14,31 +14,45 @@ function pipfileToRequirements() {
14
14
return ;
15
15
}
16
16
17
- this . serverless . cli . log ( 'Generating requirements.txt from Pipfile...' ) ;
17
+ let generateRequirementsProgress ;
18
+ if ( this . progress ) {
19
+ generateRequirementsProgress = this . progress . get (
20
+ 'python-generate-requirements-pipfile'
21
+ ) ;
22
+ generateRequirementsProgress . update ( 'Generating requirements.txt from Pipfile' , { isMainEvent : true } ) ;
23
+ } else {
24
+ this . serverless . cli . log (
25
+ 'Generating requirements.txt from Pipfile...'
26
+ ) ;
27
+ }
18
28
19
- const res = spawnSync (
20
- 'pipenv' ,
21
- [ 'lock' , '--requirements' , '--keep-outdated' ] ,
22
- {
23
- cwd : this . servicePath ,
29
+ try {
30
+ const res = spawnSync (
31
+ 'pipenv' ,
32
+ [ 'lock' , '--requirements' , '--keep-outdated' ] ,
33
+ {
34
+ cwd : this . servicePath ,
35
+ }
36
+ ) ;
37
+ if ( res . error ) {
38
+ if ( res . error . code === 'ENOENT' ) {
39
+ throw new Error (
40
+ `pipenv not found! Install it with 'pip install pipenv'.`
41
+ ) ;
42
+ }
43
+ throw new Error ( res . error ) ;
24
44
}
25
- ) ;
26
- if ( res . error ) {
27
- if ( res . error . code === 'ENOENT' ) {
28
- throw new Error (
29
- `pipenv not found! Install it with 'pip install pipenv'.`
30
- ) ;
45
+ if ( res . status !== 0 ) {
46
+ throw new Error ( res . stderr ) ;
31
47
}
32
- throw new Error ( res . error ) ;
33
- }
34
- if ( res . status !== 0 ) {
35
- throw new Error ( res . stderr ) ;
48
+ fse . ensureDirSync ( path . join ( this . servicePath , '.serverless' ) ) ;
49
+ fse . writeFileSync (
50
+ path . join ( this . servicePath , '.serverless/requirements.txt' ) ,
51
+ removeEditableFlagFromRequirementsString ( res . stdout )
52
+ ) ;
53
+ } finally {
54
+ generateRequirementsProgress && generateRequirementsProgress . remove ( ) ;
36
55
}
37
- fse . ensureDirSync ( path . join ( this . servicePath , '.serverless' ) ) ;
38
- fse . writeFileSync (
39
- path . join ( this . servicePath , '.serverless/requirements.txt' ) ,
40
- removeEditableFlagFromRequirementsString ( res . stdout )
41
- ) ;
42
56
}
43
57
44
58
/**
0 commit comments