Open
Conversation
… readability and maintainability
commit: |
…d simplifying routing logic; delete patchAsyncStorage functionality.
There was a problem hiding this comment.
Pull request overview
This PR focuses on repository cleanup by removing Cloudflare playground examples for Next 14 and Next 15, and simplifying parts of the OpenNext build/runtime code that previously carried compatibility logic and experimental options.
Changes:
- Removed
examples-cloudflare/playground14andexamples-cloudflare/playground15(configs, app/pages code, and Playwright e2e tests/assets). - Removed the deprecated
experimentalBundledNextServeroption and related build-time bundling/aliasing logic. - Simplified image optimization and cache compilation/configuration paths (including removing previously injected Next-version flags).
Reviewed changes
Copilot reviewed 86 out of 94 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| pnpm-lock.yaml | Drops lock entries tied to removed playground importers and updates platform metadata (libc, etc.). |
| packages/open-next/src/types/open-next.ts | Removes deprecated experimentalBundledNextServer option from public types. |
| packages/open-next/src/types/global.ts | Removes global isNextAfter15 declaration used for version gating. |
| packages/open-next/src/build/validateConfig.ts | Removes validation warning tied to experimentalBundledNextServer. |
| packages/open-next/src/build/createServerBundle.ts | Removes bundled-next-server build step and forces bundledNextServer: false. |
| packages/open-next/src/build/createImageOptimizationBundle.ts | Removes image optimization replacement plugin logic (now only resolve plugin remains). |
| packages/open-next/src/build/copyTracedFiles.ts | Simplifies _not-found traced-file lookup to a single canonical path. |
| packages/open-next/src/build/compileCache.ts | Stops injecting globalThis.isNextAfter15 into cache bundle banners. |
| packages/open-next/src/build/bundleNextServer.ts | Removes outdated comments related to older Next server aliasing. |
| packages/open-next/src/adapters/plugins/image-optimization/image-optimization.ts | Updates image optimization to fetch upstream via fetchExternalImage/fetchInternalImage and call imageOptimizer with upstream. |
| packages/open-next/src/adapters/plugins/image-optimization/image-optimization.replacement.ts | Removes the replacement implementation file (no longer used). |
| packages/open-next/src/adapters/plugins/14.1/util.ts | Removes legacy Next 14.1-specific plugin util. |
| packages/open-next/src/adapters/image-optimization-adapter.ts | Adjusts downloadHandler signature to accept optional parsed URL and updates href usage. |
| packages/open-next/src/adapters/cache.ts | Removes Next-version gating and hard-codes newer cache kind shapes (APP_ROUTE, PAGES, APP_PAGE). |
| packages/cloudflare/src/cli/build/open-next/createServerBundle.ts | Mirrors AWS server bundle changes: removes bundled-next-server build and forces bundledNextServer: false. |
| examples-cloudflare/playground15/wrangler.jsonc | Removes Next 15 Cloudflare playground configuration. |
| examples-cloudflare/playground15/worker-configuration.d.ts | Removes generated Wrangler types for the deleted playground. |
| examples-cloudflare/playground15/tsconfig.json | Removes TS config for the deleted playground. |
| examples-cloudflare/playground15/public/tomine.webp | Removes playground asset. |
| examples-cloudflare/playground15/public/test.jpg | Removes playground asset. |
| examples-cloudflare/playground15/public/.gitkeep | Removes placeholder file for deleted playground. |
| examples-cloudflare/playground15/pages/head.tsx | Removes sample Pages Router head test page. |
| examples-cloudflare/playground15/package.json | Removes Next 15 playground package definition/scripts. |
| examples-cloudflare/playground15/open-next.config.ts | Removes playground OpenNext Cloudflare config. |
| examples-cloudflare/playground15/next.config.ts | Removes playground Next config. |
| examples-cloudflare/playground15/middleware.js | Removes playground middleware example. |
| examples-cloudflare/playground15/lib/posts.ts | Removes sample data helper used by ISR pages. |
| examples-cloudflare/playground15/instrumentation.js | Removes instrumentation demo for the playground. |
| examples-cloudflare/playground15/e2e/signal.test.ts | Removes Playwright coverage for request-signal behavior. |
| examples-cloudflare/playground15/e2e/playwright.dev.config.ts | Removes Playwright dev config for deleted playground. |
| examples-cloudflare/playground15/e2e/playwright.config.ts | Removes Playwright config for deleted playground. |
| examples-cloudflare/playground15/e2e/isr.spec.ts | Removes ISR coverage for deleted playground. |
| examples-cloudflare/playground15/e2e/instrumentation.spec.ts | Removes instrumentation e2e tests for deleted playground. |
| examples-cloudflare/playground15/e2e/image.test.ts | Removes next/image trailing slash e2e test for deleted playground. |
| examples-cloudflare/playground15/e2e/head.spec.ts | Removes <head> population e2e test for deleted playground. |
| examples-cloudflare/playground15/e2e/cloudflare.spec.ts | Removes Cloudflare-specific e2e tests for deleted playground. |
| examples-cloudflare/playground15/e2e/base.spec.ts | Removes base e2e tests for deleted playground. |
| examples-cloudflare/playground15/data.module.css | Removes playground CSS module. |
| examples-cloudflare/playground15/data.js | Removes playground data module used in dynamic import example. |
| examples-cloudflare/playground15/app/signal/page.tsx | Removes signal page used for request-signal demo. |
| examples-cloudflare/playground15/app/signal/_components/sse.tsx | Removes SSE client component used for request-signal demo. |
| examples-cloudflare/playground15/app/page.js | Removes base app router page for deleted playground. |
| examples-cloudflare/playground15/app/other-app/page.tsx | Removes secondary app page used for navigation/dynamic import testing. |
| examples-cloudflare/playground15/app/og/route.tsx | Removes OG image route example. |
| examples-cloudflare/playground15/app/layout.js | Removes root layout for deleted playground. |
| examples-cloudflare/playground15/app/isr/[id]/no-dynamic/page.tsx | Removes ISR (dynamicParams=false) sample. |
| examples-cloudflare/playground15/app/isr/[id]/dynamic/page.tsx | Removes ISR (dynamicParams=true) sample. |
| examples-cloudflare/playground15/app/image/page.tsx | Removes image page example. |
| examples-cloudflare/playground15/app/from-app/page.tsx | Removes navigation + dynamic import example. |
| examples-cloudflare/playground15/app/api/signal/revalidate/route.ts | Removes API route used by signal/revalidate demo. |
| examples-cloudflare/playground15/app/api/signal/abort/route.ts | Removes API route used by SSE abort demo. |
| examples-cloudflare/playground15/app/api/request/route.ts | Removes API route returning request URL info. |
| examples-cloudflare/playground15/app/api/instrumentation/route.ts | Removes API route used for instrumentation assertions. |
| examples-cloudflare/playground15/app/api/hello/route.ts | Removes hello-world API route example. |
| examples-cloudflare/playground15/app/api/env/route.ts | Removes env echo API route example. |
| examples-cloudflare/playground15/app/api/cloudflare/route.ts | Removes Cloudflare module access demo route. |
| examples-cloudflare/playground15/app/api/buildid/route.ts | Removes build-id/config introspection route. |
| examples-cloudflare/playground15/.gitignore | Removes playground-specific ignore file. |
| examples-cloudflare/playground15/.env.development | Removes playground env file. |
| examples-cloudflare/playground15/.dev.vars | Removes playground Wrangler dev vars. |
| examples-cloudflare/playground14/wrangler.jsonc | Removes Next 14 Cloudflare playground configuration. |
| examples-cloudflare/playground14/worker.ts | Removes worker entry wrapper for deleted playground. |
| examples-cloudflare/playground14/tsconfig.json | Removes TS config for deleted playground. |
| examples-cloudflare/playground14/public/snipp/snipp.webp | Removes playground asset. |
| examples-cloudflare/playground14/public/.gitkeep | Removes placeholder file for deleted playground. |
| examples-cloudflare/playground14/pages/head.tsx | Removes Pages Router head test page. |
| examples-cloudflare/playground14/pages/api/pages.ts | Removes Pages Router API route example. |
| examples-cloudflare/playground14/package.json | Removes Next 14 playground package definition/scripts. |
| examples-cloudflare/playground14/open-next.config.ts | Removes playground OpenNext Cloudflare config. |
| examples-cloudflare/playground14/next.config.mjs | Removes playground Next config. |
| examples-cloudflare/playground14/middleware.js | Removes playground middleware example. |
| examples-cloudflare/playground14/lib/posts.ts | Removes sample data helper used by ISR pages. |
| examples-cloudflare/playground14/instrumentation.js | Removes instrumentation demo for the playground. |
| examples-cloudflare/playground14/e2e/playwright.dev.config.ts | Removes Playwright dev config for deleted playground. |
| examples-cloudflare/playground14/e2e/playwright.config.ts | Removes Playwright config for deleted playground. |
| examples-cloudflare/playground14/e2e/isr.spec.ts | Removes ISR coverage for deleted playground. |
| examples-cloudflare/playground14/e2e/instrumentation.spec.ts | Removes instrumentation e2e tests for deleted playground. |
| examples-cloudflare/playground14/e2e/head.spec.ts | Removes <head> population e2e test for deleted playground. |
| examples-cloudflare/playground14/e2e/cloudflare.spec.ts | Removes Cloudflare-specific e2e tests for deleted playground. |
| examples-cloudflare/playground14/e2e/base.spec.ts | Removes base e2e tests for deleted playground. |
| examples-cloudflare/playground14/app/page.js | Removes base app router page for deleted playground. |
| examples-cloudflare/playground14/app/og/route.tsx | Removes OG image route example. |
| examples-cloudflare/playground14/app/layout.js | Removes root layout for deleted playground. |
| examples-cloudflare/playground14/app/isr/[id]/no-dynamic/page.tsx | Removes ISR (dynamicParams=false) sample. |
| examples-cloudflare/playground14/app/isr/[id]/dynamic/page.tsx | Removes ISR (dynamicParams=true) sample. |
| examples-cloudflare/playground14/app/api/request/route.ts | Removes API route returning request URL info. |
| examples-cloudflare/playground14/app/api/instrumentation/route.ts | Removes API route used for instrumentation assertions. |
| examples-cloudflare/playground14/app/api/hello/route.ts | Removes hello-world API route example. |
| examples-cloudflare/playground14/app/api/env/route.ts | Removes env echo API route example. |
| examples-cloudflare/playground14/app/api/buildid/route.ts | Removes build-id/config introspection route. |
| examples-cloudflare/playground14/.gitignore | Removes playground-specific ignore file. |
| examples-cloudflare/playground14/.env.development | Removes playground env file. |
| examples-cloudflare/playground14/.dev.vars | Removes playground Wrangler dev vars. |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.