@@ -11,7 +11,6 @@ const {
11
11
} = require ( 'shelljs' ) ;
12
12
13
13
const isWin = process . platform === 'win32' ;
14
- const withComposeFile = ( filepath ) => `-f ${ filepath } ` ;
15
14
16
15
exports . command = 'compose' ;
17
16
exports . desc = 'installs compose on the system' ;
@@ -47,28 +46,32 @@ exports.handler = (argv) => {
47
46
chmod ( '+x' , compose ) ;
48
47
}
49
48
50
- let dockerComposeFiles = withComposeFile ( argv . docker_compose ) ;
49
+ const originalDockerCompose = argv . docker_compose ;
50
+ const dockerComposeFiles = [ ] ;
51
+
52
+ if ( argv . docker_compose_multi . length > 0 ) {
53
+ dockerComposeFiles . push ( ...argv . docker_compose_multi ) ;
54
+ }
51
55
52
56
/**
53
57
* Generates dynamic docker-compose file based on the presets
54
58
*/
55
59
if ( argv . auto_compose ) {
56
60
require ( './auto_compose' ) . handler ( argv ) ;
61
+ const autoComposeFile = argv . docker_compose ;
57
62
58
- const autoComposeFile = withComposeFile ( argv . docker_compose ) ;
63
+ dockerComposeFiles . unshift ( autoComposeFile ) ;
59
64
if ( argv . with_local_compose ) {
60
- dockerComposeFiles += ` ${ autoComposeFile } ` ;
61
- } else {
62
- dockerComposeFiles = autoComposeFile ;
65
+ dockerComposeFiles . push ( originalDockerCompose ) ;
63
66
}
67
+ } else {
68
+ dockerComposeFiles . push ( originalDockerCompose ) ;
64
69
}
65
70
66
- if ( argv . docker_compose_multi . length > 0 ) {
67
- dockerComposeFiles += ` -f ${ argv . docker_compose_multi . join ( ' -f ' ) } ` ;
68
- }
71
+ const composeFiles = dockerComposeFiles . map ( ( x ) => `-f ${ x } ` ) . join ( ' ' ) ;
69
72
70
73
// add link to compose file
71
- argv . compose = ShellString ( `"${ compose } " ${ dockerComposeFiles . trim ( ) } ` ) ;
74
+ argv . compose = ShellString ( `"${ compose } " ${ composeFiles } ` ) ;
72
75
73
76
function stopDocker ( signal , code ) {
74
77
const dockerCompose = argv . compose ;
0 commit comments