Skip to content

feat(repo): consolidate Cloudflare integration PRs#7

Merged
agcty merged 3 commits into
mainfrom
codex/consolidate-alchemy-cloudflare-prs
Jun 21, 2026
Merged

feat(repo): consolidate Cloudflare integration PRs#7
agcty merged 3 commits into
mainfrom
codex/consolidate-alchemy-cloudflare-prs

Conversation

@agcty

@agcty agcty commented Jun 21, 2026

Copy link
Copy Markdown

Summary

Consolidates the open alchemy-effect/cloudflare-tools integration PR work into one dogfood monorepo branch.

Included:

Not duplicated:

Monorepo adaptation:

  • rewired new fixtures to @oddlynew/* packages and root catalog deps
  • fixed inferred Nx typecheck for imported Alchemy fixtures
  • kept the Cloudflare Vite dev server on the existing runtime context plus Vite asset plugin overrides
  • made Build.Exec provider lifecycle requirements explicit and non-listable

Validation

  • bun nx run-many -t build,typecheck --projects=@oddlynew/distilled-cloudflare-rolldown-plugin,@oddlynew/distilled-cloudflare-runtime,@oddlynew/distilled-cloudflare-vite-plugin,@oddlynew/alchemy --parallel=4
  • bun nx run-many -t lint --projects=@oddlynew/distilled-cloudflare-rolldown-plugin,@oddlynew/distilled-cloudflare-runtime,@oddlynew/distilled-cloudflare-vite-plugin,@oddlynew/alchemy --parallel=4
  • bun nx run-many -t typecheck --projects=@oddlynew/alchemy-fixture-tanstack-dev-bindings,@oddlynew/alchemy-fixture-react-router-rsc --parallel=2
  • bun nx test @oddlynew/distilled-cloudflare-vite-plugin
  • bun nx test @oddlynew/cloudflare-tools-fixture-react-rsc
  • bun nx test @oddlynew/cloudflare-tools-fixture-react-router-rsc
  • bun nx test @oddlynew/alchemy -- test/Build/Exec.test.ts test/Output.test.ts test/plan.test.ts test/apply.test.ts test/Diff.test.ts
  • bun nx test @oddlynew/alchemy -- test/Cloudflare/Website/Vite.test.ts -t "ignores manifest-like"
  • git diff --check
  • pre-push hook: bun oxfmt, affected lint, affected typecheck, affected test

Live deploy-backed Alchemy Vite provider tests were not run locally; they need Cloudflare credentials/state and should run in the secret-backed environment.

@agcty agcty marked this pull request as ready for review June 21, 2026 16:17
@agcty agcty merged commit 57e2021 into main Jun 21, 2026
1 check passed
@agcty agcty deleted the codex/consolidate-alchemy-cloudflare-prs branch June 21, 2026 16:45

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: af43ae615c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +170 to +172
const outDir = resolveOutDir(name);
if (outDir) {
fs.rmSync(outDir, { recursive: true, force: true });

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Guard recursive cleanup against unsafe outDir

When a Vite project customizes a Worker environment's build.outDir to . or a path outside the project (for example ../dist/worker), this hook resolves that path and recursively deletes it before Vite's own output-directory safeguards run. That can wipe the source tree or arbitrary parent directories during vite build; please only remove output directories that are safe children of the intended build root and never the root itself.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant