@livestore/utils-dev 0.0.0-snapshot-92c31f56117b4fd377b66f55163ed565795c5e4c → 0.0.0-snapshot-6d1da0d93ffe8144f36fc2ec57c22db22a1d18d8
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/WranglerDevServer/WranglerDevServer.d.ts +6 -3
- package/dist/node/WranglerDevServer/WranglerDevServer.d.ts.map +1 -1
- package/dist/node/WranglerDevServer/WranglerDevServer.js +65 -17
- package/dist/node/WranglerDevServer/WranglerDevServer.js.map +1 -1
- package/dist/node/WranglerDevServer/WranglerDevServer.test.js +19 -26
- package/dist/node/WranglerDevServer/WranglerDevServer.test.js.map +1 -1
- package/dist/node-vitest/Vitest.d.ts +2 -2
- package/dist/node-vitest/Vitest.d.ts.map +1 -1
- package/dist/node-vitest/Vitest.js.map +1 -1
- package/package.json +5 -7
- package/src/node/WranglerDevServer/WranglerDevServer.test.ts +32 -30
- package/src/node/WranglerDevServer/WranglerDevServer.ts +118 -22
- package/src/node-vitest/Vitest.ts +9 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Effect, Schema } from '@livestore/utils/effect';
|
|
1
|
+
import { Duration, Effect, HttpClient, Schema } from '@livestore/utils/effect';
|
|
2
2
|
declare const WranglerDevServerError_base: Schema.TaggedErrorClass<WranglerDevServerError, "WranglerDevServerError", {
|
|
3
3
|
readonly _tag: Schema.tag<"WranglerDevServerError">;
|
|
4
4
|
} & {
|
|
@@ -25,16 +25,19 @@ export interface WranglerDevServer {
|
|
|
25
25
|
export interface StartWranglerDevServerArgs {
|
|
26
26
|
wranglerConfigPath?: string;
|
|
27
27
|
cwd: string;
|
|
28
|
-
port
|
|
28
|
+
/** The port to try first. The dev server may bind a different port if unavailable. */
|
|
29
|
+
preferredPort?: number;
|
|
29
30
|
/** @default false */
|
|
30
31
|
showLogs?: boolean;
|
|
32
|
+
inspectorPort?: number;
|
|
33
|
+
connectTimeout?: Duration.DurationInput;
|
|
31
34
|
}
|
|
32
35
|
declare const WranglerDevServerService_base: Effect.Service.Class<WranglerDevServerService, "WranglerDevServerService", {
|
|
33
36
|
readonly scoped: (args: StartWranglerDevServerArgs) => Effect.Effect<{
|
|
34
37
|
port: number;
|
|
35
38
|
url: string;
|
|
36
39
|
processId: import("@effect/platform/CommandExecutor").ProcessId;
|
|
37
|
-
}, WranglerDevServerError, import("effect/Scope").Scope | import("@effect/platform/CommandExecutor").CommandExecutor>;
|
|
40
|
+
}, import("@livestore/utils/effect").UnknownError | WranglerDevServerError, import("effect/Scope").Scope | HttpClient.HttpClient | import("@effect/platform/CommandExecutor").CommandExecutor>;
|
|
38
41
|
}>;
|
|
39
42
|
/**
|
|
40
43
|
* WranglerDevServer as an Effect.Service.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WranglerDevServer.d.ts","sourceRoot":"","sources":["../../../src/node/WranglerDevServer/WranglerDevServer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WranglerDevServer.d.ts","sourceRoot":"","sources":["../../../src/node/WranglerDevServer/WranglerDevServer.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,QAAQ,EACR,MAAM,EAEN,UAAU,EAIV,MAAM,EAEP,MAAM,yBAAyB,CAAA;;;;;;;;AAIhC;;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;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,sFAAsF;IACtF,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAA;CACxC;;4BAYgB,0BAA0B;;;;;;AAV3C;;;;;;;;GAQG;AACH,qBAAa,wBAAyB,SAAQ,6BAsJ5C;CAAG"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { error } from 'node:console';
|
|
1
2
|
import * as path from 'node:path';
|
|
2
|
-
import {
|
|
3
|
+
import { IS_CI, shouldNeverHappen } from '@livestore/utils';
|
|
4
|
+
import { Command, Duration, Effect, Exit, HttpClient, Option, Schedule, Schema, Stream, } from '@livestore/utils/effect';
|
|
3
5
|
import { getFreePort } from '@livestore/utils/node';
|
|
4
6
|
import { cleanupOrphanedProcesses, killProcessTree } from "./process-tree-manager.js";
|
|
5
7
|
/**
|
|
@@ -27,17 +29,18 @@ export class WranglerDevServerService extends Effect.Service()('WranglerDevServe
|
|
|
27
29
|
yield* cleanupOrphanedProcesses(['wrangler', 'workerd']).pipe(Effect.tap((result) => showLogs && (result.cleaned.length > 0 || result.failed.length > 0)
|
|
28
30
|
? Effect.logInfo(`Cleanup result: ${result.cleaned.length} cleaned, ${result.failed.length} failed`)
|
|
29
31
|
: Effect.void), Effect.ignore);
|
|
30
|
-
// Allocate port
|
|
31
|
-
const
|
|
32
|
+
// Allocate preferred port (Wrangler may bind a different one if unavailable)
|
|
33
|
+
const preferredPort = args.preferredPort ??
|
|
32
34
|
(yield* getFreePort.pipe(Effect.mapError((cause) => new WranglerDevServerError({ cause, message: 'Failed to get free port', port: -1 }))));
|
|
33
|
-
yield* Effect.annotateCurrentSpan({
|
|
35
|
+
yield* Effect.annotateCurrentSpan({ preferredPort });
|
|
34
36
|
// Resolve config path
|
|
35
37
|
const configPath = path.resolve(args.wranglerConfigPath ?? path.join(args.cwd, 'wrangler.toml'));
|
|
38
|
+
const inspectorPort = args.inspectorPort ?? (yield* getFreePort);
|
|
36
39
|
// Start wrangler process using Effect Command
|
|
37
|
-
const process = yield* Command.make('bunx', 'wrangler', 'dev', '--port', port.toString(), '--config', configPath).pipe(Command.workingDirectory(args.cwd), Command.stdout('pipe'), Command.stderr('pipe'), Command.start, Effect.catchAllCause((error) => new WranglerDevServerError({
|
|
40
|
+
const process = yield* Command.make('bunx', 'wrangler', 'dev', '--port', preferredPort.toString(), '--inspector-port', inspectorPort.toString(), '--config', configPath).pipe(Command.workingDirectory(args.cwd), Command.stdout('pipe'), Command.stderr('pipe'), Command.start, Effect.catchAllCause((error) => new WranglerDevServerError({
|
|
38
41
|
cause: error,
|
|
39
42
|
message: `Failed to start wrangler process in directory: ${args.cwd}`,
|
|
40
|
-
port,
|
|
43
|
+
port: preferredPort,
|
|
41
44
|
})), Effect.withSpan('WranglerDevServerService:startProcess'));
|
|
42
45
|
if (showLogs) {
|
|
43
46
|
yield* process.stderr.pipe(Stream.decodeText('utf8'), Stream.tapLogWithLabel('wrangler:stderr'), Stream.runDrain, Effect.forkScoped);
|
|
@@ -74,29 +77,74 @@ export class WranglerDevServerService extends Effect.Service()('WranglerDevServe
|
|
|
74
77
|
else if (showLogs) {
|
|
75
78
|
yield* Effect.logDebug(`Process ${processId} already terminated`);
|
|
76
79
|
}
|
|
77
|
-
}).pipe(Effect.timeout('5 seconds'), // Don't let cleanup hang forever
|
|
80
|
+
}).pipe(Effect.withSpan('WranglerDevServerService:cleanupProcess'), Effect.timeout('5 seconds'), // Don't let cleanup hang forever
|
|
78
81
|
Effect.ignoreLogged));
|
|
79
|
-
// Wait for server to be ready
|
|
80
|
-
yield* waitForReady({ stdout, showLogs });
|
|
82
|
+
// Wait for server to be ready and parse the actual bound host:port from stdout
|
|
83
|
+
const readyInfo = yield* waitForReady({ stdout, showLogs });
|
|
84
|
+
const actualPort = readyInfo.port;
|
|
85
|
+
const actualHost = readyInfo.host;
|
|
86
|
+
const url = `http://${actualHost}:${actualPort}`;
|
|
87
|
+
// Use longer timeout in CI environments to account for slower startup times
|
|
88
|
+
const defaultTimeout = Duration.seconds(IS_CI ? 30 : 5);
|
|
89
|
+
yield* verifyHttpConnectivity({ url, showLogs, connectTimeout: args.connectTimeout ?? defaultTimeout });
|
|
81
90
|
if (showLogs) {
|
|
82
|
-
yield* Effect.logDebug(`Wrangler dev server ready on port ${
|
|
91
|
+
yield* Effect.logDebug(`Wrangler dev server ready and accepting connections on port ${actualPort} (preferred: ${preferredPort})`);
|
|
83
92
|
}
|
|
84
93
|
return {
|
|
85
|
-
port,
|
|
86
|
-
url
|
|
94
|
+
port: actualPort,
|
|
95
|
+
url,
|
|
87
96
|
processId,
|
|
88
97
|
};
|
|
89
98
|
}).pipe(Effect.withSpan('WranglerDevServerService', {
|
|
90
|
-
attributes: {
|
|
99
|
+
attributes: { preferredPort: args.preferredPort ?? 'auto', cwd: args.cwd },
|
|
91
100
|
})),
|
|
92
101
|
}) {
|
|
93
102
|
}
|
|
94
103
|
/**
|
|
95
104
|
* Waits for Wrangler server to be ready by monitoring stdout for "Ready on" message
|
|
96
105
|
*/
|
|
97
|
-
const waitForReady = ({ stdout, showLogs, }) => stdout.pipe(Stream.decodeText('utf8'), Stream.splitLines, Stream.tap((line) => (showLogs ? Effect.logDebug(`[wrangler] ${line}`) : Effect.void)),
|
|
98
|
-
|
|
99
|
-
|
|
106
|
+
const waitForReady = ({ stdout, showLogs, }) => stdout.pipe(Stream.decodeText('utf8'), Stream.splitLines, Stream.tap((line) => (showLogs ? Effect.logDebug(`[wrangler] ${line}`) : Effect.void)),
|
|
107
|
+
// Find the first readiness line and try to parse the port from it
|
|
108
|
+
Stream.filterMap((line) => {
|
|
109
|
+
if (line.includes('Ready on')) {
|
|
110
|
+
// Expect: "Ready on http://<host>:<port>"
|
|
111
|
+
const m = line.match(/https?:\/\/([^:\s]+):(\d+)/i);
|
|
112
|
+
if (!m)
|
|
113
|
+
return shouldNeverHappen('Could not parse host:port from Wrangler "Ready on" line', line);
|
|
114
|
+
const host = m[1];
|
|
115
|
+
const port = Number.parseInt(m[2], 10);
|
|
116
|
+
if (!Number.isFinite(port))
|
|
117
|
+
return shouldNeverHappen('Parsed non-finite port from Wrangler output', line);
|
|
118
|
+
return Option.some({ host, port });
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
return Option.none();
|
|
122
|
+
}
|
|
123
|
+
}), Stream.take(1), Stream.runHead, Effect.flatten, Effect.orElse(() => new WranglerDevServerError({
|
|
124
|
+
cause: 'WranglerReadyLineMissing',
|
|
125
|
+
message: 'Wrangler server did not emit a "Ready on" line',
|
|
100
126
|
port: 0,
|
|
101
|
-
}))
|
|
127
|
+
})), Effect.timeoutFail({
|
|
128
|
+
duration: '30 seconds',
|
|
129
|
+
onTimeout: () => new WranglerDevServerError({
|
|
130
|
+
cause: error,
|
|
131
|
+
message: 'Wrangler server failed to start within timeout',
|
|
132
|
+
port: 0,
|
|
133
|
+
}),
|
|
134
|
+
}));
|
|
135
|
+
/**
|
|
136
|
+
* Verifies the server is actually accepting HTTP connections by making a test request
|
|
137
|
+
*/
|
|
138
|
+
const verifyHttpConnectivity = ({ url, showLogs, connectTimeout, }) => Effect.gen(function* () {
|
|
139
|
+
const client = yield* HttpClient.HttpClient;
|
|
140
|
+
if (showLogs) {
|
|
141
|
+
yield* Effect.logDebug(`Verifying HTTP connectivity to ${url}`);
|
|
142
|
+
}
|
|
143
|
+
// Try to connect with retries using exponential backoff
|
|
144
|
+
yield* client.get(url).pipe(Effect.retryOrElse(Schedule.exponential('50 millis', 2).pipe(Schedule.jittered, Schedule.intersect(Schedule.elapsed.pipe(Schedule.whileOutput(Duration.lessThanOrEqualTo(connectTimeout)))), Schedule.compose(Schedule.count)), (error, attemptCount) => Effect.fail(new WranglerDevServerError({
|
|
145
|
+
cause: error,
|
|
146
|
+
message: `Failed to establish HTTP connection to Wrangler server at ${url} after ${attemptCount} attempts (timeout: ${Duration.toMillis(connectTimeout)}ms)`,
|
|
147
|
+
port: 0,
|
|
148
|
+
}))), Effect.tap(() => (showLogs ? Effect.logDebug(`HTTP connectivity verified for ${url}`) : Effect.void)), Effect.asVoid, Effect.withSpan('verifyHttpConnectivity'));
|
|
149
|
+
});
|
|
102
150
|
//# sourceMappingURL=WranglerDevServer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WranglerDevServer.js","sourceRoot":"","sources":["../../../src/node/WranglerDevServer/WranglerDevServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"WranglerDevServer.js","sourceRoot":"","sources":["../../../src/node/WranglerDevServer/WranglerDevServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Effect, Exit, Fiber, Layer, Scope } from '@livestore/utils/effect';
|
|
2
|
-
import { PlatformNode } from '@livestore/utils/node';
|
|
1
|
+
import { Effect, Exit, FetchHttpClient, Fiber, Layer, Scope } from '@livestore/utils/effect';
|
|
2
|
+
import { getFreePort, PlatformNode } from '@livestore/utils/node';
|
|
3
3
|
import { Vitest } from '@livestore/utils-dev/node-vitest';
|
|
4
4
|
import { expect } from 'vitest';
|
|
5
5
|
import { WranglerDevServerError, WranglerDevServerService, } from "./WranglerDevServer.js";
|
|
@@ -11,7 +11,7 @@ const withTestCtx = Vitest.makeWithTestCtx({
|
|
|
11
11
|
const WranglerDevServerTest = (args = {}) => WranglerDevServerService.Default({
|
|
12
12
|
cwd: `${import.meta.dirname}/fixtures`,
|
|
13
13
|
...args,
|
|
14
|
-
});
|
|
14
|
+
}).pipe(Layer.provide(FetchHttpClient.layer));
|
|
15
15
|
Vitest.describe('WranglerDevServer', { timeout: testTimeout }, () => {
|
|
16
16
|
Vitest.describe('Basic Operations', () => {
|
|
17
17
|
const withBasicTest = (args = {}) => Vitest.makeWithTestCtx({
|
|
@@ -25,11 +25,11 @@ Vitest.describe('WranglerDevServer', { timeout: testTimeout }, () => {
|
|
|
25
25
|
expect(typeof server.processId).toBe('number');
|
|
26
26
|
expect(server.processId).toBeGreaterThan(0);
|
|
27
27
|
}).pipe(withBasicTest()(test)));
|
|
28
|
-
Vitest.scopedLive('should use specified port when provided', (test) => Effect.gen(function* () {
|
|
28
|
+
Vitest.scopedLive('should use specified port when provided', (test) => Effect.andThen(getFreePort, (port) => Effect.gen(function* () {
|
|
29
29
|
const server = yield* WranglerDevServerService;
|
|
30
|
-
expect(server.port).toBe(
|
|
31
|
-
expect(server.url).toBe(`http://localhost
|
|
32
|
-
}).pipe(withBasicTest({
|
|
30
|
+
expect(server.port).toBe(port);
|
|
31
|
+
expect(server.url).toBe(`http://localhost:${port}`);
|
|
32
|
+
}).pipe(withBasicTest({ preferredPort: port })(test))));
|
|
33
33
|
});
|
|
34
34
|
Vitest.describe('Resource Management', () => {
|
|
35
35
|
Vitest.scopedLive('should cleanup processes on scope close', (test) => Effect.gen(function* () {
|
|
@@ -94,21 +94,14 @@ Vitest.describe('WranglerDevServer', { timeout: testTimeout }, () => {
|
|
|
94
94
|
timeout: testTimeout,
|
|
95
95
|
makeLayer: () => WranglerDevServerTest(args).pipe(Layer.provide(PlatformNode.NodeContext.layer)),
|
|
96
96
|
});
|
|
97
|
-
Vitest.scopedLive('should handle missing wrangler.toml', (test) => Effect.gen(function* () {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
expect(result.left).toBeInstanceOf(WranglerDevServerError);
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
// If it succeeds, the server should be properly configured
|
|
109
|
-
expect(result.right.port).toBeGreaterThan(0);
|
|
110
|
-
}
|
|
111
|
-
}).pipe(withErrorTest({ cwd: '/tmp', wranglerConfigPath: '/dev/null' })(test)));
|
|
97
|
+
Vitest.scopedLive('should handle missing wrangler.toml but should timeout', (test) => Effect.gen(function* () {
|
|
98
|
+
const error = yield* WranglerDevServerService.pipe(Effect.provide(WranglerDevServerTest({
|
|
99
|
+
cwd: '/tmp',
|
|
100
|
+
wranglerConfigPath: '/dev/null',
|
|
101
|
+
connectTimeout: '500 millis',
|
|
102
|
+
}).pipe(Layer.provide(PlatformNode.NodeContext.layer))), Effect.flip);
|
|
103
|
+
expect(error).toBeInstanceOf(WranglerDevServerError);
|
|
104
|
+
}).pipe(Vitest.withTestCtx(test)));
|
|
112
105
|
Vitest.scopedLive('should handle invalid working directory', (test) => Effect.gen(function* () {
|
|
113
106
|
const result = yield* WranglerDevServerService.pipe(Effect.provide(WranglerDevServerTest({
|
|
114
107
|
cwd: '/completely/nonexistent/directory',
|
|
@@ -176,11 +169,11 @@ Vitest.describe('WranglerDevServer', { timeout: testTimeout }, () => {
|
|
|
176
169
|
expect(server.url).toMatch(/http:\/\/localhost:\d+/);
|
|
177
170
|
expect(server.processId).toBeGreaterThan(0);
|
|
178
171
|
}).pipe(withServiceTest()(test)));
|
|
179
|
-
Vitest.scopedLive('should work with custom port via service', (test) => Effect.gen(function* () {
|
|
172
|
+
Vitest.scopedLive('should work with custom port via service', (test) => Effect.andThen(getFreePort, (port) => Effect.gen(function* () {
|
|
180
173
|
const server = yield* WranglerDevServerService;
|
|
181
|
-
expect(server.port).toBe(
|
|
182
|
-
expect(server.url).toBe(
|
|
183
|
-
}).pipe(withServiceTest({
|
|
174
|
+
expect(server.port).toBe(port);
|
|
175
|
+
expect(server.url).toBe(`http://localhost:${port}`);
|
|
176
|
+
}).pipe(withServiceTest({ preferredPort: port })(test))));
|
|
184
177
|
});
|
|
185
178
|
});
|
|
186
179
|
//# sourceMappingURL=WranglerDevServer.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WranglerDevServer.test.js","sourceRoot":"","sources":["../../../src/node/WranglerDevServer/WranglerDevServer.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"WranglerDevServer.test.js","sourceRoot":"","sources":["../../../src/node/WranglerDevServer/WranglerDevServer.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@ import type * as Vitest from '@effect/vitest';
|
|
|
2
2
|
import { type Cause, Duration, Effect, type FastCheck as FC, Layer, type OtelTracer, type Schema, type Scope } from '@livestore/utils/effect';
|
|
3
3
|
export * from '@effect/vitest';
|
|
4
4
|
export declare const DEBUGGER_ACTIVE: boolean;
|
|
5
|
-
export declare const makeWithTestCtx: <R1
|
|
6
|
-
export type WithTestCtxParams<R1
|
|
5
|
+
export declare const makeWithTestCtx: <R1, E1>(ctxParams: WithTestCtxParams<R1, E1>) => (testContext: Vitest.TestContext) => <A, E>(self: Effect.Effect<A, E, Scope.Scope | NoInfer<R1> | OtelTracer.OtelTracer>) => Effect.Effect<A, E1 | Cause.TimeoutException | E, Scope.Scope>;
|
|
6
|
+
export type WithTestCtxParams<R1, E1> = {
|
|
7
7
|
suffix?: string;
|
|
8
8
|
makeLayer?: (testContext: Vitest.TestContext) => Layer.Layer<R1, E1, Scope.Scope>;
|
|
9
9
|
timeout?: Duration.DurationInput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Vitest.d.ts","sourceRoot":"","sources":["../../src/node-vitest/Vitest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAE7C,OAAO,EACL,KAAK,KAAK,EACV,QAAQ,EACR,MAAM,EACN,KAAK,SAAS,IAAI,EAAE,EAEpB,KAAK,EACL,KAAK,UAAU,EAEf,KAAK,MAAM,EACX,KAAK,KAAK,EACX,MAAM,yBAAyB,CAAA;AAIhC,cAAc,gBAAgB,CAAA;AAE9B,eAAO,MAAM,eAAe,SAAwE,CAAA;AAEpG,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"Vitest.d.ts","sourceRoot":"","sources":["../../src/node-vitest/Vitest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Vitest.js","sourceRoot":"","sources":["../../src/node-vitest/Vitest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAEL,QAAQ,EACR,MAAM,EAEN,QAAQ,EACR,KAAK,EAEL,SAAS,GAGV,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,cAAc,gBAAgB,CAAA;AAE9B,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,SAAS,CAAC,GAAG,EAAE,KAAK,SAAS,CAAC,CAAA;AAEpG,MAAM,CAAC,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"Vitest.js","sourceRoot":"","sources":["../../src/node-vitest/Vitest.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@livestore/utils-dev",
|
|
3
|
-
"version": "0.0.0-snapshot-
|
|
3
|
+
"version": "0.0.0-snapshot-6d1da0d93ffe8144f36fc2ec57c22db22a1d18d8",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": [
|
|
6
|
-
"./src/node-vitest/global.ts"
|
|
6
|
+
"./src/node-vitest/global.ts",
|
|
7
|
+
"./dist/node-vitest/global.js"
|
|
7
8
|
],
|
|
8
9
|
"exports": {
|
|
9
10
|
"./node": "./dist/node/mod.js",
|
|
@@ -18,7 +19,7 @@
|
|
|
18
19
|
"@opentelemetry/sdk-metrics": "2.0.1",
|
|
19
20
|
"@opentelemetry/sdk-trace-base": "2.0.1",
|
|
20
21
|
"@opentelemetry/sdk-trace-node": "2.0.1",
|
|
21
|
-
"@livestore/utils": "0.0.0-snapshot-
|
|
22
|
+
"@livestore/utils": "0.0.0-snapshot-6d1da0d93ffe8144f36fc2ec57c22db22a1d18d8"
|
|
22
23
|
},
|
|
23
24
|
"devDependencies": {},
|
|
24
25
|
"files": [
|
|
@@ -29,10 +30,7 @@
|
|
|
29
30
|
"license": "Apache-2.0",
|
|
30
31
|
"peerDependencies": {},
|
|
31
32
|
"publishConfig": {
|
|
32
|
-
"access": "public"
|
|
33
|
-
"sideEffects": [
|
|
34
|
-
"./dist/node-vitest/global.js"
|
|
35
|
-
]
|
|
33
|
+
"access": "public"
|
|
36
34
|
},
|
|
37
35
|
"scripts": {
|
|
38
36
|
"test": "echo 'No tests for utils-dev'"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Effect, Exit, Fiber, Layer, Scope } from '@livestore/utils/effect'
|
|
2
|
-
import { PlatformNode } from '@livestore/utils/node'
|
|
1
|
+
import { Effect, Exit, FetchHttpClient, Fiber, Layer, Scope } from '@livestore/utils/effect'
|
|
2
|
+
import { getFreePort, PlatformNode } from '@livestore/utils/node'
|
|
3
3
|
import { Vitest } from '@livestore/utils-dev/node-vitest'
|
|
4
4
|
import { expect } from 'vitest'
|
|
5
5
|
import {
|
|
@@ -19,7 +19,7 @@ const WranglerDevServerTest = (args: Partial<StartWranglerDevServerArgs> = {}) =
|
|
|
19
19
|
WranglerDevServerService.Default({
|
|
20
20
|
cwd: `${import.meta.dirname}/fixtures`,
|
|
21
21
|
...args,
|
|
22
|
-
})
|
|
22
|
+
}).pipe(Layer.provide(FetchHttpClient.layer))
|
|
23
23
|
|
|
24
24
|
Vitest.describe('WranglerDevServer', { timeout: testTimeout }, () => {
|
|
25
25
|
Vitest.describe('Basic Operations', () => {
|
|
@@ -41,12 +41,14 @@ Vitest.describe('WranglerDevServer', { timeout: testTimeout }, () => {
|
|
|
41
41
|
)
|
|
42
42
|
|
|
43
43
|
Vitest.scopedLive('should use specified port when provided', (test) =>
|
|
44
|
-
Effect.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
44
|
+
Effect.andThen(getFreePort, (port) =>
|
|
45
|
+
Effect.gen(function* () {
|
|
46
|
+
const server = yield* WranglerDevServerService
|
|
47
|
+
|
|
48
|
+
expect(server.port).toBe(port)
|
|
49
|
+
expect(server.url).toBe(`http://localhost:${port}`)
|
|
50
|
+
}).pipe(withBasicTest({ preferredPort: port })(test)),
|
|
51
|
+
),
|
|
50
52
|
)
|
|
51
53
|
})
|
|
52
54
|
|
|
@@ -140,23 +142,21 @@ Vitest.describe('WranglerDevServer', { timeout: testTimeout }, () => {
|
|
|
140
142
|
makeLayer: () => WranglerDevServerTest(args).pipe(Layer.provide(PlatformNode.NodeContext.layer)),
|
|
141
143
|
})
|
|
142
144
|
|
|
143
|
-
Vitest.scopedLive('should handle missing wrangler.toml', (test) =>
|
|
145
|
+
Vitest.scopedLive('should handle missing wrangler.toml but should timeout', (test) =>
|
|
144
146
|
Effect.gen(function* () {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
147
|
+
const error = yield* WranglerDevServerService.pipe(
|
|
148
|
+
Effect.provide(
|
|
149
|
+
WranglerDevServerTest({
|
|
150
|
+
cwd: '/tmp',
|
|
151
|
+
wranglerConfigPath: '/dev/null',
|
|
152
|
+
connectTimeout: '500 millis',
|
|
153
|
+
}).pipe(Layer.provide(PlatformNode.NodeContext.layer)),
|
|
154
|
+
),
|
|
155
|
+
Effect.flip,
|
|
156
|
+
)
|
|
151
157
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
expect(result.left).toBeInstanceOf(WranglerDevServerError)
|
|
155
|
-
} else {
|
|
156
|
-
// If it succeeds, the server should be properly configured
|
|
157
|
-
expect(result.right.port).toBeGreaterThan(0)
|
|
158
|
-
}
|
|
159
|
-
}).pipe(withErrorTest({ cwd: '/tmp', wranglerConfigPath: '/dev/null' })(test)),
|
|
158
|
+
expect(error).toBeInstanceOf(WranglerDevServerError)
|
|
159
|
+
}).pipe(Vitest.withTestCtx(test)),
|
|
160
160
|
)
|
|
161
161
|
|
|
162
162
|
Vitest.scopedLive('should handle invalid working directory', (test) =>
|
|
@@ -257,12 +257,14 @@ Vitest.describe('WranglerDevServer', { timeout: testTimeout }, () => {
|
|
|
257
257
|
)
|
|
258
258
|
|
|
259
259
|
Vitest.scopedLive('should work with custom port via service', (test) =>
|
|
260
|
-
Effect.
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
260
|
+
Effect.andThen(getFreePort, (port) =>
|
|
261
|
+
Effect.gen(function* () {
|
|
262
|
+
const server = yield* WranglerDevServerService
|
|
263
|
+
|
|
264
|
+
expect(server.port).toBe(port)
|
|
265
|
+
expect(server.url).toBe(`http://localhost:${port}`)
|
|
266
|
+
}).pipe(withServiceTest({ preferredPort: port })(test)),
|
|
267
|
+
),
|
|
266
268
|
)
|
|
267
269
|
})
|
|
268
270
|
})
|