@livestore/utils-dev 0.0.0-snapshot-e57f280cc5ca4d636f9a5ef952cb6e0180247178 → 0.0.0-snapshot-0fb8ecdef5037e1d17fd803af2aa68d65017002a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo.json +1 -1
- package/dist/node/DockerComposeService/DockerComposeService.d.ts +1 -11
- package/dist/node/DockerComposeService/DockerComposeService.d.ts.map +1 -1
- package/dist/node/DockerComposeService/DockerComposeService.js +10 -27
- package/dist/node/DockerComposeService/DockerComposeService.js.map +1 -1
- package/package.json +2 -2
- package/src/node/DockerComposeService/DockerComposeService.ts +10 -52
|
@@ -3,7 +3,7 @@ declare const DockerComposeError_base: Schema.TaggedErrorClass<DockerComposeErro
|
|
|
3
3
|
readonly _tag: Schema.tag<"DockerComposeError">;
|
|
4
4
|
} & {
|
|
5
5
|
cause: typeof Schema.Defect;
|
|
6
|
-
|
|
6
|
+
message: typeof Schema.String;
|
|
7
7
|
}>;
|
|
8
8
|
export declare class DockerComposeError extends DockerComposeError_base {
|
|
9
9
|
}
|
|
@@ -29,11 +29,6 @@ export interface DockerComposeOperations {
|
|
|
29
29
|
readonly pull: Effect.Effect<void, DockerComposeError | PlatformError.PlatformError>;
|
|
30
30
|
readonly start: (options?: StartOptions) => Effect.Effect<void, DockerComposeError | PlatformError.PlatformError, Scope.Scope>;
|
|
31
31
|
readonly stop: Effect.Effect<void, DockerComposeError | PlatformError.PlatformError>;
|
|
32
|
-
readonly down: (options?: {
|
|
33
|
-
readonly env?: Record<string, string>;
|
|
34
|
-
readonly volumes?: boolean;
|
|
35
|
-
readonly removeOrphans?: boolean;
|
|
36
|
-
}) => Effect.Effect<void, DockerComposeError | PlatformError.PlatformError>;
|
|
37
32
|
readonly logs: (options?: LogsOptions) => Stream.Stream<string, DockerComposeError | PlatformError.PlatformError, Scope.Scope>;
|
|
38
33
|
}
|
|
39
34
|
declare const DockerComposeService_base: Effect.Service.Class<DockerComposeService, "DockerComposeService", {
|
|
@@ -41,11 +36,6 @@ declare const DockerComposeService_base: Effect.Service.Class<DockerComposeServi
|
|
|
41
36
|
pull: Effect.Effect<void, PlatformError.PlatformError | DockerComposeError, never>;
|
|
42
37
|
start: (options?: StartOptions) => Effect.Effect<void, PlatformError.PlatformError | DockerComposeError, Scope.Scope>;
|
|
43
38
|
stop: Effect.Effect<void, PlatformError.PlatformError | DockerComposeError, never>;
|
|
44
|
-
down: (options?: {
|
|
45
|
-
readonly env?: Record<string, string>;
|
|
46
|
-
readonly volumes?: boolean;
|
|
47
|
-
readonly removeOrphans?: boolean;
|
|
48
|
-
}) => Effect.Effect<void, PlatformError.PlatformError | DockerComposeError, never>;
|
|
49
39
|
logs: (options?: LogsOptions) => Stream.Stream<string, DockerComposeError, never>;
|
|
50
40
|
}, never, CommandExecutor.CommandExecutor>;
|
|
51
41
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DockerComposeService.d.ts","sourceRoot":"","sources":["../../../src/node/DockerComposeService/DockerComposeService.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,eAAe,EACpB,QAAQ,EACR,MAAM,EACN,KAAK,aAAa,EAElB,MAAM,EACN,KAAK,KAAK,EACV,MAAM,EACP,MAAM,yBAAyB,CAAA;;;;;;;AAEhC,qBAAa,kBAAmB,SAAQ,uBAGtC;CAAG;AAEL,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;QACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAA;QACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAA;KACtC,CAAA;CACF;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;IACpF,QAAQ,CAAC,KAAK,EAAE,CACd,OAAO,CAAC,EAAE,YAAY,KACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACvF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;IACpF,QAAQ,CAAC,IAAI,EAAE,CACb,OAAO,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"DockerComposeService.d.ts","sourceRoot":"","sources":["../../../src/node/DockerComposeService/DockerComposeService.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,eAAe,EACpB,QAAQ,EACR,MAAM,EACN,KAAK,aAAa,EAElB,MAAM,EACN,KAAK,KAAK,EACV,MAAM,EACP,MAAM,yBAAyB,CAAA;;;;;;;AAEhC,qBAAa,kBAAmB,SAAQ,uBAGtC;CAAG;AAEL,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;QACpB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAA;QACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAA;KACtC,CAAA;CACF;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;IACpF,QAAQ,CAAC,KAAK,EAAE,CACd,OAAO,CAAC,EAAE,YAAY,KACnB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACvF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;IACpF,QAAQ,CAAC,IAAI,EAAE,CACb,OAAO,CAAC,EAAE,WAAW,KAClB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;CAC1F;;4BAGgB,iBAAiB;;0BA4BJ,YAAY;;yBAyEb,WAAW;;;AAtGxC,qBAAa,oBAAqB,SAAQ,yBA6IxC;CAAG;AAyCL,eAAO,MAAM,gCAAgC,GAC3C,MAAM,iBAAiB,GAAG;IACxB,WAAW,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,CAAA;CAC1C,KACA,MAAM,CAAC,MAAM,CACd,IAAI,EACJ,kBAAkB,GAAG,aAAa,CAAC,aAAa,EAChD,oBAAoB,GAAG,eAAe,CAAC,eAAe,GAAG,KAAK,CAAC,KAAK,CAYlE,CAAA"}
|
|
@@ -2,7 +2,7 @@ import { omitUndefineds } from '@livestore/utils';
|
|
|
2
2
|
import { Command, Duration, Effect, Schedule, Schema, Stream, } from '@livestore/utils/effect';
|
|
3
3
|
export class DockerComposeError extends Schema.TaggedError()('DockerComposeError', {
|
|
4
4
|
cause: Schema.Defect,
|
|
5
|
-
|
|
5
|
+
message: Schema.String,
|
|
6
6
|
}) {
|
|
7
7
|
}
|
|
8
8
|
export class DockerComposeService extends Effect.Service()('DockerComposeService', {
|
|
@@ -15,7 +15,7 @@ export class DockerComposeService extends Effect.Service()('DockerComposeService
|
|
|
15
15
|
? Effect.void
|
|
16
16
|
: Effect.fail(new DockerComposeError({
|
|
17
17
|
cause: new Error(`Docker compose pull failed with exit code ${exitCode}`),
|
|
18
|
-
|
|
18
|
+
message: `Docker compose pull failed with exit code ${exitCode}`,
|
|
19
19
|
}))), Effect.provide(commandExecutorContext));
|
|
20
20
|
yield* Effect.log(`Successfully pulled Docker Compose images`);
|
|
21
21
|
}).pipe(Effect.withSpan('pullDockerComposeImages'));
|
|
@@ -27,16 +27,16 @@ export class DockerComposeService extends Effect.Service()('DockerComposeService
|
|
|
27
27
|
baseArgs.push('-d');
|
|
28
28
|
if (serviceName)
|
|
29
29
|
baseArgs.push(serviceName);
|
|
30
|
-
const command = yield* Command.make(baseArgs[0], ...baseArgs.slice(1)).pipe(Command.workingDirectory(cwd), Command.env(options.env ?? {}), Command.
|
|
30
|
+
const command = yield* Command.make(baseArgs[0], ...baseArgs.slice(1)).pipe(Command.workingDirectory(cwd), Command.env(options.env ?? {}), Command.start, Effect.catchAll((cause) => Effect.fail(new DockerComposeError({
|
|
31
31
|
cause,
|
|
32
|
-
|
|
32
|
+
message: `Failed to start Docker Compose services in ${cwd}`,
|
|
33
33
|
}))), Effect.provide(commandExecutorContext));
|
|
34
34
|
// Wait for command completion
|
|
35
35
|
yield* command.exitCode.pipe(Effect.flatMap((exitCode) => exitCode === 0
|
|
36
36
|
? Effect.void
|
|
37
37
|
: Effect.fail(new DockerComposeError({
|
|
38
38
|
cause: new Error(`Docker compose exited with code ${exitCode}`),
|
|
39
|
-
|
|
39
|
+
message: `Docker Compose failed to start with exit code ${exitCode}`,
|
|
40
40
|
}))), Effect.provide(commandExecutorContext));
|
|
41
41
|
// Perform health check if requested
|
|
42
42
|
if (healthCheck) {
|
|
@@ -53,7 +53,7 @@ export class DockerComposeService extends Effect.Service()('DockerComposeService
|
|
|
53
53
|
? Effect.void
|
|
54
54
|
: Effect.fail(new DockerComposeError({
|
|
55
55
|
cause: new Error(`Docker compose stop exited with code ${exitCode}`),
|
|
56
|
-
|
|
56
|
+
message: `Failed to stop Docker Compose services`,
|
|
57
57
|
}))), Effect.provide(commandExecutorContext));
|
|
58
58
|
yield* Effect.log(`Docker Compose services stopped successfully`);
|
|
59
59
|
}).pipe(Effect.withSpan('stopDockerCompose'));
|
|
@@ -70,31 +70,14 @@ export class DockerComposeService extends Effect.Service()('DockerComposeService
|
|
|
70
70
|
baseArgs.push(serviceName);
|
|
71
71
|
const command = yield* Command.make(baseArgs[0], ...baseArgs.slice(1)).pipe(Command.workingDirectory(cwd), Command.start, Effect.catchAll((cause) => Effect.fail(new DockerComposeError({
|
|
72
72
|
cause,
|
|
73
|
-
|
|
73
|
+
message: `Failed to read Docker Compose logs in ${cwd}`,
|
|
74
74
|
}))), Effect.provide(commandExecutorContext));
|
|
75
75
|
return command.stdout.pipe(Stream.decodeText('utf8'), Stream.splitLines, Stream.mapError((cause) => new DockerComposeError({
|
|
76
76
|
cause,
|
|
77
|
-
|
|
77
|
+
message: `Error reading Docker Compose logs in ${cwd}`,
|
|
78
78
|
})));
|
|
79
79
|
}).pipe(Stream.unwrapScoped);
|
|
80
|
-
|
|
81
|
-
yield* Effect.log(`Tearing down Docker Compose services in ${cwd}`);
|
|
82
|
-
const baseArgs = ['docker', 'compose', 'down'];
|
|
83
|
-
if (options?.volumes)
|
|
84
|
-
baseArgs.push('-v');
|
|
85
|
-
if (options?.removeOrphans)
|
|
86
|
-
baseArgs.push('--remove-orphans');
|
|
87
|
-
if (serviceName)
|
|
88
|
-
baseArgs.push(serviceName);
|
|
89
|
-
yield* Command.make(baseArgs[0], ...baseArgs.slice(1)).pipe(Command.workingDirectory(cwd), Command.env(options?.env ?? {}), Command.exitCode, Effect.flatMap((exitCode) => exitCode === 0
|
|
90
|
-
? Effect.void
|
|
91
|
-
: Effect.fail(new DockerComposeError({
|
|
92
|
-
cause: new Error(`Docker compose down exited with code ${exitCode}`),
|
|
93
|
-
note: `Failed to tear down Docker Compose services`,
|
|
94
|
-
}))), Effect.provide(commandExecutorContext));
|
|
95
|
-
yield* Effect.log(`Docker Compose services torn down successfully`);
|
|
96
|
-
}).pipe(Effect.withSpan('downDockerCompose'));
|
|
97
|
-
return { pull, start, stop, down, logs };
|
|
80
|
+
return { pull, start, stop, logs };
|
|
98
81
|
}),
|
|
99
82
|
}) {
|
|
100
83
|
}
|
|
@@ -106,7 +89,7 @@ const performHealthCheck = ({ url, timeout = Duration.minutes(2), interval = Dur
|
|
|
106
89
|
schedule: Schedule.fixed(interval),
|
|
107
90
|
}), Effect.timeout(timeout), Effect.catchAll(() => Effect.fail(new DockerComposeError({
|
|
108
91
|
cause: new Error('Health check timeout'),
|
|
109
|
-
|
|
92
|
+
message: `Health check failed for ${url} after ${Duration.toMillis(timeout)}ms`,
|
|
110
93
|
}))));
|
|
111
94
|
yield* healthCheck;
|
|
112
95
|
yield* Effect.log(`Health check passed for ${url}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DockerComposeService.js","sourceRoot":"","sources":["../../../src/node/DockerComposeService/DockerComposeService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EACL,OAAO,EAEP,QAAQ,EACR,MAAM,EAEN,QAAQ,EACR,MAAM,EAEN,MAAM,GACP,MAAM,yBAAyB,CAAA;AAEhC,MAAM,OAAO,kBAAmB,SAAQ,MAAM,CAAC,WAAW,EAAsB,CAAC,oBAAoB,EAAE;IACrG,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,
|
|
1
|
+
{"version":3,"file":"DockerComposeService.js","sourceRoot":"","sources":["../../../src/node/DockerComposeService/DockerComposeService.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@livestore/utils-dev",
|
|
3
|
-
"version": "0.0.0-snapshot-
|
|
3
|
+
"version": "0.0.0-snapshot-0fb8ecdef5037e1d17fd803af2aa68d65017002a",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"./src/node-vitest/global.ts",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"@opentelemetry/sdk-trace-base": "2.0.1",
|
|
23
23
|
"@opentelemetry/sdk-trace-node": "2.0.1",
|
|
24
24
|
"wrangler": "4.32.0",
|
|
25
|
-
"@livestore/utils": "0.0.0-snapshot-
|
|
25
|
+
"@livestore/utils": "0.0.0-snapshot-0fb8ecdef5037e1d17fd803af2aa68d65017002a"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {},
|
|
28
28
|
"files": [
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
|
|
14
14
|
export class DockerComposeError extends Schema.TaggedError<DockerComposeError>()('DockerComposeError', {
|
|
15
15
|
cause: Schema.Defect,
|
|
16
|
-
|
|
16
|
+
message: Schema.String,
|
|
17
17
|
}) {}
|
|
18
18
|
|
|
19
19
|
export interface DockerComposeArgs {
|
|
@@ -43,13 +43,6 @@ export interface DockerComposeOperations {
|
|
|
43
43
|
options?: StartOptions,
|
|
44
44
|
) => Effect.Effect<void, DockerComposeError | PlatformError.PlatformError, Scope.Scope>
|
|
45
45
|
readonly stop: Effect.Effect<void, DockerComposeError | PlatformError.PlatformError>
|
|
46
|
-
readonly down: (
|
|
47
|
-
options?: {
|
|
48
|
-
readonly env?: Record<string, string>
|
|
49
|
-
readonly volumes?: boolean
|
|
50
|
-
readonly removeOrphans?: boolean
|
|
51
|
-
},
|
|
52
|
-
) => Effect.Effect<void, DockerComposeError | PlatformError.PlatformError>
|
|
53
46
|
readonly logs: (
|
|
54
47
|
options?: LogsOptions,
|
|
55
48
|
) => Stream.Stream<string, DockerComposeError | PlatformError.PlatformError, Scope.Scope>
|
|
@@ -74,7 +67,7 @@ export class DockerComposeService extends Effect.Service<DockerComposeService>()
|
|
|
74
67
|
: Effect.fail(
|
|
75
68
|
new DockerComposeError({
|
|
76
69
|
cause: new Error(`Docker compose pull failed with exit code ${exitCode}`),
|
|
77
|
-
|
|
70
|
+
message: `Docker compose pull failed with exit code ${exitCode}`,
|
|
78
71
|
}),
|
|
79
72
|
),
|
|
80
73
|
),
|
|
@@ -96,14 +89,12 @@ export class DockerComposeService extends Effect.Service<DockerComposeService>()
|
|
|
96
89
|
const command = yield* Command.make(baseArgs[0]!, ...baseArgs.slice(1)).pipe(
|
|
97
90
|
Command.workingDirectory(cwd),
|
|
98
91
|
Command.env(options.env ?? {}),
|
|
99
|
-
Command.stderr('inherit'),
|
|
100
|
-
Command.stdout('inherit'),
|
|
101
92
|
Command.start,
|
|
102
93
|
Effect.catchAll((cause) =>
|
|
103
94
|
Effect.fail(
|
|
104
95
|
new DockerComposeError({
|
|
105
96
|
cause,
|
|
106
|
-
|
|
97
|
+
message: `Failed to start Docker Compose services in ${cwd}`,
|
|
107
98
|
}),
|
|
108
99
|
),
|
|
109
100
|
),
|
|
@@ -112,13 +103,13 @@ export class DockerComposeService extends Effect.Service<DockerComposeService>()
|
|
|
112
103
|
|
|
113
104
|
// Wait for command completion
|
|
114
105
|
yield* command.exitCode.pipe(
|
|
115
|
-
Effect.flatMap((exitCode) =>
|
|
106
|
+
Effect.flatMap((exitCode: number) =>
|
|
116
107
|
exitCode === 0
|
|
117
108
|
? Effect.void
|
|
118
109
|
: Effect.fail(
|
|
119
110
|
new DockerComposeError({
|
|
120
111
|
cause: new Error(`Docker compose exited with code ${exitCode}`),
|
|
121
|
-
|
|
112
|
+
message: `Docker Compose failed to start with exit code ${exitCode}`,
|
|
122
113
|
}),
|
|
123
114
|
),
|
|
124
115
|
),
|
|
@@ -149,7 +140,7 @@ export class DockerComposeService extends Effect.Service<DockerComposeService>()
|
|
|
149
140
|
: Effect.fail(
|
|
150
141
|
new DockerComposeError({
|
|
151
142
|
cause: new Error(`Docker compose stop exited with code ${exitCode}`),
|
|
152
|
-
|
|
143
|
+
message: `Failed to stop Docker Compose services`,
|
|
153
144
|
}),
|
|
154
145
|
),
|
|
155
146
|
),
|
|
@@ -176,7 +167,7 @@ export class DockerComposeService extends Effect.Service<DockerComposeService>()
|
|
|
176
167
|
Effect.fail(
|
|
177
168
|
new DockerComposeError({
|
|
178
169
|
cause,
|
|
179
|
-
|
|
170
|
+
message: `Failed to read Docker Compose logs in ${cwd}`,
|
|
180
171
|
}),
|
|
181
172
|
),
|
|
182
173
|
),
|
|
@@ -190,46 +181,13 @@ export class DockerComposeService extends Effect.Service<DockerComposeService>()
|
|
|
190
181
|
(cause) =>
|
|
191
182
|
new DockerComposeError({
|
|
192
183
|
cause,
|
|
193
|
-
|
|
184
|
+
message: `Error reading Docker Compose logs in ${cwd}`,
|
|
194
185
|
}),
|
|
195
186
|
),
|
|
196
187
|
)
|
|
197
188
|
}).pipe(Stream.unwrapScoped)
|
|
198
189
|
|
|
199
|
-
|
|
200
|
-
readonly env?: Record<string, string>
|
|
201
|
-
readonly volumes?: boolean
|
|
202
|
-
readonly removeOrphans?: boolean
|
|
203
|
-
}) =>
|
|
204
|
-
Effect.gen(function* () {
|
|
205
|
-
yield* Effect.log(`Tearing down Docker Compose services in ${cwd}`)
|
|
206
|
-
|
|
207
|
-
const baseArgs = ['docker', 'compose', 'down']
|
|
208
|
-
if (options?.volumes) baseArgs.push('-v')
|
|
209
|
-
if (options?.removeOrphans) baseArgs.push('--remove-orphans')
|
|
210
|
-
if (serviceName) baseArgs.push(serviceName)
|
|
211
|
-
|
|
212
|
-
yield* Command.make(baseArgs[0]!, ...baseArgs.slice(1)).pipe(
|
|
213
|
-
Command.workingDirectory(cwd),
|
|
214
|
-
Command.env(options?.env ?? {}),
|
|
215
|
-
Command.exitCode,
|
|
216
|
-
Effect.flatMap((exitCode: number) =>
|
|
217
|
-
exitCode === 0
|
|
218
|
-
? Effect.void
|
|
219
|
-
: Effect.fail(
|
|
220
|
-
new DockerComposeError({
|
|
221
|
-
cause: new Error(`Docker compose down exited with code ${exitCode}`),
|
|
222
|
-
note: `Failed to tear down Docker Compose services`,
|
|
223
|
-
}),
|
|
224
|
-
),
|
|
225
|
-
),
|
|
226
|
-
Effect.provide(commandExecutorContext),
|
|
227
|
-
)
|
|
228
|
-
|
|
229
|
-
yield* Effect.log(`Docker Compose services torn down successfully`)
|
|
230
|
-
}).pipe(Effect.withSpan('downDockerCompose'))
|
|
231
|
-
|
|
232
|
-
return { pull, start, stop, down, logs }
|
|
190
|
+
return { pull, start, stop, logs }
|
|
233
191
|
}),
|
|
234
192
|
}) {}
|
|
235
193
|
|
|
@@ -261,7 +219,7 @@ const performHealthCheck = ({
|
|
|
261
219
|
Effect.fail(
|
|
262
220
|
new DockerComposeError({
|
|
263
221
|
cause: new Error('Health check timeout'),
|
|
264
|
-
|
|
222
|
+
message: `Health check failed for ${url} after ${Duration.toMillis(timeout)}ms`,
|
|
265
223
|
}),
|
|
266
224
|
),
|
|
267
225
|
),
|