@livestore/utils-dev 0.4.0-dev.8 → 0.4.0
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 +1 -0
- package/dist/node/DockerComposeService/DockerComposeService.d.ts +9 -4
- package/dist/node/DockerComposeService/DockerComposeService.d.ts.map +1 -1
- package/dist/node/DockerComposeService/DockerComposeService.js +74 -49
- package/dist/node/DockerComposeService/DockerComposeService.js.map +1 -1
- package/dist/node/DockerComposeService/DockerComposeService.test.js +2 -2
- package/dist/node/DockerComposeService/DockerComposeService.test.js.map +1 -1
- package/dist/node/FileLogger.d.ts.map +1 -1
- package/dist/node/FileLogger.js +3 -3
- package/dist/node/FileLogger.js.map +1 -1
- package/dist/node/cmd-log.d.ts +21 -0
- package/dist/node/cmd-log.d.ts.map +1 -0
- package/dist/node/cmd-log.js +47 -0
- package/dist/node/cmd-log.js.map +1 -0
- package/dist/node/cmd.d.ts +12 -4
- package/dist/node/cmd.d.ts.map +1 -1
- package/dist/node/cmd.js +207 -29
- package/dist/node/cmd.js.map +1 -1
- package/dist/node/cmd.test.d.ts +2 -0
- package/dist/node/cmd.test.d.ts.map +1 -0
- package/dist/node/cmd.test.js +103 -0
- package/dist/node/cmd.test.js.map +1 -0
- package/dist/node/mod.d.ts +3 -2
- package/dist/node/mod.d.ts.map +1 -1
- package/dist/node/mod.js +63 -18
- package/dist/node/mod.js.map +1 -1
- package/dist/node/workspace.d.ts +22 -0
- package/dist/node/workspace.d.ts.map +1 -0
- package/dist/node/workspace.js +26 -0
- package/dist/node/workspace.js.map +1 -0
- package/dist/node-vitest/Vitest.d.ts.map +1 -1
- package/dist/node-vitest/Vitest.js +11 -11
- package/dist/node-vitest/Vitest.js.map +1 -1
- package/dist/node-vitest/Vitest.test.d.ts +8 -0
- package/dist/node-vitest/Vitest.test.d.ts.map +1 -1
- package/dist/node-vitest/Vitest.test.js +11 -7
- package/dist/node-vitest/Vitest.test.js.map +1 -1
- package/dist/wrangler/WranglerDevServer.d.ts +21 -4
- package/dist/wrangler/WranglerDevServer.d.ts.map +1 -1
- package/dist/wrangler/WranglerDevServer.js +23 -10
- package/dist/wrangler/WranglerDevServer.js.map +1 -1
- package/dist/wrangler/WranglerDevServer.test.js +3 -3
- package/dist/wrangler/WranglerDevServer.test.js.map +1 -1
- package/package.json +74 -21
- package/src/node/DockerComposeService/DockerComposeService.test.ts +5 -2
- package/src/node/DockerComposeService/DockerComposeService.ts +152 -101
- package/src/node/DockerComposeService/test-fixtures/docker-compose.yml +1 -1
- package/src/node/FileLogger.ts +4 -3
- package/src/node/cmd-log.ts +84 -0
- package/src/node/cmd.test.ts +134 -0
- package/src/node/cmd.ts +380 -62
- package/src/node/mod.ts +69 -21
- package/src/node/workspace.ts +46 -0
- package/src/node-vitest/Vitest.test.ts +12 -7
- package/src/node-vitest/Vitest.ts +28 -24
- package/src/wrangler/WranglerDevServer.test.ts +5 -3
- package/src/wrangler/WranglerDevServer.ts +54 -13
- package/src/wrangler/fixtures/wrangler.toml +1 -1
- package/dist/.tsbuildinfo.json +0 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Context, Layer } from '@livestore/utils/effect';
|
|
2
|
+
export type WorkspaceInfo = string;
|
|
3
|
+
declare const CurrentWorkingDirectory_base: Context.TagClass<CurrentWorkingDirectory, "CurrentWorkingDirectory", string>;
|
|
4
|
+
/** Current working directory. */
|
|
5
|
+
export declare class CurrentWorkingDirectory extends CurrentWorkingDirectory_base {
|
|
6
|
+
/** Layer that captures the process cwd once. */
|
|
7
|
+
static live: Layer.Layer<CurrentWorkingDirectory, never, never>;
|
|
8
|
+
/** Override CWD for tests or nested invocations. */
|
|
9
|
+
static fromPath: (cwd: string) => Layer.Layer<CurrentWorkingDirectory, never, never>;
|
|
10
|
+
}
|
|
11
|
+
declare const LivestoreWorkspace_base: Context.TagClass<LivestoreWorkspace, "LivestoreWorkspace", string>;
|
|
12
|
+
/** Livestore workspace root (env required). */
|
|
13
|
+
export declare class LivestoreWorkspace extends LivestoreWorkspace_base {
|
|
14
|
+
/** Resolve from WORKSPACE_ROOT env. */
|
|
15
|
+
static live: Layer.Layer<LivestoreWorkspace, never, never>;
|
|
16
|
+
/** Provide a fixed Livestore root. */
|
|
17
|
+
static fromPath: (root: string) => Layer.Layer<LivestoreWorkspace, never, never>;
|
|
18
|
+
/** Derive a CurrentWorkingDirectory layer from the Livestore workspace root (with optional subpath) */
|
|
19
|
+
static toCwd: (/** Relative path to the Livestore workspace root */ subPath?: string) => Layer.Layer<CurrentWorkingDirectory, never, LivestoreWorkspace>;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=workspace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/node/workspace.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAU,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAEhE,MAAM,MAAM,aAAa,GAAG,MAAM,CAAA;;AAElC,iCAAiC;AACjC,qBAAa,uBAAwB,SAAQ,4BAG1C;IACD,gDAAgD;IAChD,MAAM,CAAC,IAAI,qDAGV;IAED,oDAAoD;IACpD,MAAM,CAAC,QAAQ,GAAI,KAAK,MAAM,wDAAgD;CAC/E;;AAED,+CAA+C;AAC/C,qBAAa,kBAAmB,SAAQ,uBAAsE;IAC5G,uCAAuC;IACvC,MAAM,CAAC,IAAI,gDAMV;IAED,sCAAsC;IACtC,MAAM,CAAC,QAAQ,GAAI,MAAM,MAAM,mDAA4C;IAE3E,uGAAuG;IACvG,MAAM,CAAC,KAAK,GAAI,oDAAoD,CAAC,UAAU,MAAM,qEAOlF;CACJ"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { shouldNeverHappen } from '@livestore/utils';
|
|
3
|
+
import { Context, Effect, Layer } from '@livestore/utils/effect';
|
|
4
|
+
/** Current working directory. */
|
|
5
|
+
export class CurrentWorkingDirectory extends Context.Tag('CurrentWorkingDirectory')() {
|
|
6
|
+
/** Layer that captures the process cwd once. */
|
|
7
|
+
static live = Layer.effect(CurrentWorkingDirectory, Effect.sync(() => process.cwd()));
|
|
8
|
+
/** Override CWD for tests or nested invocations. */
|
|
9
|
+
static fromPath = (cwd) => Layer.succeed(CurrentWorkingDirectory, cwd);
|
|
10
|
+
}
|
|
11
|
+
/** Livestore workspace root (env required). */
|
|
12
|
+
export class LivestoreWorkspace extends Context.Tag('LivestoreWorkspace')() {
|
|
13
|
+
/** Resolve from WORKSPACE_ROOT env. */
|
|
14
|
+
static live = Layer.effect(LivestoreWorkspace, Effect.sync(() => {
|
|
15
|
+
const root = process.env.WORKSPACE_ROOT ?? shouldNeverHappen('WORKSPACE_ROOT is not set');
|
|
16
|
+
return root;
|
|
17
|
+
}));
|
|
18
|
+
/** Provide a fixed Livestore root. */
|
|
19
|
+
static fromPath = (root) => Layer.succeed(LivestoreWorkspace, root);
|
|
20
|
+
/** Derive a CurrentWorkingDirectory layer from the Livestore workspace root (with optional subpath) */
|
|
21
|
+
static toCwd = (/** Relative path to the Livestore workspace root */ subPath) => Layer.effect(CurrentWorkingDirectory, Effect.gen(function* () {
|
|
22
|
+
const root = yield* LivestoreWorkspace;
|
|
23
|
+
return path.join(root, subPath ?? '');
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=workspace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/node/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAIhE,iCAAiC;AACjC,MAAM,OAAO,uBAAwB,SAAQ,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAGhF;IACD,gDAAgD;IAChD,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CACxB,uBAAuB,EACvB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CACjC,CAAA;IAED,oDAAoD;IACpD,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAA;;AAGhF,+CAA+C;AAC/C,MAAM,OAAO,kBAAmB,SAAQ,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAqC;IAC5G,uCAAuC;IACvC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CACxB,kBAAkB,EAClB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;QACf,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,iBAAiB,CAAC,2BAA2B,CAAC,CAAA;QACzF,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CACH,CAAA;IAED,sCAAsC;IACtC,MAAM,CAAC,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAA;IAE3E,uGAAuG;IACvG,MAAM,CAAC,KAAK,GAAG,CAAC,oDAAoD,CAAC,OAAgB,EAAE,EAAE,CACvF,KAAK,CAAC,MAAM,CACV,uBAAuB,EACvB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,kBAAkB,CAAA;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAA;IACvC,CAAC,CAAC,CACH,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Vitest.d.ts","sourceRoot":"","sources":["../../src/node-vitest/Vitest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Vitest.d.ts","sourceRoot":"","sources":["../../src/node-vitest/Vitest.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,19 +6,19 @@ import { OtelLiveHttp } from "../node/mod.js";
|
|
|
6
6
|
export * from '@effect/vitest';
|
|
7
7
|
export const DEBUGGER_ACTIVE = Boolean(process.env.DEBUGGER_ACTIVE ?? inspector.url() !== undefined);
|
|
8
8
|
export const makeWithTestCtx = (ctxParams) => (testContext) => withTestCtx(testContext, ctxParams);
|
|
9
|
-
export const withTestCtx = (testContext, { suffix, makeLayer, timeout = IS_CI ? 60_000 : 10_000, forceOtel = false, } = {}) => (self) => {
|
|
10
|
-
const spanName = `${testContext.task.suite?.name}:${testContext.task.name}${suffix ? `:${suffix}` : ''}`;
|
|
9
|
+
export const withTestCtx = (testContext, { suffix, makeLayer, timeout = IS_CI === true ? 60_000 : 10_000, forceOtel = false, } = {}) => (self) => {
|
|
10
|
+
const spanName = `${testContext.task.suite?.name}:${testContext.task.name}${suffix !== undefined ? `:${suffix}` : ''}`;
|
|
11
11
|
const layer = makeLayer?.(testContext) ?? Layer.empty;
|
|
12
|
-
const otelLayer = DEBUGGER_ACTIVE || forceOtel
|
|
12
|
+
const otelLayer = DEBUGGER_ACTIVE === true || forceOtel === true
|
|
13
13
|
? OtelLiveHttp({ rootSpanName: spanName, serviceName: 'vitest-runner', skipLogUrl: false })
|
|
14
14
|
: OtelLiveDummy;
|
|
15
15
|
const combinedLayer = layer.pipe(Layer.provideMerge(otelLayer));
|
|
16
|
-
return self.pipe(DEBUGGER_ACTIVE
|
|
16
|
+
return self.pipe(DEBUGGER_ACTIVE === true
|
|
17
17
|
? identity
|
|
18
18
|
: Effect.logWarnIfTakesLongerThan({
|
|
19
19
|
duration: Duration.toMillis(timeout) * 0.8,
|
|
20
20
|
label: `${spanName} approaching timeout (timeout: ${Duration.format(timeout)})`,
|
|
21
|
-
}), DEBUGGER_ACTIVE ? identity : Effect.timeout(timeout), Effect.provide(combinedLayer), Effect.scoped, // We need to scope the effect manually here because otherwise the span is not closed
|
|
21
|
+
}), DEBUGGER_ACTIVE === true ? identity : Effect.timeout(timeout), Effect.provide(combinedLayer), Effect.scoped, // We need to scope the effect manually here because otherwise the span is not closed
|
|
22
22
|
Effect.annotateLogs({ suffix }));
|
|
23
23
|
};
|
|
24
24
|
/**
|
|
@@ -26,21 +26,21 @@ export const withTestCtx = (testContext, { suffix, makeLayer, timeout = IS_CI ?
|
|
|
26
26
|
*/
|
|
27
27
|
const normalizePropOptions = (propOptions) => {
|
|
28
28
|
// If it's a number, treat as timeout and add our default fastCheck
|
|
29
|
-
if (
|
|
29
|
+
if (Predicate.isObject(propOptions) === false) {
|
|
30
30
|
return {
|
|
31
31
|
timeout: propOptions,
|
|
32
32
|
fastCheck: { numRuns: 100 },
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
// If no fastCheck property, add it with our default numRuns
|
|
36
|
-
if (
|
|
36
|
+
if (propOptions.fastCheck == null) {
|
|
37
37
|
return {
|
|
38
38
|
...propOptions,
|
|
39
39
|
fastCheck: { numRuns: 100 },
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
42
|
// If fastCheck exists but no numRuns, add our default
|
|
43
|
-
if (propOptions.fastCheck &&
|
|
43
|
+
if (propOptions.fastCheck !== undefined && propOptions.fastCheck.numRuns == null) {
|
|
44
44
|
return {
|
|
45
45
|
...propOptions,
|
|
46
46
|
fastCheck: {
|
|
@@ -70,15 +70,15 @@ export const asProp = (api, name, arbitraries, test, propOptions) => {
|
|
|
70
70
|
let shrinkAttempts = 0;
|
|
71
71
|
let totalExecutions = 0;
|
|
72
72
|
return api.prop(name, arbitraries, (properties, ctx) => {
|
|
73
|
-
if (ctx.signal.aborted) {
|
|
73
|
+
if (ctx.signal.aborted === true) {
|
|
74
74
|
return ctx.skip('Test aborted');
|
|
75
75
|
}
|
|
76
76
|
totalExecutions++;
|
|
77
77
|
const isInShrinkingPhase = runIndex >= numRuns;
|
|
78
|
-
if (isInShrinkingPhase) {
|
|
78
|
+
if (isInShrinkingPhase === true) {
|
|
79
79
|
shrinkAttempts++;
|
|
80
80
|
}
|
|
81
|
-
const enhancedContext = isInShrinkingPhase
|
|
81
|
+
const enhancedContext = isInShrinkingPhase === true
|
|
82
82
|
? {
|
|
83
83
|
_tag: 'shrinking',
|
|
84
84
|
numRuns,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Vitest.js","sourceRoot":"","sources":["../../src/node-vitest/Vitest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"Vitest.js","sourceRoot":"","sources":["../../src/node-vitest/Vitest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
+
import { Schema } from '@livestore/utils/effect';
|
|
2
|
+
declare const TestError_base: Schema.TaggedErrorClass<TestError, "TestError", {
|
|
3
|
+
readonly _tag: Schema.tag<"TestError">;
|
|
4
|
+
} & {
|
|
5
|
+
message: typeof Schema.String;
|
|
6
|
+
}>;
|
|
7
|
+
export declare class TestError extends TestError_base {
|
|
8
|
+
}
|
|
1
9
|
export {};
|
|
2
10
|
//# sourceMappingURL=Vitest.test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Vitest.test.d.ts","sourceRoot":"","sources":["../../src/node-vitest/Vitest.test.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"Vitest.test.d.ts","sourceRoot":"","sources":["../../src/node-vitest/Vitest.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,MAAM,EAAE,MAAM,yBAAyB,CAAA;;;;;;AAInE,qBAAa,SAAU,SAAQ,cAE7B;CAAG"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import { Effect, FastCheck } from '@livestore/utils/effect';
|
|
1
|
+
import { Effect, FastCheck, Schema } from '@livestore/utils/effect';
|
|
2
2
|
import * as Vitest from "./Vitest.js";
|
|
3
|
+
export class TestError extends Schema.TaggedError()('TestError', {
|
|
4
|
+
message: Schema.String,
|
|
5
|
+
}) {
|
|
6
|
+
}
|
|
3
7
|
// Demonstrate enhanced asProp functionality with clear shrinking progress
|
|
4
8
|
// This showcases the fix for the "Run 26/6" bug and accurate shrinking detection
|
|
5
9
|
Vitest.describe('Vitest.asProp', () => {
|
|
@@ -8,7 +12,7 @@ Vitest.describe('Vitest.asProp', () => {
|
|
|
8
12
|
Vitest.asProp(Vitest.scopedLive, 'always-pass test (shows only initial runs)', [IntArbitrary], (properties, _ctx, enhanced) => Effect.gen(function* () {
|
|
9
13
|
const [value] = properties;
|
|
10
14
|
if (value === undefined) {
|
|
11
|
-
return yield*
|
|
15
|
+
return yield* new TestError({ message: 'Value is undefined' });
|
|
12
16
|
}
|
|
13
17
|
console.log(`✅ ALWAYS-PASS [${enhanced._tag.toUpperCase()}]: ` +
|
|
14
18
|
(enhanced._tag === 'initial'
|
|
@@ -23,7 +27,7 @@ Vitest.describe('Vitest.asProp', () => {
|
|
|
23
27
|
Vitest.asProp(Vitest.scopedLive, 'failing test (shows initial runs + shrinking)', [IntArbitrary], (properties, ctx, enhanced) => Effect.gen(function* () {
|
|
24
28
|
const [value] = properties;
|
|
25
29
|
if (value === undefined) {
|
|
26
|
-
return yield*
|
|
30
|
+
return yield* new TestError({ message: 'Value is undefined' });
|
|
27
31
|
}
|
|
28
32
|
const displayInfo = enhanced._tag === 'initial'
|
|
29
33
|
? `Run ${enhanced.runIndex + 1}/${enhanced.numRuns}`
|
|
@@ -33,9 +37,9 @@ Vitest.describe('Vitest.asProp', () => {
|
|
|
33
37
|
// Fail when value is greater than 80 to trigger shrinking
|
|
34
38
|
if (value > 80) {
|
|
35
39
|
alreadyFailed = true;
|
|
36
|
-
return yield*
|
|
40
|
+
return yield* new TestError({ message: `Value ${value} is too large (> 80)` });
|
|
37
41
|
}
|
|
38
|
-
if (alreadyFailed && enhanced._tag === 'shrinking') {
|
|
42
|
+
if (alreadyFailed === true && enhanced._tag === 'shrinking') {
|
|
39
43
|
ctx.skip("For the sake of this test, we don't want to fail but want to skip");
|
|
40
44
|
return;
|
|
41
45
|
}
|
|
@@ -45,13 +49,13 @@ Vitest.describe('Vitest.asProp', () => {
|
|
|
45
49
|
Vitest.asProp(Vitest.scopedLive, 'failing test with endOnFailure (no shrinking)', [IntArbitrary], (properties, _ctx, enhanced) => Effect.gen(function* () {
|
|
46
50
|
const [value] = properties;
|
|
47
51
|
if (value === undefined) {
|
|
48
|
-
return yield*
|
|
52
|
+
return yield* new TestError({ message: 'Value is undefined' });
|
|
49
53
|
}
|
|
50
54
|
console.log(`🚫 END-ON-FAILURE [${enhanced._tag.toUpperCase()}]: ` +
|
|
51
55
|
`Run ${enhanced.runIndex + 1}/${enhanced.numRuns}, value=${value}, total=${enhanced.totalExecutions}`);
|
|
52
56
|
// This will fail but shrinking is disabled
|
|
53
57
|
if (value > 50) {
|
|
54
|
-
yield*
|
|
58
|
+
return yield* new TestError({ message: `Value ${value} is too large (> 50) - but no shrinking!` });
|
|
55
59
|
}
|
|
56
60
|
return;
|
|
57
61
|
}), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Vitest.test.js","sourceRoot":"","sources":["../../src/node-vitest/Vitest.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"Vitest.test.js","sourceRoot":"","sources":["../../src/node-vitest/Vitest.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Duration, Effect, FileSystem, HttpClient, Schema } from '@livestore/utils/effect';
|
|
1
|
+
import { Duration, Effect, FileSystem, HttpClient, Schedule, Schema } from '@livestore/utils/effect';
|
|
2
2
|
declare const WranglerDevServerError_base: Schema.TaggedErrorClass<WranglerDevServerError, "WranglerDevServerError", {
|
|
3
3
|
readonly _tag: Schema.tag<"WranglerDevServerError">;
|
|
4
4
|
} & {
|
|
@@ -19,23 +19,40 @@ export interface WranglerDevServer {
|
|
|
19
19
|
readonly url: string;
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
22
|
+
* Readiness and retry configuration for wrangler boot and HTTP health.
|
|
23
|
+
*
|
|
24
|
+
* Example: startupTimeout=20s, connectTimeout=5s, retrySchedule=recurs(1)
|
|
25
|
+
* - Give wrangler up to 20s to boot; if it succeeds, give the HTTP check up to 5s.
|
|
26
|
+
* - If wrangler fails/times out, retry boot once; each boot attempt gets its own 20s budget.
|
|
27
|
+
* connectTimeout should be shorter than startupTimeout because HTTP readiness should be fast after boot.
|
|
23
28
|
*/
|
|
29
|
+
export interface WranglerReadinessOptions {
|
|
30
|
+
/** Max time to wait for wrangler to report ready before retrying. */
|
|
31
|
+
startupTimeout?: Duration.DurationInput;
|
|
32
|
+
/** Max time for the HTTP connectivity check after wrangler reports ready. */
|
|
33
|
+
connectTimeout?: Duration.DurationInput;
|
|
34
|
+
/** Retry policy for startup attempts (applies when startupTimeout elapses or wrangler throws). */
|
|
35
|
+
retrySchedule?: Schedule.Schedule<unknown>;
|
|
36
|
+
}
|
|
24
37
|
export interface StartWranglerDevServerArgs {
|
|
38
|
+
/** Path to wrangler.toml (defaults to cwd/wrangler.toml). */
|
|
25
39
|
wranglerConfigPath?: string;
|
|
40
|
+
/** Working directory wrangler should use. */
|
|
26
41
|
cwd: string;
|
|
27
42
|
/** The port to try first. The dev server may bind a different port if unavailable. */
|
|
28
43
|
preferredPort?: number;
|
|
29
44
|
/** @default false */
|
|
30
45
|
showLogs?: boolean;
|
|
46
|
+
/** Optional inspector port for wrangler dev. */
|
|
31
47
|
inspectorPort?: number;
|
|
32
|
-
|
|
48
|
+
/** Readiness and retry configuration for bringing up wrangler and confirming connectivity. */
|
|
49
|
+
readiness?: WranglerReadinessOptions;
|
|
33
50
|
}
|
|
34
51
|
declare const WranglerDevServerService_base: Effect.Service.Class<WranglerDevServerService, "WranglerDevServerService", {
|
|
35
52
|
readonly scoped: (args: StartWranglerDevServerArgs) => Effect.Effect<{
|
|
36
53
|
port: number;
|
|
37
54
|
url: string;
|
|
38
|
-
}, WranglerDevServerError, import("effect/Scope").Scope |
|
|
55
|
+
}, WranglerDevServerError, import("effect/Scope").Scope | FileSystem.FileSystem | HttpClient.HttpClient>;
|
|
39
56
|
}>;
|
|
40
57
|
/**
|
|
41
58
|
* WranglerDevServer as an Effect.Service.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WranglerDevServer.d.ts","sourceRoot":"","sources":["../../src/wrangler/WranglerDevServer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WranglerDevServer.d.ts","sourceRoot":"","sources":["../../src/wrangler/WranglerDevServer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;;;;;;;;AAI3G;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,2BAI1C;CAAG;AAEL;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAErB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,wBAAwB;IACvC,qEAAqE;IACrE,cAAc,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAA;IACvC,6EAA6E;IAC7E,cAAc,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAA;IACvC,kGAAkG;IAClG,aAAa,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;CAC3C;AAED,MAAM,WAAW,0BAA0B;IACzC,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAA;IACX,sFAAsF;IACtF,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,8FAA8F;IAC9F,SAAS,CAAC,EAAE,wBAAwB,CAAA;CACrC;;4BAYgB,0BAA0B;;;;;AAV3C;;;;;;;;GAQG;AACH,qBAAa,wBAAyB,SAAQ,6BA+G5C;CAAG"}
|
|
@@ -7,7 +7,7 @@ import * as wrangler from 'wrangler';
|
|
|
7
7
|
/**
|
|
8
8
|
* Error type for WranglerDevServer operations
|
|
9
9
|
*/
|
|
10
|
-
export class WranglerDevServerError extends Schema.TaggedError()('WranglerDevServerError', {
|
|
10
|
+
export class WranglerDevServerError extends Schema.TaggedError('~@livestore/utils-dev/WranglerDevServerError')('WranglerDevServerError', {
|
|
11
11
|
cause: Schema.Unknown,
|
|
12
12
|
message: Schema.String,
|
|
13
13
|
port: Schema.Number,
|
|
@@ -34,16 +34,26 @@ export class WranglerDevServerService extends Effect.Service()('WranglerDevServe
|
|
|
34
34
|
const configContent = yield* fs.readFileString(configPath);
|
|
35
35
|
const parsedConfig = yield* Effect.try(() => Toml.parse(configContent)).pipe(Effect.andThen(Schema.decodeUnknown(Schema.Struct({ main: Schema.String }))), Effect.mapError((error) => new WranglerDevServerError({ cause: error, message: 'Failed to parse wrangler config', port: -1 })));
|
|
36
36
|
const resolvedMainPath = yield* Effect.try(() => path.resolve(args.cwd, parsedConfig.main));
|
|
37
|
+
const readiness = args.readiness ?? {};
|
|
38
|
+
const startupTimeout = readiness.startupTimeout ?? Duration.seconds(IS_CI === true ? 30 : 10);
|
|
37
39
|
const devServer = yield* Effect.promise(() => wrangler.unstable_dev(resolvedMainPath, {
|
|
38
40
|
config: configPath,
|
|
39
41
|
port: preferredPort,
|
|
40
42
|
inspectorPort: args.inspectorPort ?? 0,
|
|
41
43
|
persistTo: path.join(args.cwd, '.wrangler/state'),
|
|
42
|
-
logLevel: showLogs ? '
|
|
44
|
+
logLevel: showLogs === true ? 'debug' : 'none',
|
|
43
45
|
experimental: {
|
|
44
46
|
disableExperimentalWarning: true,
|
|
45
47
|
},
|
|
46
|
-
}))
|
|
48
|
+
})).pipe(Effect.timeout(startupTimeout), Effect.mapError((cause) => new WranglerDevServerError({
|
|
49
|
+
cause,
|
|
50
|
+
message: `Failed to start wrangler dev server within ${Duration.format(startupTimeout)}`,
|
|
51
|
+
port: preferredPort,
|
|
52
|
+
})), Effect.tapError((error) => Effect.logError('Wrangler dev server failed to start', {
|
|
53
|
+
message: error.message,
|
|
54
|
+
preferredPort,
|
|
55
|
+
cwd: args.cwd,
|
|
56
|
+
})), Effect.retry(readiness.retrySchedule ?? Schedule.recurs(1)));
|
|
47
57
|
yield* Effect.addFinalizer(Effect.fn(function* (exit) {
|
|
48
58
|
if (exit._tag === 'Failure' && Cause.isInterruptedOnly(exit.cause) === false) {
|
|
49
59
|
yield* Effect.logError('Closing wrangler dev server on failure', exit.cause);
|
|
@@ -57,17 +67,20 @@ export class WranglerDevServerService extends Effect.Service()('WranglerDevServe
|
|
|
57
67
|
const actualPort = devServer.port;
|
|
58
68
|
const actualHost = devServer.address;
|
|
59
69
|
const url = `http://${actualHost}:${actualPort}`;
|
|
60
|
-
// Use longer timeout in CI environments to account for slower
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
70
|
+
// Use longer timeout in CI environments to account for slower HTTP readiness
|
|
71
|
+
const defaultConnectivityTimeout = Duration.seconds(IS_CI === true ? 30 : 5);
|
|
72
|
+
const connectivityTimeout = readiness.connectTimeout ?? defaultConnectivityTimeout;
|
|
73
|
+
yield* verifyHttpConnectivity({ url, showLogs, connectTimeout: connectivityTimeout });
|
|
74
|
+
if (showLogs === true) {
|
|
64
75
|
yield* Effect.logDebug(`Wrangler dev server ready and accepting connections on port ${actualPort} (preferred: ${preferredPort})`);
|
|
65
76
|
}
|
|
66
77
|
return {
|
|
67
78
|
port: actualPort,
|
|
68
79
|
url,
|
|
69
80
|
};
|
|
70
|
-
}).pipe(Effect.mapError((error) =>
|
|
81
|
+
}).pipe(Effect.mapError((error) => error instanceof WranglerDevServerError
|
|
82
|
+
? error
|
|
83
|
+
: new WranglerDevServerError({ cause: error, message: 'Failed to start wrangler dev server', port: -1 })), Effect.withSpan('WranglerDevServerService', {
|
|
71
84
|
attributes: { preferredPort: args.preferredPort ?? 'auto', cwd: args.cwd },
|
|
72
85
|
})),
|
|
73
86
|
}) {
|
|
@@ -77,7 +90,7 @@ export class WranglerDevServerService extends Effect.Service()('WranglerDevServe
|
|
|
77
90
|
*/
|
|
78
91
|
const verifyHttpConnectivity = ({ url, showLogs, connectTimeout, }) => Effect.gen(function* () {
|
|
79
92
|
const client = yield* HttpClient.HttpClient;
|
|
80
|
-
if (showLogs) {
|
|
93
|
+
if (showLogs === true) {
|
|
81
94
|
yield* Effect.logDebug(`Verifying HTTP connectivity to ${url}`);
|
|
82
95
|
}
|
|
83
96
|
// Try to connect with retries using exponential backoff
|
|
@@ -85,6 +98,6 @@ const verifyHttpConnectivity = ({ url, showLogs, connectTimeout, }) => Effect.ge
|
|
|
85
98
|
cause: error,
|
|
86
99
|
message: `Failed to establish HTTP connection to Wrangler server at ${url} after ${attemptCount} attempts (timeout: ${Duration.toMillis(connectTimeout)}ms)`,
|
|
87
100
|
port: 0,
|
|
88
|
-
}))), Effect.tap(() => (showLogs ? Effect.logDebug(`HTTP connectivity verified for ${url}`) : Effect.void)), Effect.asVoid, Effect.withSpan('verifyHttpConnectivity'));
|
|
101
|
+
}))), Effect.tap(() => (showLogs === true ? Effect.logDebug(`HTTP connectivity verified for ${url}`) : Effect.void)), Effect.asVoid, Effect.withSpan('verifyHttpConnectivity'));
|
|
89
102
|
});
|
|
90
103
|
//# sourceMappingURL=WranglerDevServer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WranglerDevServer.js","sourceRoot":"","sources":["../../src/wrangler/WranglerDevServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"WranglerDevServer.js","sourceRoot":"","sources":["../../src/wrangler/WranglerDevServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { expect } from 'vitest';
|
|
2
|
+
import { Vitest } from '@livestore/utils-dev/node-vitest';
|
|
1
3
|
import { Effect, FetchHttpClient, Layer } from '@livestore/utils/effect';
|
|
2
4
|
import { getFreePort, PlatformNode } from '@livestore/utils/node';
|
|
3
|
-
import { Vitest } from '@livestore/utils-dev/node-vitest';
|
|
4
|
-
import { expect } from 'vitest';
|
|
5
5
|
import { WranglerDevServerError, WranglerDevServerService, } from "./WranglerDevServer.js";
|
|
6
6
|
const testTimeout = 60_000;
|
|
7
7
|
const WranglerDevServerTest = (args = {}) => WranglerDevServerService.Default({
|
|
@@ -34,7 +34,7 @@ Vitest.describe('WranglerDevServer', { timeout: testTimeout }, () => {
|
|
|
34
34
|
const error = yield* WranglerDevServerService.pipe(Effect.provide(WranglerDevServerTest({
|
|
35
35
|
cwd: '/tmp',
|
|
36
36
|
wranglerConfigPath: '/dev/null',
|
|
37
|
-
connectTimeout: '500 millis',
|
|
37
|
+
readiness: { connectTimeout: '500 millis' },
|
|
38
38
|
}).pipe(Layer.provide(PlatformNode.NodeContext.layer))), Effect.flip);
|
|
39
39
|
expect(error).toBeInstanceOf(WranglerDevServerError);
|
|
40
40
|
}).pipe(Vitest.withTestCtx(test)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WranglerDevServer.test.js","sourceRoot":"","sources":["../../src/wrangler/WranglerDevServer.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"WranglerDevServer.test.js","sourceRoot":"","sources":["../../src/wrangler/WranglerDevServer.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@livestore/utils-dev",
|
|
3
|
-
"version": "0.4.0
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"license": "Apache-2.0",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/livestorejs/livestore.git"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist",
|
|
11
|
+
"package.json",
|
|
12
|
+
"src"
|
|
13
|
+
],
|
|
4
14
|
"type": "module",
|
|
5
15
|
"sideEffects": [
|
|
6
16
|
"./src/node-vitest/global.ts",
|
|
@@ -11,29 +21,72 @@
|
|
|
11
21
|
"./node-vitest": "./dist/node-vitest/mod.js",
|
|
12
22
|
"./wrangler": "./dist/wrangler/mod.js"
|
|
13
23
|
},
|
|
24
|
+
"publishConfig": {
|
|
25
|
+
"access": "public"
|
|
26
|
+
},
|
|
14
27
|
"dependencies": {
|
|
15
|
-
"@effect/opentelemetry": "0.
|
|
16
|
-
"@effect/vitest": "0.
|
|
17
|
-
"@iarna/toml": "
|
|
28
|
+
"@effect/opentelemetry": "0.63.0",
|
|
29
|
+
"@effect/vitest": "0.29.0",
|
|
30
|
+
"@iarna/toml": "3.0.0",
|
|
18
31
|
"@opentelemetry/api": "1.9.0",
|
|
19
|
-
"@opentelemetry/exporter-metrics-otlp-http": "0.
|
|
20
|
-
"@opentelemetry/exporter-trace-otlp-http": "0.
|
|
21
|
-
"@opentelemetry/sdk-metrics": "2.0
|
|
22
|
-
"@opentelemetry/sdk-trace-base": "2.0
|
|
23
|
-
"@opentelemetry/sdk-trace-node": "2.0
|
|
24
|
-
"wrangler": "4.
|
|
25
|
-
"@livestore/utils": "0.4.0
|
|
32
|
+
"@opentelemetry/exporter-metrics-otlp-http": "0.208.0",
|
|
33
|
+
"@opentelemetry/exporter-trace-otlp-http": "0.208.0",
|
|
34
|
+
"@opentelemetry/sdk-metrics": "2.2.0",
|
|
35
|
+
"@opentelemetry/sdk-trace-base": "2.2.0",
|
|
36
|
+
"@opentelemetry/sdk-trace-node": "2.2.0",
|
|
37
|
+
"wrangler": "4.42.2",
|
|
38
|
+
"@livestore/utils": "^0.4.0"
|
|
26
39
|
},
|
|
27
|
-
"devDependencies": {
|
|
28
|
-
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"@effect/ai": "0.35.0",
|
|
42
|
+
"@effect/cli": "0.75.1",
|
|
43
|
+
"@effect/cluster": "0.58.2",
|
|
44
|
+
"@effect/experimental": "0.60.0",
|
|
45
|
+
"@effect/opentelemetry": "0.63.0",
|
|
46
|
+
"@effect/platform": "0.96.1",
|
|
47
|
+
"@effect/platform-browser": "0.76.0",
|
|
48
|
+
"@effect/platform-bun": "0.89.0",
|
|
49
|
+
"@effect/platform-node": "0.106.0",
|
|
50
|
+
"@effect/printer": "0.49.0",
|
|
51
|
+
"@effect/printer-ansi": "0.49.0",
|
|
52
|
+
"@effect/rpc": "0.75.1",
|
|
53
|
+
"@effect/sql": "0.51.1",
|
|
54
|
+
"@effect/typeclass": "0.40.0",
|
|
55
|
+
"@effect/vitest": "0.29.0",
|
|
56
|
+
"@opentelemetry/api": "1.9.0",
|
|
57
|
+
"@opentelemetry/resources": "2.2.0",
|
|
58
|
+
"@standard-schema/spec": "1.1.0",
|
|
59
|
+
"effect": "3.21.2",
|
|
60
|
+
"vitest": "3.2.4"
|
|
61
|
+
},
|
|
62
|
+
"peerDependencies": {
|
|
63
|
+
"@effect/ai": "^0.35.0",
|
|
64
|
+
"@effect/cli": "^0.75.1",
|
|
65
|
+
"@effect/cluster": "^0.58.2",
|
|
66
|
+
"@effect/experimental": "^0.60.0",
|
|
67
|
+
"@effect/opentelemetry": "^0.63.0",
|
|
68
|
+
"@effect/platform": "^0.96.1",
|
|
69
|
+
"@effect/platform-browser": "^0.76.0",
|
|
70
|
+
"@effect/platform-bun": "^0.89.0",
|
|
71
|
+
"@effect/platform-node": "^0.106.0",
|
|
72
|
+
"@effect/printer": "^0.49.0",
|
|
73
|
+
"@effect/printer-ansi": "^0.49.0",
|
|
74
|
+
"@effect/rpc": "^0.75.1",
|
|
75
|
+
"@effect/sql": "^0.51.1",
|
|
76
|
+
"@effect/typeclass": "^0.40.0",
|
|
77
|
+
"@effect/vitest": "^0.29.0",
|
|
78
|
+
"@opentelemetry/api": "^1.9.0",
|
|
79
|
+
"@opentelemetry/resources": "^2.2.0",
|
|
80
|
+
"@standard-schema/spec": "^1.1.0",
|
|
81
|
+
"effect": "^3.21.2"
|
|
82
|
+
},
|
|
83
|
+
"$genie": {
|
|
84
|
+
"source": "package.json.genie.ts",
|
|
85
|
+
"warning": "DO NOT EDIT - changes will be overwritten",
|
|
86
|
+
"workspaceClosureDirs": [
|
|
87
|
+
"packages/@livestore/utils",
|
|
88
|
+
"packages/@livestore/utils-dev"
|
|
89
|
+
]
|
|
37
90
|
},
|
|
38
91
|
"scripts": {
|
|
39
92
|
"test": "echo 'No tests for utils-dev'"
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import path from 'node:path'
|
|
2
|
+
|
|
3
|
+
import { expect } from 'vitest'
|
|
4
|
+
|
|
5
|
+
import { Vitest } from '@livestore/utils-dev/node-vitest'
|
|
2
6
|
import { Duration, Effect, Layer, Stream } from '@livestore/utils/effect'
|
|
3
7
|
import { PlatformNode } from '@livestore/utils/node'
|
|
4
|
-
|
|
5
|
-
import { expect } from 'vitest'
|
|
8
|
+
|
|
6
9
|
import { type DockerComposeArgs, DockerComposeService } from './DockerComposeService.ts'
|
|
7
10
|
|
|
8
11
|
const testTimeout = 30_000
|