alchemy 0.56.0 → 0.57.1
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.js +14223 -14180
- package/bin/commands/create.ts +15 -17
- package/bin/commands/deploy.ts +3 -3
- package/bin/commands/destroy.ts +3 -3
- package/bin/commands/dev.ts +3 -4
- package/bin/commands/init.ts +9 -9
- package/bin/commands/login.ts +6 -6
- package/bin/commands/run.ts +3 -4
- package/bin/constants.ts +1 -1
- package/bin/services/execute-alchemy.ts +4 -6
- package/bin/trpc.ts +49 -0
- package/lib/apply.d.ts.map +1 -1
- package/lib/apply.js +3 -4
- package/lib/apply.js.map +1 -1
- package/lib/cloudflare/assets.js +5 -4
- package/lib/cloudflare/assets.js.map +1 -1
- package/lib/cloudflare/{astro.d.ts → astro/astro.d.ts} +6 -5
- package/lib/cloudflare/astro/astro.d.ts.map +1 -0
- package/lib/cloudflare/astro/astro.js +91 -0
- package/lib/cloudflare/astro/astro.js.map +1 -0
- package/lib/cloudflare/astro/plugin.d.ts +4 -0
- package/lib/cloudflare/astro/plugin.d.ts.map +1 -0
- package/lib/cloudflare/astro/plugin.js +10 -0
- package/lib/cloudflare/astro/plugin.js.map +1 -0
- package/lib/cloudflare/cloudflare-env-proxy.d.ts +4 -0
- package/lib/cloudflare/cloudflare-env-proxy.d.ts.map +1 -0
- package/lib/cloudflare/cloudflare-env-proxy.js +34 -0
- package/lib/cloudflare/cloudflare-env-proxy.js.map +1 -0
- package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
- package/lib/cloudflare/compatibility-date.gen.js +1 -1
- package/lib/cloudflare/d1-local-migrations.js +1 -1
- package/lib/cloudflare/d1-local-migrations.js.map +1 -1
- package/lib/cloudflare/index.d.ts +8 -8
- package/lib/cloudflare/index.d.ts.map +1 -1
- package/lib/cloudflare/index.js +8 -8
- package/lib/cloudflare/index.js.map +1 -1
- package/lib/cloudflare/miniflare/miniflare-controller.d.ts.map +1 -1
- package/lib/cloudflare/miniflare/miniflare-controller.js +2 -1
- package/lib/cloudflare/miniflare/miniflare-controller.js.map +1 -1
- package/lib/cloudflare/miniflare/paths.d.ts +5 -0
- package/lib/cloudflare/miniflare/paths.d.ts.map +1 -0
- package/lib/cloudflare/miniflare/paths.js +35 -0
- package/lib/cloudflare/miniflare/paths.js.map +1 -0
- package/lib/cloudflare/{nuxt.d.ts → nuxt/nuxt.d.ts} +4 -4
- package/lib/cloudflare/nuxt/nuxt.d.ts.map +1 -0
- package/lib/cloudflare/{nuxt.js → nuxt/nuxt.js} +8 -13
- package/lib/cloudflare/nuxt/nuxt.js.map +1 -0
- package/lib/cloudflare/nuxt/plugin.d.ts +4 -0
- package/lib/cloudflare/nuxt/plugin.d.ts.map +1 -0
- package/lib/cloudflare/nuxt/plugin.js +14 -0
- package/lib/cloudflare/nuxt/plugin.js.map +1 -0
- package/lib/cloudflare/oauth.js +2 -2
- package/lib/cloudflare/oauth.js.map +1 -1
- package/lib/cloudflare/orange.d.ts +3 -3
- package/lib/cloudflare/orange.d.ts.map +1 -1
- package/lib/cloudflare/orange.js +11 -21
- package/lib/cloudflare/orange.js.map +1 -1
- package/lib/cloudflare/react-router/plugin.d.ts +4 -0
- package/lib/cloudflare/react-router/plugin.d.ts.map +1 -0
- package/lib/cloudflare/react-router/plugin.js +11 -0
- package/lib/cloudflare/react-router/plugin.js.map +1 -0
- package/lib/cloudflare/react-router/react-router.d.ts +17 -0
- package/lib/cloudflare/react-router/react-router.d.ts.map +1 -0
- package/lib/cloudflare/react-router/react-router.js +21 -0
- package/lib/cloudflare/react-router/react-router.js.map +1 -0
- package/lib/cloudflare/redwood/plugin.d.ts +4 -0
- package/lib/cloudflare/redwood/plugin.d.ts.map +1 -0
- package/lib/cloudflare/redwood/plugin.js +19 -0
- package/lib/cloudflare/redwood/plugin.js.map +1 -0
- package/lib/cloudflare/{redwood.d.ts → redwood/redwood.d.ts} +5 -5
- package/lib/cloudflare/redwood/redwood.d.ts.map +1 -0
- package/lib/cloudflare/{redwood.js → redwood/redwood.js} +12 -13
- package/lib/cloudflare/redwood/redwood.js.map +1 -0
- package/lib/cloudflare/sveltekit/plugin.d.ts +4 -0
- package/lib/cloudflare/sveltekit/plugin.d.ts.map +1 -0
- package/lib/cloudflare/sveltekit/plugin.js +11 -0
- package/lib/cloudflare/sveltekit/plugin.js.map +1 -0
- package/lib/cloudflare/{sveltekit.d.ts → sveltekit/sveltekit.d.ts} +5 -5
- package/lib/cloudflare/sveltekit/sveltekit.d.ts.map +1 -0
- package/lib/cloudflare/{sveltekit.js → sveltekit/sveltekit.js} +4 -4
- package/lib/cloudflare/sveltekit/sveltekit.js.map +1 -0
- package/lib/cloudflare/{local-dev-cloudflare-shim.d.ts → tanstack-start/plugin.d.ts} +3 -2
- package/lib/cloudflare/tanstack-start/plugin.d.ts.map +1 -0
- package/lib/cloudflare/{local-dev-cloudflare-shim.js → tanstack-start/plugin.js} +6 -9
- package/lib/cloudflare/tanstack-start/plugin.js.map +1 -0
- package/lib/cloudflare/{tanstack-start.d.ts → tanstack-start/tanstack-start.d.ts} +5 -5
- package/lib/cloudflare/tanstack-start/tanstack-start.d.ts.map +1 -0
- package/lib/cloudflare/tanstack-start/tanstack-start.js +11 -0
- package/lib/cloudflare/tanstack-start/tanstack-start.js.map +1 -0
- package/lib/cloudflare/vite/plugin.d.ts +4 -0
- package/lib/cloudflare/vite/plugin.d.ts.map +1 -0
- package/lib/cloudflare/vite/plugin.js +23 -0
- package/lib/cloudflare/vite/plugin.js.map +1 -0
- package/lib/cloudflare/{vite.d.ts → vite/vite.d.ts} +4 -4
- package/lib/cloudflare/vite/vite.d.ts.map +1 -0
- package/lib/cloudflare/vite/vite.js +19 -0
- package/lib/cloudflare/vite/vite.js.map +1 -0
- package/lib/cloudflare/website.d.ts +92 -70
- package/lib/cloudflare/website.d.ts.map +1 -1
- package/lib/cloudflare/website.js +225 -94
- package/lib/cloudflare/website.js.map +1 -1
- package/lib/cloudflare/worker-bundle.d.ts +1 -1
- package/lib/cloudflare/worker-bundle.d.ts.map +1 -1
- package/lib/cloudflare/worker-bundle.js +23 -13
- package/lib/cloudflare/worker-bundle.js.map +1 -1
- package/lib/cloudflare/worker-stub.d.ts.map +1 -1
- package/lib/cloudflare/worker-stub.js +3 -6
- package/lib/cloudflare/worker-stub.js.map +1 -1
- package/lib/cloudflare/worker.d.ts +2 -7
- package/lib/cloudflare/worker.d.ts.map +1 -1
- package/lib/cloudflare/worker.js +5 -124
- package/lib/cloudflare/worker.js.map +1 -1
- package/lib/cloudflare/wrangler.json.d.ts +6 -0
- package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
- package/lib/cloudflare/wrangler.json.js +23 -6
- package/lib/cloudflare/wrangler.json.js.map +1 -1
- package/lib/env.d.ts +2 -2
- package/lib/env.d.ts.map +1 -1
- package/lib/env.js +5 -6
- package/lib/env.js.map +1 -1
- package/lib/random/index.d.ts +2 -0
- package/lib/random/index.d.ts.map +1 -0
- package/lib/random/index.js +2 -0
- package/lib/random/index.js.map +1 -0
- package/lib/random/random-string.d.ts +87 -0
- package/lib/random/random-string.d.ts.map +1 -0
- package/lib/random/random-string.js +72 -0
- package/lib/random/random-string.js.map +1 -0
- package/lib/runtime/bind.d.ts +1 -1
- package/lib/runtime/bind.d.ts.map +1 -1
- package/lib/runtime/bind.js.map +1 -1
- package/lib/scope.d.ts +0 -1
- package/lib/scope.d.ts.map +1 -1
- package/lib/scope.js +1 -2
- package/lib/scope.js.map +1 -1
- package/lib/secret.d.ts +2 -2
- package/lib/secret.d.ts.map +1 -1
- package/lib/secret.js +2 -2
- package/lib/secret.js.map +1 -1
- package/lib/state/cloudflare-state-store.js +1 -1
- package/lib/state/cloudflare-state-store.js.map +1 -1
- package/lib/state/dofs-state-store/index.js +1 -1
- package/lib/state/dofs-state-store/index.js.map +1 -1
- package/lib/util/detect-package-manager.d.ts +1 -0
- package/lib/util/detect-package-manager.d.ts.map +1 -1
- package/lib/util/detect-package-manager.js +10 -0
- package/lib/util/detect-package-manager.js.map +1 -1
- package/lib/util/telemetry/client.d.ts +1 -1
- package/lib/util/telemetry/client.d.ts.map +1 -1
- package/lib/util/telemetry/client.js +22 -1
- package/lib/util/telemetry/client.js.map +1 -1
- package/lib/util/telemetry/constants.d.ts.map +1 -1
- package/lib/util/telemetry/constants.js +2 -3
- package/lib/util/telemetry/constants.js.map +1 -1
- package/lib/util/telemetry/context.d.ts +1 -1
- package/lib/util/telemetry/context.d.ts.map +1 -1
- package/lib/util/telemetry/types.d.ts +7 -3
- package/lib/util/telemetry/types.d.ts.map +1 -1
- package/lib/vercel/api.d.ts.map +1 -1
- package/lib/vercel/api.js +1 -1
- package/lib/vercel/api.js.map +1 -1
- package/package.json +44 -6
- package/src/apply.ts +3 -7
- package/src/cloudflare/assets.ts +7 -4
- package/src/cloudflare/{astro.ts → astro/astro.ts} +46 -29
- package/src/cloudflare/astro/plugin.ts +11 -0
- package/src/cloudflare/cloudflare-env-proxy.ts +50 -0
- package/src/cloudflare/compatibility-date.gen.ts +1 -1
- package/src/cloudflare/d1-local-migrations.ts +1 -1
- package/src/cloudflare/index.ts +8 -8
- package/src/cloudflare/miniflare/miniflare-controller.ts +2 -1
- package/src/cloudflare/miniflare/paths.ts +52 -0
- package/src/cloudflare/{nuxt.ts → nuxt/nuxt.ts} +11 -16
- package/src/cloudflare/nuxt/plugin.ts +18 -0
- package/src/cloudflare/oauth.ts +2 -2
- package/src/cloudflare/orange.ts +13 -23
- package/src/cloudflare/react-router/plugin.ts +13 -0
- package/src/cloudflare/react-router/react-router.ts +41 -0
- package/src/cloudflare/redwood/plugin.ts +20 -0
- package/src/cloudflare/{redwood.ts → redwood/redwood.ts} +16 -19
- package/src/cloudflare/sveltekit/plugin.ts +12 -0
- package/src/cloudflare/{sveltekit.ts → sveltekit/sveltekit.ts} +9 -8
- package/src/cloudflare/{local-dev-cloudflare-shim.ts → tanstack-start/plugin.ts} +8 -9
- package/src/cloudflare/tanstack-start/tanstack-start.ts +24 -0
- package/src/cloudflare/vite/plugin.ts +30 -0
- package/src/cloudflare/vite/vite.ts +34 -0
- package/src/cloudflare/website.ts +379 -204
- package/src/cloudflare/worker-bundle.ts +27 -13
- package/src/cloudflare/worker-stub.ts +11 -14
- package/src/cloudflare/worker.ts +8 -155
- package/src/cloudflare/wrangler.json.ts +32 -4
- package/src/env.ts +8 -9
- package/src/random/index.ts +1 -0
- package/src/random/random-string.ts +126 -0
- package/src/runtime/bind.ts +2 -2
- package/src/scope.ts +1 -3
- package/src/secret.ts +4 -8
- package/src/state/cloudflare-state-store.ts +2 -2
- package/src/state/dofs-state-store/index.ts +1 -1
- package/src/util/detect-package-manager.ts +11 -0
- package/src/util/telemetry/client.ts +25 -2
- package/src/util/telemetry/constants.ts +2 -4
- package/src/util/telemetry/context.ts +1 -1
- package/src/util/telemetry/types.ts +8 -2
- package/src/vercel/api.ts +2 -4
- package/templates/astro/alchemy.run.ts +1 -3
- package/templates/astro/astro.config.mjs +2 -2
- package/templates/astro/package.json +1 -1
- package/templates/nuxt/alchemy.run.ts +1 -3
- package/templates/nuxt/nuxt.config.ts +4 -5
- package/templates/nuxt/package.json +1 -2
- package/templates/react-router/alchemy.run.ts +1 -4
- package/templates/react-router/vite.config.ts +2 -2
- package/templates/rwsdk/alchemy.run.ts +0 -1
- package/templates/rwsdk/package.json +1 -3
- package/templates/rwsdk/vite.config.mts +2 -2
- package/templates/sveltekit/alchemy.run.ts +1 -3
- package/templates/sveltekit/package.json +1 -1
- package/templates/sveltekit/svelte.config.js +2 -2
- package/templates/tanstack-start/package.json +1 -1
- package/templates/tanstack-start/vite.config.ts +2 -2
- package/templates/typescript/package.json +1 -1
- package/templates/vite/alchemy.run.ts +1 -1
- package/templates/vite/package.json +1 -1
- package/templates/vite/vite.config.ts +4 -5
- package/workers/cloudflare-state-store.js +12 -14
- package/lib/cloudflare/astro.d.ts.map +0 -1
- package/lib/cloudflare/astro.js +0 -69
- package/lib/cloudflare/astro.js.map +0 -1
- package/lib/cloudflare/local-dev-cloudflare-shim.d.ts.map +0 -1
- package/lib/cloudflare/local-dev-cloudflare-shim.js.map +0 -1
- package/lib/cloudflare/nuxt.d.ts.map +0 -1
- package/lib/cloudflare/nuxt.js.map +0 -1
- package/lib/cloudflare/react-router.d.ts +0 -17
- package/lib/cloudflare/react-router.d.ts.map +0 -1
- package/lib/cloudflare/react-router.js +0 -35
- package/lib/cloudflare/react-router.js.map +0 -1
- package/lib/cloudflare/redwood.d.ts.map +0 -1
- package/lib/cloudflare/redwood.js.map +0 -1
- package/lib/cloudflare/sveltekit.d.ts.map +0 -1
- package/lib/cloudflare/sveltekit.js.map +0 -1
- package/lib/cloudflare/tanstack-start.d.ts.map +0 -1
- package/lib/cloudflare/tanstack-start.js +0 -21
- package/lib/cloudflare/tanstack-start.js.map +0 -1
- package/lib/cloudflare/vite.d.ts.map +0 -1
- package/lib/cloudflare/vite.js +0 -20
- package/lib/cloudflare/vite.js.map +0 -1
- package/src/cloudflare/react-router.ts +0 -56
- package/src/cloudflare/tanstack-start.ts +0 -35
- package/src/cloudflare/vite.ts +0 -35
- package/templates/react-router/wrangler.jsonc +0 -6
- package/templates/rwsdk/wrangler.jsonc +0 -31
- package/templates/sveltekit/wrangler.jsonc +0 -7
- package/templates/tanstack-start/wrangler.jsonc +0 -7
- package/templates/typescript/index.ts +0 -1
- package/templates/vite/wrangler.jsonc +0 -6
package/bin/commands/create.ts
CHANGED
|
@@ -21,7 +21,7 @@ import { addGitHubWorkflowToAlchemy } from "../services/github-workflow.ts";
|
|
|
21
21
|
import { installDependencies } from "../services/package-manager.ts";
|
|
22
22
|
import { copyTemplate } from "../services/template-manager.ts";
|
|
23
23
|
import { ensureVibeRulesPostinstall } from "../services/vibe-rules.ts";
|
|
24
|
-
import {
|
|
24
|
+
import { ExitSignal, loggedProcedure } from "../trpc.ts";
|
|
25
25
|
import type {
|
|
26
26
|
CreateInput,
|
|
27
27
|
EditorType,
|
|
@@ -38,9 +38,9 @@ import {
|
|
|
38
38
|
|
|
39
39
|
const isTest = process.env.NODE_ENV === "test";
|
|
40
40
|
|
|
41
|
-
export const create =
|
|
41
|
+
export const create = loggedProcedure
|
|
42
42
|
.meta({
|
|
43
|
-
description: "
|
|
43
|
+
description: "create a new alchemy project",
|
|
44
44
|
negateBooleans: true,
|
|
45
45
|
})
|
|
46
46
|
.input(
|
|
@@ -48,26 +48,24 @@ export const create = t.procedure
|
|
|
48
48
|
ProjectNameSchema.optional(),
|
|
49
49
|
z.object({
|
|
50
50
|
template: TemplateSchema.optional(),
|
|
51
|
-
yes: z.boolean().optional().describe("
|
|
51
|
+
yes: z.boolean().optional().describe("skip prompts and use defaults"),
|
|
52
52
|
overwrite: z
|
|
53
53
|
.boolean()
|
|
54
54
|
.optional()
|
|
55
|
-
.describe("
|
|
55
|
+
.describe("overwrite existing directory"),
|
|
56
56
|
install: z
|
|
57
57
|
.boolean()
|
|
58
58
|
.optional()
|
|
59
|
-
.describe("
|
|
60
|
-
pm: PackageManagerSchema.optional().describe(
|
|
61
|
-
"Package manager to use (bun, npm, pnpm, yarn)",
|
|
62
|
-
),
|
|
59
|
+
.describe("install dependencies after scaffolding"),
|
|
60
|
+
pm: PackageManagerSchema.optional().describe("package manager to use"),
|
|
63
61
|
vibeRules: EditorSchema.optional().describe(
|
|
64
|
-
"
|
|
62
|
+
"setup vibe-rules for the specified editor",
|
|
65
63
|
),
|
|
66
64
|
githubActions: z
|
|
67
65
|
.boolean()
|
|
68
66
|
.optional()
|
|
69
|
-
.describe("
|
|
70
|
-
git: z.boolean().optional().describe("
|
|
67
|
+
.describe("setup github actions for PR previews"),
|
|
68
|
+
git: z.boolean().optional().describe("initialise a git repository"),
|
|
71
69
|
}),
|
|
72
70
|
]),
|
|
73
71
|
)
|
|
@@ -150,7 +148,7 @@ async function getProjectName(options: CreateInput): Promise<string> {
|
|
|
150
148
|
|
|
151
149
|
if (isCancel(nameResult)) {
|
|
152
150
|
cancel(pc.red("Operation cancelled."));
|
|
153
|
-
|
|
151
|
+
throw new ExitSignal(0);
|
|
154
152
|
}
|
|
155
153
|
|
|
156
154
|
return nameResult;
|
|
@@ -177,7 +175,7 @@ async function getSelectedTemplate(
|
|
|
177
175
|
|
|
178
176
|
if (isCancel(templateResult)) {
|
|
179
177
|
cancel(pc.red("Operation cancelled."));
|
|
180
|
-
|
|
178
|
+
throw new ExitSignal(0);
|
|
181
179
|
}
|
|
182
180
|
|
|
183
181
|
return templateResult;
|
|
@@ -202,7 +200,7 @@ async function getInstallPreference(
|
|
|
202
200
|
|
|
203
201
|
if (isCancel(installResult)) {
|
|
204
202
|
cancel(pc.red("Operation cancelled."));
|
|
205
|
-
|
|
203
|
+
throw new ExitSignal(0);
|
|
206
204
|
}
|
|
207
205
|
|
|
208
206
|
return installResult;
|
|
@@ -219,7 +217,7 @@ async function handleDirectoryOverwrite(
|
|
|
219
217
|
|
|
220
218
|
if (!shouldOverwrite) {
|
|
221
219
|
cancel(pc.red("Operation cancelled."));
|
|
222
|
-
|
|
220
|
+
throw new ExitSignal(0);
|
|
223
221
|
}
|
|
224
222
|
|
|
225
223
|
await removeExistingDirectory(context);
|
|
@@ -240,7 +238,7 @@ async function getShouldOverwrite(context: ProjectContext): Promise<boolean> {
|
|
|
240
238
|
|
|
241
239
|
if (isCancel(overwriteResult)) {
|
|
242
240
|
cancel(pc.red("Operation cancelled."));
|
|
243
|
-
|
|
241
|
+
throw new ExitSignal(0);
|
|
244
242
|
}
|
|
245
243
|
|
|
246
244
|
return overwriteResult;
|
package/bin/commands/deploy.ts
CHANGED
|
@@ -6,11 +6,11 @@ import {
|
|
|
6
6
|
force,
|
|
7
7
|
watch,
|
|
8
8
|
} from "../services/execute-alchemy.ts";
|
|
9
|
-
import {
|
|
9
|
+
import { loggedProcedure } from "../trpc.ts";
|
|
10
10
|
|
|
11
|
-
export const deploy =
|
|
11
|
+
export const deploy = loggedProcedure
|
|
12
12
|
.meta({
|
|
13
|
-
description: "
|
|
13
|
+
description: "deploy an alchemy project",
|
|
14
14
|
})
|
|
15
15
|
.input(
|
|
16
16
|
z.tuple([
|
package/bin/commands/destroy.ts
CHANGED
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
execAlchemy,
|
|
5
5
|
execArgs,
|
|
6
6
|
} from "../services/execute-alchemy.ts";
|
|
7
|
-
import {
|
|
7
|
+
import { loggedProcedure } from "../trpc.ts";
|
|
8
8
|
|
|
9
|
-
export const destroy =
|
|
9
|
+
export const destroy = loggedProcedure
|
|
10
10
|
.meta({
|
|
11
|
-
description: "
|
|
11
|
+
description: "deploy an alchemy project",
|
|
12
12
|
})
|
|
13
13
|
.input(z.tuple([entrypoint, z.object(execArgs)]))
|
|
14
14
|
.mutation(async ({ input: [main, options] }) =>
|
package/bin/commands/dev.ts
CHANGED
|
@@ -5,12 +5,11 @@ import {
|
|
|
5
5
|
execArgs,
|
|
6
6
|
force,
|
|
7
7
|
} from "../services/execute-alchemy.ts";
|
|
8
|
-
import {
|
|
8
|
+
import { loggedProcedure } from "../trpc.ts";
|
|
9
9
|
|
|
10
|
-
export const dev =
|
|
10
|
+
export const dev = loggedProcedure
|
|
11
11
|
.meta({
|
|
12
|
-
description:
|
|
13
|
-
"Run an Alchemy program in dev-mode (local simulation & hot reloading)",
|
|
12
|
+
description: "run alchemy in dev mode",
|
|
14
13
|
})
|
|
15
14
|
.input(
|
|
16
15
|
z.tuple([
|
package/bin/commands/init.ts
CHANGED
|
@@ -18,24 +18,24 @@ import { detectPackageManager } from "../../src/util/detect-package-manager.ts";
|
|
|
18
18
|
import type { DependencyVersionMap } from "../constants.ts";
|
|
19
19
|
import { throwWithContext } from "../errors.ts";
|
|
20
20
|
import { addPackageDependencies } from "../services/dependencies.ts";
|
|
21
|
-
import {
|
|
21
|
+
import { loggedProcedure, ExitSignal } from "../trpc.ts";
|
|
22
22
|
import {
|
|
23
23
|
TemplateSchema,
|
|
24
24
|
type InitContext,
|
|
25
25
|
type TemplateType,
|
|
26
26
|
} from "../types.ts";
|
|
27
27
|
|
|
28
|
-
export const init =
|
|
28
|
+
export const init = loggedProcedure
|
|
29
29
|
.meta({
|
|
30
|
-
description: "
|
|
30
|
+
description: "initialize alchemy in an existing project",
|
|
31
31
|
})
|
|
32
32
|
.input(
|
|
33
33
|
z.tuple([
|
|
34
34
|
z.object({
|
|
35
35
|
framework: TemplateSchema.optional().describe(
|
|
36
|
-
"
|
|
36
|
+
"force a specific framework instead of auto-detection",
|
|
37
37
|
),
|
|
38
|
-
yes: z.boolean().optional().describe("
|
|
38
|
+
yes: z.boolean().optional().describe("skip prompts and use defaults"),
|
|
39
39
|
}),
|
|
40
40
|
]),
|
|
41
41
|
)
|
|
@@ -49,7 +49,7 @@ export const init = t.procedure
|
|
|
49
49
|
log.warn(
|
|
50
50
|
"No package.json found. Please run in a project with package.json.",
|
|
51
51
|
);
|
|
52
|
-
|
|
52
|
+
throw new ExitSignal(1);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
await checkExistingAlchemyFiles(context);
|
|
@@ -63,7 +63,7 @@ export const init = t.procedure
|
|
|
63
63
|
displaySuccessMessage(context);
|
|
64
64
|
} catch (_error) {
|
|
65
65
|
console.error("Failed to initialize Alchemy:", _error);
|
|
66
|
-
|
|
66
|
+
throw new ExitSignal(1);
|
|
67
67
|
}
|
|
68
68
|
});
|
|
69
69
|
|
|
@@ -184,7 +184,7 @@ async function detectFramework(
|
|
|
184
184
|
|
|
185
185
|
if (isCancel(frameworkResult)) {
|
|
186
186
|
cancel(pc.red("Operation cancelled."));
|
|
187
|
-
|
|
187
|
+
throw new ExitSignal(0);
|
|
188
188
|
}
|
|
189
189
|
|
|
190
190
|
return frameworkResult as TemplateType;
|
|
@@ -227,7 +227,7 @@ async function checkExistingAlchemyFiles(context: InitContext): Promise<void> {
|
|
|
227
227
|
|
|
228
228
|
if (isCancel(overwriteResult) || !overwriteResult) {
|
|
229
229
|
cancel(pc.red("Operation cancelled."));
|
|
230
|
-
|
|
230
|
+
throw new ExitSignal(0);
|
|
231
231
|
}
|
|
232
232
|
}
|
|
233
233
|
}
|
package/bin/commands/login.ts
CHANGED
|
@@ -3,11 +3,11 @@ import pc from "picocolors";
|
|
|
3
3
|
import { zod as z } from "trpc-cli";
|
|
4
4
|
import { DEFAULT_SCOPES, wranglerLogin } from "../../src/cloudflare/oauth.ts";
|
|
5
5
|
import { throwWithContext } from "../errors.ts";
|
|
6
|
-
import {
|
|
6
|
+
import { loggedProcedure, ExitSignal } from "../trpc.ts";
|
|
7
7
|
|
|
8
|
-
export const login =
|
|
8
|
+
export const login = loggedProcedure
|
|
9
9
|
.meta({
|
|
10
|
-
description: "
|
|
10
|
+
description: "login to Cloudflare",
|
|
11
11
|
})
|
|
12
12
|
.input(
|
|
13
13
|
z.tuple([
|
|
@@ -16,13 +16,13 @@ export const login = t.procedure
|
|
|
16
16
|
.array(z.string())
|
|
17
17
|
.optional()
|
|
18
18
|
.default([])
|
|
19
|
-
.describe("
|
|
19
|
+
.describe("cloudflare OAuth scopes to authorize"),
|
|
20
20
|
defaultScopes: z
|
|
21
21
|
.boolean()
|
|
22
22
|
.optional()
|
|
23
23
|
.default(true)
|
|
24
24
|
.describe(
|
|
25
|
-
"
|
|
25
|
+
"whether to include the default Wrangler scopes when authenticating",
|
|
26
26
|
),
|
|
27
27
|
}),
|
|
28
28
|
]),
|
|
@@ -58,6 +58,6 @@ export const login = t.procedure
|
|
|
58
58
|
} else {
|
|
59
59
|
log.error(pc.red(String(error)));
|
|
60
60
|
}
|
|
61
|
-
|
|
61
|
+
throw new ExitSignal(1);
|
|
62
62
|
}
|
|
63
63
|
});
|
package/bin/commands/run.ts
CHANGED
|
@@ -5,12 +5,11 @@ import {
|
|
|
5
5
|
execArgs,
|
|
6
6
|
watch,
|
|
7
7
|
} from "../services/execute-alchemy.ts";
|
|
8
|
-
import {
|
|
8
|
+
import { loggedProcedure } from "../trpc.ts";
|
|
9
9
|
|
|
10
|
-
export const run =
|
|
10
|
+
export const run = loggedProcedure
|
|
11
11
|
.meta({
|
|
12
|
-
description:
|
|
13
|
-
"Run an Alchemy program with read-only access to your infrastructure (no changes will be applied)",
|
|
12
|
+
description: "run alchemy in read-only mode",
|
|
14
13
|
})
|
|
15
14
|
.input(
|
|
16
15
|
z.tuple([
|
package/bin/constants.ts
CHANGED
|
@@ -6,13 +6,12 @@ import z from "zod";
|
|
|
6
6
|
import { detectRuntime } from "../../src/util/detect-node-runtime.ts";
|
|
7
7
|
import { detectPackageManager } from "../../src/util/detect-package-manager.ts";
|
|
8
8
|
import { exists } from "../../src/util/exists.ts";
|
|
9
|
+
import { ExitSignal } from "../trpc.ts";
|
|
9
10
|
|
|
10
11
|
export const entrypoint = z
|
|
11
12
|
.string()
|
|
12
13
|
.optional()
|
|
13
|
-
.describe(
|
|
14
|
-
"Path to the entrypoint file. Defaults to ./alchemy.run.ts > ./alchemy.run.js",
|
|
15
|
-
);
|
|
14
|
+
.describe("Path to the entrypoint file");
|
|
16
15
|
|
|
17
16
|
export const watch = z
|
|
18
17
|
.boolean()
|
|
@@ -103,7 +102,7 @@ export async function execAlchemy(
|
|
|
103
102
|
),
|
|
104
103
|
);
|
|
105
104
|
log.info("Create an alchemy.run.ts file to define your infrastructure.");
|
|
106
|
-
|
|
105
|
+
throw new ExitSignal(1);
|
|
107
106
|
}
|
|
108
107
|
|
|
109
108
|
// Detect package manager
|
|
@@ -160,7 +159,6 @@ export async function execAlchemy(
|
|
|
160
159
|
FORCE_COLOR: "1",
|
|
161
160
|
},
|
|
162
161
|
});
|
|
163
|
-
process.exit(0);
|
|
164
162
|
} catch (error: any) {
|
|
165
163
|
log.error(pc.red(`Deploy failed: ${error.message}`));
|
|
166
164
|
if (error.stdout) {
|
|
@@ -169,6 +167,6 @@ export async function execAlchemy(
|
|
|
169
167
|
if (error.stderr) {
|
|
170
168
|
console.error(error.stderr);
|
|
171
169
|
}
|
|
172
|
-
|
|
170
|
+
throw error;
|
|
173
171
|
}
|
|
174
172
|
}
|
package/bin/trpc.ts
CHANGED
|
@@ -1,3 +1,52 @@
|
|
|
1
1
|
import { trpcServer } from "trpc-cli";
|
|
2
|
+
import { TelemetryClient } from "../src/util/telemetry/client.ts";
|
|
2
3
|
|
|
3
4
|
export const t = trpcServer.initTRPC.create();
|
|
5
|
+
|
|
6
|
+
export class ExitSignal extends Error {
|
|
7
|
+
constructor(public code: 0 | 1 = 0) {
|
|
8
|
+
super(`Process exit with code ${code}`);
|
|
9
|
+
this.name = "ExitSignal";
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const loggingMiddleware = t.middleware(async ({ path, next }) => {
|
|
14
|
+
const telemetry = TelemetryClient.create({
|
|
15
|
+
enabled: true,
|
|
16
|
+
quiet: true,
|
|
17
|
+
});
|
|
18
|
+
telemetry.record({
|
|
19
|
+
event: "cli.start",
|
|
20
|
+
command: path,
|
|
21
|
+
});
|
|
22
|
+
let exitCode = 0;
|
|
23
|
+
|
|
24
|
+
try {
|
|
25
|
+
const result = await next();
|
|
26
|
+
telemetry.record({
|
|
27
|
+
event: "cli.success",
|
|
28
|
+
command: path,
|
|
29
|
+
});
|
|
30
|
+
return result;
|
|
31
|
+
} catch (error) {
|
|
32
|
+
telemetry.record({
|
|
33
|
+
event:
|
|
34
|
+
error instanceof ExitSignal && error.code === 0
|
|
35
|
+
? "cli.success"
|
|
36
|
+
: "cli.error",
|
|
37
|
+
command: path,
|
|
38
|
+
});
|
|
39
|
+
if (error instanceof ExitSignal) {
|
|
40
|
+
exitCode = error.code;
|
|
41
|
+
} else {
|
|
42
|
+
throw error;
|
|
43
|
+
}
|
|
44
|
+
} finally {
|
|
45
|
+
await telemetry.finalize();
|
|
46
|
+
//* this is a node issue https://github.com/nodejs/node/issues/56645
|
|
47
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
48
|
+
process.exit(exitCode);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
export const loggedProcedure = t.procedure.use(loggingMiddleware);
|
package/lib/apply.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"AAGA,OAAO,EAOL,KAAK,eAAe,EAEpB,KAAK,QAAQ,EACb,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,EAAyB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"AAGA,OAAO,EAOL,KAAK,eAAe,EAEpB,KAAK,QAAQ,EACb,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,EAAyB,MAAM,YAAY,CAAC;AAM1D,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC5C;AAED,wBAAgB,KAAK,CAAC,GAAG,SAAS,QAAQ,EACxC,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,EAC9B,KAAK,EAAE,aAAa,GAAG,SAAS,EAChC,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAEvB;AAED,qBAAa,cAAe,SAAQ,KAAK;IAChC,KAAK,EAAE,OAAO,CAAC;gBAEV,KAAK,CAAC,EAAE,OAAO;CAI5B"}
|
package/lib/apply.js
CHANGED
|
@@ -22,7 +22,7 @@ async function _apply(resource, props, options) {
|
|
|
22
22
|
try {
|
|
23
23
|
const quiet = props?.quiet ?? scope.quiet;
|
|
24
24
|
await scope.init();
|
|
25
|
-
let state =
|
|
25
|
+
let state = await scope.state.get(resource[ResourceID]);
|
|
26
26
|
const provider = PROVIDERS.get(resource[ResourceKind]);
|
|
27
27
|
if (provider === undefined) {
|
|
28
28
|
throw new Error(`Provider "${resource[ResourceKind]}" not found`);
|
|
@@ -208,17 +208,16 @@ async function _apply(resource, props, options) {
|
|
|
208
208
|
elapsed: performance.now() - start,
|
|
209
209
|
replaced: isReplaced,
|
|
210
210
|
});
|
|
211
|
-
state =
|
|
211
|
+
state = await scope.state.get(resource[ResourceID]);
|
|
212
212
|
await scope.state.set(resource[ResourceID], {
|
|
213
213
|
kind: resource[ResourceKind],
|
|
214
214
|
id: resource[ResourceID],
|
|
215
215
|
fqn: resource[ResourceFQN],
|
|
216
216
|
seq: resource[ResourceSeq],
|
|
217
|
-
data: state
|
|
217
|
+
data: state?.data ?? {}, // TODO: this used to be force-unwrapped but that was crashing for me - is this change ok?
|
|
218
218
|
status,
|
|
219
219
|
output,
|
|
220
220
|
props,
|
|
221
|
-
// deps: [...deps],
|
|
222
221
|
});
|
|
223
222
|
return output;
|
|
224
223
|
}
|
package/lib/apply.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,SAAS,EACT,WAAW,EACX,UAAU,EACV,YAAY,EACZ,aAAa,EACb,WAAW,GAKZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,EAAyB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"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"}
|
package/lib/cloudflare/assets.js
CHANGED
|
@@ -80,15 +80,16 @@ async function getFilesRecursively(dir, ignoreMatcher) {
|
|
|
80
80
|
const files = await fs.readdir(dir, { withFileTypes: true });
|
|
81
81
|
const result = [];
|
|
82
82
|
await Promise.all(files.map(async (file) => {
|
|
83
|
-
const
|
|
83
|
+
const filePath = path.join(dir, file.name);
|
|
84
84
|
if (ignoreMatcher.ignores(file.name)) {
|
|
85
85
|
return;
|
|
86
86
|
}
|
|
87
|
-
if (file.isDirectory()
|
|
88
|
-
|
|
87
|
+
if (file.isDirectory() ||
|
|
88
|
+
(file.isSymbolicLink() && (await fs.stat(filePath)).isDirectory())) {
|
|
89
|
+
result.push(...(await getFilesRecursively(filePath, ignoreMatcher)));
|
|
89
90
|
}
|
|
90
91
|
else {
|
|
91
|
-
result.push(
|
|
92
|
+
result.push(filePath);
|
|
92
93
|
}
|
|
93
94
|
}));
|
|
94
95
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/cloudflare/assets.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/cloudflare/assets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import type { Assets } from "
|
|
2
|
-
import type { Bindings } from "
|
|
3
|
-
import type
|
|
4
|
-
import type { Worker } from "
|
|
1
|
+
import type { Assets } from "../assets.ts";
|
|
2
|
+
import type { Bindings } from "../bindings.ts";
|
|
3
|
+
import { type WebsiteProps } from "../website.ts";
|
|
4
|
+
import type { Worker } from "../worker.ts";
|
|
5
5
|
/**
|
|
6
6
|
* Properties for creating an Astro resource.
|
|
7
7
|
* Extends WebsiteProps, allowing customization of the underlying Website.
|
|
8
8
|
*/
|
|
9
|
-
export interface AstroProps<B extends Bindings> extends WebsiteProps<B> {
|
|
9
|
+
export interface AstroProps<B extends Bindings> extends Omit<WebsiteProps<B>, "spa"> {
|
|
10
|
+
output?: "server" | "static";
|
|
10
11
|
}
|
|
11
12
|
/**
|
|
12
13
|
* Represents the output of an Astro resource deployment.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"astro.d.ts","sourceRoot":"","sources":["../../../src/cloudflare/astro/astro.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C;;;GAGG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,QAAQ,CAC5C,SAAQ,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IACpC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,GAAG,CAAA;CAAE,GAC7D,KAAK,GACL,MAAM,CAAC,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAsB,KAAK,CAAC,CAAC,SAAS,QAAQ,EAC5C,EAAE,EAAE,MAAM,EACV,KAAK,GAAE,UAAU,CAAC,CAAC,CAAM,GACxB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAcnB"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
+
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
+
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
+
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
+
});
|
|
6
|
+
}
|
|
7
|
+
return path;
|
|
8
|
+
};
|
|
9
|
+
import { join, resolve } from "node:path";
|
|
10
|
+
import { getPackageManagerRunner } from "../../util/detect-package-manager.js";
|
|
11
|
+
import { Website } from "../website.js";
|
|
12
|
+
/**
|
|
13
|
+
* Creates and deploys an Astro application using the Cloudflare adapter.
|
|
14
|
+
*
|
|
15
|
+
* This resource simplifies deploying Astro applications by providing sensible
|
|
16
|
+
* defaults for the build command, main entrypoint, and assets directory
|
|
17
|
+
* based on the `@astrojs/cloudflare` adapter output.
|
|
18
|
+
*
|
|
19
|
+
* It wraps the underlying `Website` resource.
|
|
20
|
+
*
|
|
21
|
+
* @param id A unique identifier for the resource.
|
|
22
|
+
* @param props Configuration options for the Astro deployment, overriding defaults.
|
|
23
|
+
* @returns A promise that resolves to the deployed Cloudflare Worker details.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ## Deploy a basic Astro site with default settings
|
|
27
|
+
*
|
|
28
|
+
* Deploy an Astro application with minimal configuration using default build settings.
|
|
29
|
+
*
|
|
30
|
+
* ```ts
|
|
31
|
+
* import { Astro } from "alchemy/cloudflare";
|
|
32
|
+
*
|
|
33
|
+
* const astroSite = await Astro("my-astro-app");
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ## Deploy with custom bindings and build command
|
|
38
|
+
*
|
|
39
|
+
* Deploy an Astro application with custom Cloudflare bindings and build configuration.
|
|
40
|
+
*
|
|
41
|
+
* ```ts
|
|
42
|
+
* import { Astro, D1Database } from "alchemy/cloudflare";
|
|
43
|
+
*
|
|
44
|
+
* const db = await D1Database("my-db");
|
|
45
|
+
* const astroSiteWithDb = await Astro("my-astro-app-with-db", {
|
|
46
|
+
* command: "npm run build", // Specify a custom build command
|
|
47
|
+
* bindings: {
|
|
48
|
+
* DB: db, // Add custom bindings
|
|
49
|
+
* },
|
|
50
|
+
* });
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export async function Astro(id, props = {}) {
|
|
54
|
+
const cwd = resolve(props.cwd ?? process.cwd());
|
|
55
|
+
const output = props.output ?? (await resolveOutputType(cwd));
|
|
56
|
+
const runner = await getPackageManagerRunner();
|
|
57
|
+
return await Website(id, {
|
|
58
|
+
...props,
|
|
59
|
+
noBundle: props.noBundle ?? true,
|
|
60
|
+
build: props.build ?? `${runner} astro build`,
|
|
61
|
+
dev: props.dev ?? `${runner} astro dev`,
|
|
62
|
+
entrypoint: props.entrypoint ??
|
|
63
|
+
(output === "server" ? "dist/_worker.js/index.js" : undefined),
|
|
64
|
+
assets: props.assets ?? "dist",
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
async function resolveOutputType(cwd) {
|
|
68
|
+
const candidates = [
|
|
69
|
+
"astro.config.mjs",
|
|
70
|
+
"astro.config.js",
|
|
71
|
+
"astro.config.ts",
|
|
72
|
+
"astro.config.mts",
|
|
73
|
+
];
|
|
74
|
+
for (const candidate of candidates) {
|
|
75
|
+
try {
|
|
76
|
+
const config = await import(__rewriteRelativeImportExtension(join(cwd, candidate)));
|
|
77
|
+
if (typeof config.default === "object" &&
|
|
78
|
+
config.default &&
|
|
79
|
+
"output" in config.default &&
|
|
80
|
+
typeof config.default.output === "string") {
|
|
81
|
+
return config.default.output;
|
|
82
|
+
}
|
|
83
|
+
return "static";
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
// ignore
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return "static";
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=astro.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"astro.js","sourceRoot":"","sources":["../../../src/cloudflare/astro/astro.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAG/E,OAAO,EAAE,OAAO,EAAqB,MAAM,eAAe,CAAC;AAqB3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CACzB,EAAU,EACV,QAAuB,EAAE;IAEzB,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,uBAAuB,EAAE,CAAC;IAC/C,OAAO,MAAM,OAAO,CAAC,EAAE,EAAE;QACvB,GAAG,KAAK;QACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;QAChC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG,MAAM,cAAc;QAC7C,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,GAAG,MAAM,YAAY;QACvC,UAAU,EACR,KAAK,CAAC,UAAU;YAChB,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,MAAM;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,GAAW;IAC1C,MAAM,UAAU,GAAG;QACjB,kBAAkB;QAClB,iBAAiB;QACjB,iBAAiB;QACjB,kBAAkB;KACnB,CAAC;IACF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,kCAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,EAAC,CAAC;YAClD,IACE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;gBAClC,MAAM,CAAC,OAAO;gBACd,QAAQ,IAAI,MAAM,CAAC,OAAO;gBAC1B,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,EACzC,CAAC;gBACD,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAC/B,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/cloudflare/astro/plugin.ts"],"names":[],"mappings":"AAAA,OAAmB,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG/D,QAAA,MAAM,OAAO,GAAI,UAAU,OAAO,qCAKjC,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import cloudflare, {} from "@astrojs/cloudflare";
|
|
2
|
+
import { getPlatformProxyOptions } from "../cloudflare-env-proxy.js";
|
|
3
|
+
const alchemy = (options) => {
|
|
4
|
+
return cloudflare({
|
|
5
|
+
platformProxy: getPlatformProxyOptions(options?.platformProxy),
|
|
6
|
+
...options,
|
|
7
|
+
});
|
|
8
|
+
};
|
|
9
|
+
export default alchemy;
|
|
10
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/cloudflare/astro/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,EAAE,EAAgB,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE,MAAM,OAAO,GAAG,CAAC,OAAiB,EAAE,EAAE;IACpC,OAAO,UAAU,CAAC;QAChB,aAAa,EAAE,uBAAuB,CAAC,OAAO,EAAE,aAAa,CAAC;QAC9D,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { GetPlatformProxyOptions } from "wrangler";
|
|
2
|
+
export declare const getCloudflareEnvProxy: <E>(options?: GetPlatformProxyOptions) => Promise<E>;
|
|
3
|
+
export declare const getPlatformProxyOptions: (input?: GetPlatformProxyOptions) => GetPlatformProxyOptions;
|
|
4
|
+
//# sourceMappingURL=cloudflare-env-proxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudflare-env-proxy.d.ts","sourceRoot":"","sources":["../../src/cloudflare/cloudflare-env-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAQxD,eAAO,MAAM,qBAAqB,GAAU,CAAC,EAC3C,UAAS,uBAA4B,eAMtC,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,QAAO,uBAA4B,KAClC,uBA4BF,CAAC"}
|