alchemy 2.0.0-beta.25 → 2.0.0-beta.27
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/bin/alchemy.d.ts +2 -0
- package/bin/alchemy.d.ts.map +1 -0
- package/bin/alchemy.js +3 -57288
- package/bin/alchemy.js.map +1 -1
- package/bin/alchemy.ts +3 -59
- package/bin/exec.d.ts +2 -0
- package/bin/exec.d.ts.map +1 -0
- package/bin/exec.js +2360 -0
- package/bin/exec.js.map +1 -0
- package/bin/exec.ts +3 -21
- package/lib/AWS/AuthProvider.d.ts +1 -1
- package/lib/AWS/AuthProvider.d.ts.map +1 -1
- package/lib/AWS/Lambda/BucketEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/BucketEventSource.d.ts.map +1 -1
- package/lib/AWS/Lambda/EventBridgeEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/EventBridgeEventSource.d.ts.map +1 -1
- package/lib/AWS/Lambda/QueueEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/QueueEventSource.d.ts.map +1 -1
- package/lib/AWS/Lambda/StreamEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/StreamEventSource.d.ts.map +1 -1
- package/lib/AWS/Lambda/TableEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/TableEventSource.d.ts.map +1 -1
- package/lib/AWS/Lambda/TopicEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/TopicEventSource.d.ts.map +1 -1
- package/lib/Auth/AuthProvider.d.ts.map +1 -1
- package/lib/Auth/AuthProvider.js +20 -3
- package/lib/Auth/AuthProvider.js.map +1 -1
- package/lib/Auth/Lock.d.ts +12 -0
- package/lib/Auth/Lock.d.ts.map +1 -0
- package/lib/Auth/Lock.js +27 -0
- package/lib/Auth/Lock.js.map +1 -0
- package/lib/Axiom/AuthProvider.d.ts +1 -1
- package/lib/Axiom/AuthProvider.d.ts.map +1 -1
- package/lib/Axiom/Credentials.d.ts +1 -1
- package/lib/Axiom/Credentials.d.ts.map +1 -1
- package/lib/Bundle/Bundle.d.ts +3 -3
- package/lib/Cli/commands/_shared.d.ts +51 -0
- package/lib/Cli/commands/_shared.d.ts.map +1 -0
- package/lib/Cli/commands/_shared.js +176 -0
- package/lib/Cli/commands/_shared.js.map +1 -0
- package/lib/Cli/commands/bootstrap.d.ts +6 -0
- package/lib/Cli/commands/bootstrap.d.ts.map +1 -0
- package/lib/Cli/commands/bootstrap.js +106 -0
- package/lib/Cli/commands/bootstrap.js.map +1 -0
- package/lib/Cli/commands/deploy.d.ts +56 -0
- package/lib/Cli/commands/deploy.d.ts.map +1 -0
- package/lib/Cli/commands/deploy.js +128 -0
- package/lib/Cli/commands/deploy.js.map +1 -0
- package/lib/Cli/commands/dev.d.ts +10 -0
- package/lib/Cli/commands/dev.d.ts.map +1 -0
- package/lib/Cli/commands/dev.js +45 -0
- package/lib/Cli/commands/dev.js.map +1 -0
- package/lib/Cli/commands/login.d.ts +10 -0
- package/lib/Cli/commands/login.d.ts.map +1 -0
- package/lib/Cli/commands/login.js +59 -0
- package/lib/Cli/commands/login.js.map +1 -0
- package/lib/Cli/commands/logs.d.ts +12 -0
- package/lib/Cli/commands/logs.d.ts.map +1 -0
- package/lib/Cli/commands/logs.js +99 -0
- package/lib/Cli/commands/logs.js.map +1 -0
- package/lib/Cli/commands/profile.d.ts +3 -0
- package/lib/Cli/commands/profile.d.ts.map +1 -0
- package/lib/Cli/commands/profile.js +76 -0
- package/lib/Cli/commands/profile.js.map +1 -0
- package/lib/Cli/commands/state.d.ts +3 -0
- package/lib/Cli/commands/state.d.ts.map +1 -0
- package/lib/Cli/commands/state.js +221 -0
- package/lib/Cli/commands/state.js.map +1 -0
- package/lib/Cli/commands/tail.d.ts +9 -0
- package/lib/Cli/commands/tail.d.ts.map +1 -0
- package/lib/Cli/commands/tail.js +93 -0
- package/lib/Cli/commands/tail.js.map +1 -0
- package/lib/Cli/exec.d.ts +3 -0
- package/lib/Cli/exec.d.ts.map +1 -0
- package/lib/Cli/exec.js +12 -0
- package/lib/Cli/exec.js.map +1 -0
- package/lib/Cli/index.d.ts +2 -1
- package/lib/Cli/index.d.ts.map +1 -1
- package/lib/Cli/index.js +2 -5
- package/lib/Cli/index.js.map +1 -1
- package/lib/Cli/main.d.ts +3 -0
- package/lib/Cli/main.d.ts.map +1 -0
- package/lib/Cli/main.js +40 -0
- package/lib/Cli/main.js.map +1 -0
- package/lib/Cli/{InkCLI.d.ts → tui/InkCLI.d.ts} +1 -1
- package/lib/Cli/tui/InkCLI.d.ts.map +1 -0
- package/lib/Cli/{InkCLI.js → tui/InkCLI.js} +1 -1
- package/lib/Cli/tui/InkCLI.js.map +1 -0
- package/lib/Cli/{components → tui/components}/ApprovePlan.d.ts +1 -1
- package/lib/Cli/tui/components/ApprovePlan.d.ts.map +1 -0
- package/lib/Cli/tui/components/ApprovePlan.js.map +1 -0
- package/lib/Cli/{components → tui/components}/Plan.d.ts +1 -1
- package/lib/Cli/tui/components/Plan.d.ts.map +1 -0
- package/lib/Cli/{components → tui/components}/Plan.js +1 -1
- package/lib/Cli/tui/components/Plan.js.map +1 -0
- package/lib/Cli/{components → tui/components}/PlanProgress.d.ts +3 -3
- package/lib/Cli/tui/components/PlanProgress.d.ts.map +1 -0
- package/lib/Cli/{components → tui/components}/PlanProgress.js +1 -1
- package/lib/Cli/tui/components/PlanProgress.js.map +1 -0
- package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts +1 -1
- package/lib/Cloudflare/ApiToken/AccountApiToken.d.ts.map +1 -1
- package/lib/Cloudflare/ApiToken/UserApiToken.d.ts +1 -1
- package/lib/Cloudflare/ApiToken/UserApiToken.d.ts.map +1 -1
- package/lib/Cloudflare/Auth/AuthProvider.d.ts +1 -1
- package/lib/Cloudflare/Auth/AuthProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Auth/AuthProvider.js +0 -4
- package/lib/Cloudflare/Auth/AuthProvider.js.map +1 -1
- package/lib/Cloudflare/CloudflareEnvironment.d.ts +1 -1
- package/lib/Cloudflare/CloudflareEnvironment.d.ts.map +1 -1
- package/lib/Cloudflare/Container/ContainerApplication.d.ts +1 -1
- package/lib/Cloudflare/Container/ContainerApplication.d.ts.map +1 -1
- package/lib/Cloudflare/Credentials.d.ts +1 -1
- package/lib/Cloudflare/Credentials.d.ts.map +1 -1
- package/lib/Cloudflare/D1/D1Clone.d.ts +1 -1
- package/lib/Cloudflare/D1/D1Clone.d.ts.map +1 -1
- package/lib/Cloudflare/D1/D1Import.d.ts +1 -1
- package/lib/Cloudflare/D1/D1Import.d.ts.map +1 -1
- package/lib/Cloudflare/D1/D1Migrations.d.ts +1 -1
- package/lib/Cloudflare/D1/D1Migrations.d.ts.map +1 -1
- package/lib/Cloudflare/KV/KVNamespace.d.ts +1 -1
- package/lib/Cloudflare/KV/KVNamespace.d.ts.map +1 -1
- package/lib/Cloudflare/Logs.d.ts +1 -1
- package/lib/Cloudflare/Logs.d.ts.map +1 -1
- package/lib/Cloudflare/Queue/Queue.d.ts +1 -1
- package/lib/Cloudflare/Queue/Queue.d.ts.map +1 -1
- package/lib/Cloudflare/Queue/QueueConsumer.d.ts +1 -1
- package/lib/Cloudflare/Queue/QueueConsumer.d.ts.map +1 -1
- package/lib/Cloudflare/SecretsStore/Secret.d.ts +1 -1
- package/lib/Cloudflare/SecretsStore/Secret.d.ts.map +1 -1
- package/lib/Cloudflare/SecretsStore/SecretsStore.d.ts +1 -1
- package/lib/Cloudflare/SecretsStore/SecretsStore.d.ts.map +1 -1
- package/lib/Cloudflare/SecretsStore/SecretsStore.js +5 -5
- package/lib/Cloudflare/SecretsStore/SecretsStore.js.map +1 -1
- package/lib/Cloudflare/StateStore/Api.d.ts +13 -0
- package/lib/Cloudflare/StateStore/Api.d.ts.map +1 -1
- package/lib/Cloudflare/StateStore/Api.js +15 -2
- package/lib/Cloudflare/StateStore/Api.js.map +1 -1
- package/lib/Cloudflare/StateStore/State.d.ts +3 -3
- package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
- package/lib/Cloudflare/StateStore/State.js.map +1 -1
- package/lib/Cloudflare/Workers/Assets.d.ts +1 -1
- package/lib/Cloudflare/Workers/Assets.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.d.ts +2 -2
- package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.js +14 -12
- package/lib/Cloudflare/Workers/Worker.js.map +1 -1
- package/lib/Cloudflare/Workers/Workflow.d.ts +1 -1
- package/lib/Cloudflare/Workers/Workflow.d.ts.map +1 -1
- package/lib/Deploy.d.ts +1 -1
- package/lib/Deploy.d.ts.map +1 -1
- package/lib/Destroy.d.ts +1 -1
- package/lib/Destroy.d.ts.map +1 -1
- package/lib/GitHub/AuthProvider.d.ts +1 -1
- package/lib/GitHub/AuthProvider.d.ts.map +1 -1
- package/lib/GitHub/Credentials.d.ts +1 -1
- package/lib/GitHub/Credentials.d.ts.map +1 -1
- package/lib/GitHub/Providers.d.ts +1 -1
- package/lib/GitHub/Providers.d.ts.map +1 -1
- package/lib/Output.d.ts.map +1 -1
- package/lib/Output.js +13 -2
- package/lib/Output.js.map +1 -1
- package/lib/Provider.d.ts +1 -1
- package/lib/Provider.d.ts.map +1 -1
- package/lib/Stack.js +2 -2
- package/lib/Stack.js.map +1 -1
- package/lib/Telemetry/Layer.d.ts.map +1 -1
- package/lib/Telemetry/Layer.js +13 -1
- package/lib/Telemetry/Layer.js.map +1 -1
- package/lib/Test/Bun.d.ts +59 -28
- package/lib/Test/Bun.d.ts.map +1 -1
- package/lib/Test/Bun.js +77 -81
- package/lib/Test/Bun.js.map +1 -1
- package/lib/Test/Core.d.ts +73 -0
- package/lib/Test/Core.d.ts.map +1 -0
- package/lib/Test/Core.js +98 -0
- package/lib/Test/Core.js.map +1 -0
- package/lib/Test/Vitest.d.ts +53 -72
- package/lib/Test/Vitest.d.ts.map +1 -1
- package/lib/Test/Vitest.js +73 -232
- package/lib/Test/Vitest.js.map +1 -1
- package/lib/Test/index.d.ts +0 -1
- package/lib/Test/index.d.ts.map +1 -1
- package/lib/Test/index.js +0 -1
- package/lib/Test/index.js.map +1 -1
- package/lib/Util/index.d.ts +1 -0
- package/lib/Util/index.d.ts.map +1 -1
- package/lib/Util/index.js +1 -0
- package/lib/Util/index.js.map +1 -1
- package/lib/index.d.ts +7 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +6 -0
- package/lib/index.js.map +1 -1
- package/lib/tsconfig.test.tsbuildinfo +1 -0
- package/package.json +68 -52
- package/src/Auth/AuthProvider.ts +22 -4
- package/src/Auth/Lock.ts +35 -0
- package/{bin → src/Cli}/commands/_shared.ts +5 -5
- package/{bin → src/Cli}/commands/bootstrap.ts +18 -14
- package/{bin → src/Cli}/commands/deploy.ts +16 -16
- package/{bin → src/Cli}/commands/dev.ts +13 -3
- package/{bin → src/Cli}/commands/login.ts +9 -9
- package/{bin → src/Cli}/commands/logs.ts +11 -11
- package/{bin → src/Cli}/commands/profile.ts +8 -8
- package/{bin → src/Cli}/commands/state.ts +47 -26
- package/{bin → src/Cli}/commands/tail.ts +11 -11
- package/src/Cli/exec.ts +23 -0
- package/src/Cli/index.ts +2 -5
- package/src/Cli/main.ts +60 -0
- package/src/Cli/{InkCLI.tsx → tui/InkCLI.tsx} +3 -3
- package/src/Cli/{components → tui/components}/ApprovePlan.tsx +1 -1
- package/src/Cli/{components → tui/components}/Plan.tsx +6 -2
- package/src/Cli/{components → tui/components}/PlanProgress.tsx +7 -3
- package/src/Cloudflare/Auth/AuthProvider.ts +0 -5
- package/src/Cloudflare/SecretsStore/SecretsStore.ts +5 -5
- package/src/Cloudflare/StateStore/Api.ts +15 -2
- package/src/Cloudflare/StateStore/State.ts +3 -9
- package/src/Cloudflare/Workers/Worker.ts +29 -44
- package/src/Output.ts +10 -2
- package/src/Provider.ts +1 -1
- package/src/Stack.ts +2 -2
- package/src/Telemetry/Layer.ts +13 -1
- package/src/Test/Bun.ts +164 -140
- package/src/Test/Core.ts +225 -0
- package/src/Test/Vitest.ts +157 -509
- package/src/Test/index.ts +0 -1
- package/src/Util/index.ts +1 -0
- package/src/index.ts +14 -0
- package/lib/Cli/InkCLI.d.ts.map +0 -1
- package/lib/Cli/InkCLI.js.map +0 -1
- package/lib/Cli/components/ApprovePlan.d.ts.map +0 -1
- package/lib/Cli/components/ApprovePlan.js.map +0 -1
- package/lib/Cli/components/Plan.d.ts.map +0 -1
- package/lib/Cli/components/Plan.js.map +0 -1
- package/lib/Cli/components/PlanProgress.d.ts.map +0 -1
- package/lib/Cli/components/PlanProgress.js.map +0 -1
- package/lib/cli/index.d.ts +0 -413
- package/lib/cli/index.d.ts.map +0 -1
- package/lib/cli/index.js +0 -10
- package/lib/cli/index.js.map +0 -1
- /package/lib/Cli/{components → tui/components}/ApprovePlan.js +0 -0
package/lib/Test/Bun.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bun.js","sourceRoot":"","sources":["../../src/Test/Bun.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,
|
|
1
|
+
{"version":3,"file":"Bun.js","sourceRoot":"","sources":["../../src/Test/Bun.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import * as Effect from "effect/Effect";
|
|
2
|
+
import * as Layer from "effect/Layer";
|
|
3
|
+
import type { AlchemyContext } from "../AlchemyContext.ts";
|
|
4
|
+
import type { Input } from "../Input.ts";
|
|
5
|
+
import { type CompiledStack, Stack, type StackEffect, type StackServices } from "../Stack.ts";
|
|
6
|
+
import { Stage } from "../Stage.ts";
|
|
7
|
+
import * as State from "../State/index.ts";
|
|
8
|
+
/**
|
|
9
|
+
* Configuration shared by every test in a file. Pass to `Test.make(...)`.
|
|
10
|
+
*/
|
|
11
|
+
export interface MakeOptions<ROut = any> {
|
|
12
|
+
/** Provider layer for the stack — e.g. `AWS.providers()`, `Cloudflare.providers()`. */
|
|
13
|
+
providers: Layer.Layer<ROut, never, StackServices>;
|
|
14
|
+
/** State store for top-level `deploy(Stack)` / `destroy(Stack)`; defaults to {@link State.localState}. */
|
|
15
|
+
state?: Layer.Layer<State.State, never, StackServices>;
|
|
16
|
+
/** Override `ALCHEMY_PROFILE`; otherwise resolved from env / .env. */
|
|
17
|
+
profile?: string;
|
|
18
|
+
/** Default stage for deploy/destroy (default `"test"`). */
|
|
19
|
+
stage?: string;
|
|
20
|
+
}
|
|
21
|
+
export type TestEffect<A, Req = never> = StackEffect<A, any, Req>;
|
|
22
|
+
/**
|
|
23
|
+
* Build the per-test runtime and return a self-contained Effect.
|
|
24
|
+
*
|
|
25
|
+
* Mirrors {@link "../bin/alchemy.ts"} composition: ConfigProvider via
|
|
26
|
+
* `loadConfigProvider` + `withProfileOverride`, an empty `AuthProviders`
|
|
27
|
+
* registry that the user's `providers` layer populates, the platform layers,
|
|
28
|
+
* and the configured state store. Adapters wrap this into runner-specific
|
|
29
|
+
* thunks (`bun.test` -> `runPromise`, `it.live` -> as-is).
|
|
30
|
+
*/
|
|
31
|
+
export declare const toEffect: <A>(effect: TestEffect<A>, options: MakeOptions) => Effect.Effect<A, any, never>;
|
|
32
|
+
/** Promise wrapper around {@link toEffect} for `bun.test`-style runners. */
|
|
33
|
+
export declare const run: <A>(effect: TestEffect<A>, options: MakeOptions) => Promise<A>;
|
|
34
|
+
/**
|
|
35
|
+
* Wrap an effect so it runs with `options.providers` + a placeholder Stack +
|
|
36
|
+
* Stage in scope. Used by `test.provider` so user code can call provider SDK
|
|
37
|
+
* APIs (e.g. `DynamoDB.describeTable`) directly inside the test body.
|
|
38
|
+
*/
|
|
39
|
+
export declare const withProviders: <A, E, R, ROut>(effect: Effect.Effect<A, E, R>, options: MakeOptions<ROut>, stackName: string) => Effect.Effect<A, E, Exclude<R, ROut | Stack | Stage>>;
|
|
40
|
+
/**
|
|
41
|
+
* Curried `deploy` for the test factory: bakes in the configured stage and
|
|
42
|
+
* adds the telemetry layer the CLI uses, so `beforeAll(deploy(Stack))` works
|
|
43
|
+
* the same way as `alchemy deploy`.
|
|
44
|
+
*/
|
|
45
|
+
export declare const deploy: <A>(options: MakeOptions, stack: TestEffect<CompiledStack<A>, Stage | AlchemyContext>, callOptions?: {
|
|
46
|
+
stage?: string;
|
|
47
|
+
}) => Effect.Effect<Input.Resolve<A>, AlchemyContext | import("effect/PlatformError").PlatformError | Stage | State.StateStoreError | import("../Output.ts").MissingSourceError | import("../Output.ts").InvalidReferenceError, AlchemyContext | import("effect/Path").Path | import("effect/FileSystem").FileSystem | State.State | import("../index.ts").Cli>;
|
|
48
|
+
export declare const destroy: (options: MakeOptions, stack: TestEffect<CompiledStack, Stage | AlchemyContext>, callOptions?: {
|
|
49
|
+
stage?: string;
|
|
50
|
+
}) => Effect.Effect<{}, AlchemyContext | import("effect/PlatformError").PlatformError | Stage | State.StateStoreError | import("../Output.ts").MissingSourceError | import("../Output.ts").InvalidReferenceError, AlchemyContext | import("effect/Path").Path | import("effect/FileSystem").FileSystem | State.State | import("../index.ts").Cli>;
|
|
51
|
+
/**
|
|
52
|
+
* In-test scratch stack handed to `test.provider(name, (stack) => ...)`.
|
|
53
|
+
*
|
|
54
|
+
* Each scratch stack owns a private in-memory state store that is shared
|
|
55
|
+
* between successive `deploy`/`destroy` calls AND visible to the user's test
|
|
56
|
+
* body (so `yield* State` / `state.get(...)` see the same store the deploys
|
|
57
|
+
* mutated). This makes create / update / replace / delete paths exercisable
|
|
58
|
+
* without polluting `.alchemy/` or other tests in the same file.
|
|
59
|
+
*/
|
|
60
|
+
export interface ScratchStack<ROut = any> {
|
|
61
|
+
readonly name: string;
|
|
62
|
+
/** The shared in-memory state Layer for this scratch. @internal */
|
|
63
|
+
readonly state: Layer.Layer<State.State, never, never>;
|
|
64
|
+
deploy<A, E, R>(effect: Effect.Effect<A, E, R>): Effect.Effect<Input.Resolve<A>, any, Exclude<R, ROut | StackServices>>;
|
|
65
|
+
destroy(): Effect.Effect<void, any, never>;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Build a fresh `ScratchStack` for `test.provider`. Allocates a private
|
|
69
|
+
* in-memory state store so the test is isolated from `.alchemy/` and from
|
|
70
|
+
* other tests in the same file.
|
|
71
|
+
*/
|
|
72
|
+
export declare const scratchStack: <ROut>(options: MakeOptions<ROut>, name: string) => ScratchStack<ROut>;
|
|
73
|
+
//# sourceMappingURL=Core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Core.d.ts","sourceRoot":"","sources":["../../src/Test/Core.ts"],"names":[],"mappings":"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"}
|
package/lib/Test/Core.js
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { ConfigProvider } from "effect/ConfigProvider";
|
|
2
|
+
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Layer from "effect/Layer";
|
|
4
|
+
import * as Logger from "effect/Logger";
|
|
5
|
+
import * as Option from "effect/Option";
|
|
6
|
+
import * as FetchHttpClient from "effect/unstable/http/FetchHttpClient";
|
|
7
|
+
import { AlchemyContextLive } from "../AlchemyContext.js";
|
|
8
|
+
import { apply } from "../Apply.js";
|
|
9
|
+
import { provideFreshArtifactStore } from "../Artifacts.js";
|
|
10
|
+
import { AuthProviders } from "../Auth/AuthProvider.js";
|
|
11
|
+
import { withProfileOverride } from "../Auth/Profile.js";
|
|
12
|
+
import { LoggingCli } from "../Cli/LoggingCli.js";
|
|
13
|
+
import { deploy as _deploy } from "../Deploy.js";
|
|
14
|
+
import { destroy as _destroy } from "../Destroy.js";
|
|
15
|
+
import * as Plan from "../Plan.js";
|
|
16
|
+
import { make as makeStack, Stack, } from "../Stack.js";
|
|
17
|
+
import { Stage } from "../Stage.js";
|
|
18
|
+
import * as State from "../State/index.js";
|
|
19
|
+
import { TelemetryLive } from "../Telemetry/Layer.js";
|
|
20
|
+
import { loadConfigProvider } from "../Util/ConfigProvider.js";
|
|
21
|
+
import { PlatformServices } from "../Util/PlatformServices.js";
|
|
22
|
+
const platformLayer = Layer.mergeAll(PlatformServices, FetchHttpClient.layer);
|
|
23
|
+
const alchemyLayer = Layer.mergeAll(LoggingCli, Logger.layer([Logger.consolePretty()], { mergeWithExisting: true }), AlchemyContextLive);
|
|
24
|
+
/**
|
|
25
|
+
* Build the per-test runtime and return a self-contained Effect.
|
|
26
|
+
*
|
|
27
|
+
* Mirrors {@link "../bin/alchemy.ts"} composition: ConfigProvider via
|
|
28
|
+
* `loadConfigProvider` + `withProfileOverride`, an empty `AuthProviders`
|
|
29
|
+
* registry that the user's `providers` layer populates, the platform layers,
|
|
30
|
+
* and the configured state store. Adapters wrap this into runner-specific
|
|
31
|
+
* thunks (`bun.test` -> `runPromise`, `it.live` -> as-is).
|
|
32
|
+
*/
|
|
33
|
+
export const toEffect = (effect, options) => Effect.gen(function* () {
|
|
34
|
+
const base = yield* loadConfigProvider(Option.none());
|
|
35
|
+
const configProvider = withProfileOverride(base, options.profile);
|
|
36
|
+
return yield* effect.pipe(provideFreshArtifactStore, Effect.provide(Layer.succeed(ConfigProvider, configProvider)));
|
|
37
|
+
}).pipe(Effect.provideService(AuthProviders, {}), Effect.provide(options.state ?? State.localState()), Effect.provide(Layer.provideMerge(alchemyLayer, platformLayer)), Effect.scoped);
|
|
38
|
+
/** Promise wrapper around {@link toEffect} for `bun.test`-style runners. */
|
|
39
|
+
export const run = (effect, options) => Effect.runPromise(toEffect(effect, options));
|
|
40
|
+
/**
|
|
41
|
+
* Wrap an effect so it runs with `options.providers` + a placeholder Stack +
|
|
42
|
+
* Stage in scope. Used by `test.provider` so user code can call provider SDK
|
|
43
|
+
* APIs (e.g. `DynamoDB.describeTable`) directly inside the test body.
|
|
44
|
+
*/
|
|
45
|
+
export const withProviders = (effect, options, stackName) => effect.pipe(Effect.provide(options.providers), Effect.provide(Layer.succeed(Stack, {
|
|
46
|
+
name: stackName,
|
|
47
|
+
stage: options.stage ?? "test",
|
|
48
|
+
resources: {},
|
|
49
|
+
bindings: {},
|
|
50
|
+
})), Effect.provide(Layer.succeed(Stage, options.stage ?? "test")));
|
|
51
|
+
/**
|
|
52
|
+
* Curried `deploy` for the test factory: bakes in the configured stage and
|
|
53
|
+
* adds the telemetry layer the CLI uses, so `beforeAll(deploy(Stack))` works
|
|
54
|
+
* the same way as `alchemy deploy`.
|
|
55
|
+
*/
|
|
56
|
+
export const deploy = (options, stack, callOptions) => _deploy({
|
|
57
|
+
stack: stack,
|
|
58
|
+
stage: callOptions?.stage ?? options.stage ?? "test",
|
|
59
|
+
}).pipe(Effect.provide(TelemetryLive));
|
|
60
|
+
export const destroy = (options, stack, callOptions) => _destroy({
|
|
61
|
+
stack: stack,
|
|
62
|
+
stage: callOptions?.stage ?? options.stage ?? "test",
|
|
63
|
+
}).pipe(Effect.provide(TelemetryLive));
|
|
64
|
+
const sanitizeStackName = (name) => name.replaceAll(/[^a-zA-Z0-9_]/g, "-").replace(/-+/g, "-");
|
|
65
|
+
/**
|
|
66
|
+
* Build a fresh `ScratchStack` for `test.provider`. Allocates a private
|
|
67
|
+
* in-memory state store so the test is isolated from `.alchemy/` and from
|
|
68
|
+
* other tests in the same file.
|
|
69
|
+
*/
|
|
70
|
+
export const scratchStack = (options, name) => {
|
|
71
|
+
const stage = options.stage ?? "test";
|
|
72
|
+
const stackName = sanitizeStackName(name);
|
|
73
|
+
const inMemory = {};
|
|
74
|
+
const stateLayer = Layer.succeed(State.State, State.InMemoryService(inMemory));
|
|
75
|
+
const buildAndApply = (effect) => effect.pipe(makeStack({
|
|
76
|
+
name: stackName,
|
|
77
|
+
providers: options.providers,
|
|
78
|
+
state: stateLayer,
|
|
79
|
+
}), Effect.flatMap((compiled) => Plan.make(compiled).pipe(Effect.flatMap(apply), Effect.provide(compiled.services))), Effect.provide(Layer.succeed(Stage, stage)), provideFreshArtifactStore);
|
|
80
|
+
return {
|
|
81
|
+
name: stackName,
|
|
82
|
+
state: stateLayer,
|
|
83
|
+
deploy: ((effect) => buildAndApply(effect)),
|
|
84
|
+
destroy: () => Plan.make({
|
|
85
|
+
name: stackName,
|
|
86
|
+
stage,
|
|
87
|
+
resources: {},
|
|
88
|
+
bindings: {},
|
|
89
|
+
output: {},
|
|
90
|
+
}).pipe(Effect.flatMap(apply), Effect.asVoid, Effect.provide(stateLayer), Effect.provide(options.providers), Effect.provide(Layer.succeed(Stack, {
|
|
91
|
+
name: stackName,
|
|
92
|
+
stage,
|
|
93
|
+
resources: {},
|
|
94
|
+
bindings: {},
|
|
95
|
+
})), Effect.provide(Layer.succeed(Stage, stage)), provideFreshArtifactStore),
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
//# sourceMappingURL=Core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Core.js","sourceRoot":"","sources":["../../src/Test/Core.ts"],"names":[],"mappings":"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"}
|
package/lib/Test/Vitest.d.ts
CHANGED
|
@@ -1,77 +1,58 @@
|
|
|
1
|
-
import type * as aws from "@distilled.cloud/aws";
|
|
2
1
|
import * as Effect from "effect/Effect";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import * as
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
import { AlchemyContext } from "../AlchemyContext.ts";
|
|
12
|
-
import { Artifacts } from "../Artifacts.ts";
|
|
13
|
-
import { AuthProviders } from "../Auth/AuthProvider.ts";
|
|
14
|
-
import * as AWSEnvironment from "../AWS/Environment.ts";
|
|
15
|
-
import type { Command } from "../Build/Command.ts";
|
|
16
|
-
import type { Cli } from "../Cli/index.ts";
|
|
17
|
-
import { ExecutionContext } from "../ExecutionContext.ts";
|
|
18
|
-
import type { Input } from "../Input.ts";
|
|
19
|
-
import type { Provider } from "../Provider.ts";
|
|
20
|
-
import * as Server from "../Server/index.ts";
|
|
21
|
-
import * as Serverless from "../Serverless/index.ts";
|
|
22
|
-
import * as Stack from "../Stack.ts";
|
|
23
|
-
import * as Stage from "../Stage.ts";
|
|
24
|
-
import * as State from "../State/index.ts";
|
|
25
|
-
export declare const expectEmptyObject: () => any;
|
|
26
|
-
export declare const expectPropExpr: (identifier: string, src: any) => any;
|
|
27
|
-
type Provided = Scope.Scope | Stack.Stack | State.State | Stage.Stage | AlchemyContext | HttpClient.HttpClient | FileSystem.FileSystem | Path.Path | aws.Credentials.Credentials | aws.Region.Region | Cli | ExecutionContext | Server.ProcessContext | Server.ServerHost | Serverless.FunctionContext | AWSEnvironment.AWSEnvironment | Artifacts | Provider<Command> | AWS.Providers | Cloudflare.Providers | ChildProcessSpawner | AuthProviders;
|
|
28
|
-
export declare function test(name: string, options: {
|
|
2
|
+
import type { AlchemyContext } from "../AlchemyContext.ts";
|
|
3
|
+
import type { CompiledStack } from "../Stack.ts";
|
|
4
|
+
import type { Stage } from "../Stage.ts";
|
|
5
|
+
import * as Core from "./Core.ts";
|
|
6
|
+
export type MakeOptions<ROut = any> = Core.MakeOptions<ROut>;
|
|
7
|
+
export type ScratchStack = Core.ScratchStack;
|
|
8
|
+
export type TestEffect<A, R = never> = Core.TestEffect<A, R>;
|
|
9
|
+
type TestOptions = number | {
|
|
29
10
|
timeout?: number;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
providers?: boolean;
|
|
39
|
-
}, testCase: Effect.Effect<void, any, Provided>): void;
|
|
40
|
-
function skip(name: string, testCase: Effect.Effect<void, any, Provided>): void;
|
|
41
|
-
function skipIf(condition: boolean): (name: string, ...args: [{
|
|
42
|
-
timeout?: number;
|
|
43
|
-
state?: Layer.Layer<State.State, never, Stack.Stack>;
|
|
44
|
-
providers?: boolean;
|
|
45
|
-
}, Effect.Effect<void, any, Provided>] | [Effect.Effect<void, any, Provided>]) => void;
|
|
46
|
-
const state: (resources?: Record<string, State.ResourceState>) => Layer.Layer<State.State, never, Stack.Stack>;
|
|
47
|
-
const defaultState: (resources?: Record<string, State.ResourceState>, other?: {
|
|
48
|
-
[stack: string]: {
|
|
49
|
-
[stage: string]: {
|
|
50
|
-
[resourceId: string]: State.ResourceState;
|
|
51
|
-
};
|
|
52
|
-
};
|
|
53
|
-
}) => Layer.Layer<State.State, never, never>;
|
|
54
|
-
const deploy: <A, Err = never, Req = any>(effect: Effect.Effect<A, Err, Req>) => Effect.Effect<Input.Resolve<A>, Err, Req | Stack.Stack>;
|
|
11
|
+
};
|
|
12
|
+
interface TestFn {
|
|
13
|
+
(name: string, eff: TestEffect<void>, options?: TestOptions): void;
|
|
14
|
+
skip: (name: string, eff: TestEffect<void>, options?: TestOptions) => void;
|
|
15
|
+
skipIf: (condition: boolean) => (name: string, eff: TestEffect<void>, options?: TestOptions) => void;
|
|
16
|
+
only: (name: string, eff: TestEffect<void>, options?: TestOptions) => void;
|
|
17
|
+
todo: (name: string, eff: TestEffect<void>, options?: TestOptions) => void;
|
|
18
|
+
provider: ProviderFn;
|
|
55
19
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
20
|
+
interface ProviderFn {
|
|
21
|
+
(name: string, fn: (stack: ScratchStack) => Effect.Effect<void, any, any>, options?: TestOptions): void;
|
|
22
|
+
skip: (name: string, fn: (stack: ScratchStack) => Effect.Effect<void, any, any>, options?: TestOptions) => void;
|
|
23
|
+
skipIf: (condition: boolean) => (name: string, fn: (stack: ScratchStack) => Effect.Effect<void, any, any>, options?: TestOptions) => void;
|
|
24
|
+
}
|
|
25
|
+
interface BeforeAllFn {
|
|
26
|
+
<A>(eff: TestEffect<A>, options?: TestOptions): Effect.Effect<A>;
|
|
27
|
+
}
|
|
28
|
+
interface BeforeEachFn {
|
|
29
|
+
(eff: TestEffect<void>, options?: TestOptions): void;
|
|
30
|
+
}
|
|
31
|
+
interface AfterAllFn {
|
|
32
|
+
(eff: TestEffect<any>, options?: TestOptions): void;
|
|
33
|
+
skipIf: (predicate: boolean) => (eff: TestEffect<any>, options?: TestOptions) => void;
|
|
34
|
+
}
|
|
35
|
+
interface AfterEachFn {
|
|
36
|
+
(eff: TestEffect<void>, options?: TestOptions): void;
|
|
37
|
+
}
|
|
38
|
+
export interface TestApi {
|
|
39
|
+
test: TestFn;
|
|
40
|
+
beforeAll: BeforeAllFn;
|
|
41
|
+
beforeEach: BeforeEachFn;
|
|
42
|
+
afterAll: AfterAllFn;
|
|
43
|
+
afterEach: AfterEachFn;
|
|
44
|
+
deploy: <A>(stack: TestEffect<CompiledStack<A>, Stage | AlchemyContext>, options?: {
|
|
45
|
+
stage?: string;
|
|
46
|
+
}) => ReturnType<typeof Core.deploy<A>>;
|
|
47
|
+
destroy: (stack: TestEffect<CompiledStack, Stage | AlchemyContext>, options?: {
|
|
48
|
+
stage?: string;
|
|
49
|
+
}) => ReturnType<typeof Core.destroy>;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Build the per-file test API. See {@link "./Bun.ts"} for the same shape
|
|
53
|
+
* over `bun:test`. Vitest variant uses `@effect/vitest`'s `it.live` so
|
|
54
|
+
* Effect-aware tests stay first-class.
|
|
55
|
+
*/
|
|
56
|
+
export declare const make: <ROut = any>(options: MakeOptions<ROut>) => TestApi;
|
|
76
57
|
export {};
|
|
77
58
|
//# sourceMappingURL=Vitest.d.ts.map
|
package/lib/Test/Vitest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Vitest.d.ts","sourceRoot":"","sources":["../../src/Test/Vitest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Vitest.d.ts","sourceRoot":"","sources":["../../src/Test/Vitest.ts"],"names":[],"mappings":"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"}
|