Skip to content

Add minimum and maximum version checks for frameworks during auto-configuration#13050

Merged
dario-piotrowicz merged 9 commits intomainfrom
dario/DEVX-2525/autoconfig-min-max-versions
Mar 30, 2026
Merged

Add minimum and maximum version checks for frameworks during auto-configuration#13050
dario-piotrowicz merged 9 commits intomainfrom
dario/DEVX-2525/autoconfig-min-max-versions

Conversation

@dario-piotrowicz
Copy link
Copy Markdown
Member

@dario-piotrowicz dario-piotrowicz commented Mar 24, 2026

Fixes https://jira.cfdata.org/browse/DEVX-2525

When Wrangler automatically configures a project, it now validates the installed version of the detected framework before proceeding:

  • If the version is below the minimum known-good version, the command exits with an error asking the user to upgrade the framework.
  • If the version is above the maximum known major version, a warning is emitted to let the user know the framework version has not been officially tested with this feature, and the command continues.

  • Tests
    • Tests included/updated
    • Automated tests not possible - manual testing has been completed as follows:
    • Additional testing not necessary because:
  • Public documentation
    • Cloudflare docs PR(s):
    • Documentation not necessary because: UX self-explanatory improvement

A picture of a cute animal (not mandatory, but encouraged)


Open with Devin

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Mar 24, 2026

🦋 Changeset detected

Latest commit: fffdcee

The changes in this PR will be included in the next version bump.

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 24, 2026

✅ All changesets look good

ask-bonk[bot]

This comment was marked as resolved.

@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new bot commented Mar 24, 2026

create-cloudflare

npm i https://pkg.pr.new/create-cloudflare@13050

@cloudflare/kv-asset-handler

npm i https://pkg.pr.new/@cloudflare/kv-asset-handler@13050

miniflare

npm i https://pkg.pr.new/miniflare@13050

@cloudflare/pages-shared

npm i https://pkg.pr.new/@cloudflare/pages-shared@13050

@cloudflare/unenv-preset

npm i https://pkg.pr.new/@cloudflare/unenv-preset@13050

@cloudflare/vite-plugin

npm i https://pkg.pr.new/@cloudflare/vite-plugin@13050

@cloudflare/vitest-pool-workers

npm i https://pkg.pr.new/@cloudflare/vitest-pool-workers@13050

@cloudflare/workers-editor-shared

npm i https://pkg.pr.new/@cloudflare/workers-editor-shared@13050

wrangler

npm i https://pkg.pr.new/wrangler@13050

commit: fffdcee

@ask-bonk
Copy link
Copy Markdown
Contributor

ask-bonk bot commented Mar 24, 2026

Review posted on PR #13050. The main finding is a logic bug where semiver produces incorrect comparison results when minimumVersion is specified as a bare major number (e.g. "19" instead of "19.0.0"). This causes semiver("19.0.0", "19") to return -1, meaning the minimum version check would incorrectly reject Angular 19.0.0, Astro 4.0.0, Vite 6.0.0, React Router 7.0.0, and any Vike 0.x version as "too old." The fix is straightforward: use full semver strings like "19.0.0" instead of bare majors like "19".

github run

@dario-piotrowicz dario-piotrowicz force-pushed the dario/DEVX-2525/autoconfig-min-max-versions branch 5 times, most recently from 0511cd7 to 9cdad82 Compare March 25, 2026 13:36
@dario-piotrowicz dario-piotrowicz marked this pull request as ready for review March 25, 2026 14:04
@dario-piotrowicz dario-piotrowicz requested a review from a team as a code owner March 25, 2026 14:04
@workers-devprod
Copy link
Copy Markdown
Contributor

workers-devprod commented Mar 25, 2026

Codeowners approval required for this PR:

  • @cloudflare/wrangler
Show detailed file reviewers
  • packages/wrangler/src/tests/autoconfig/details/display-auto-config-details.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/tests/autoconfig/frameworks/get-framework-class.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/tests/autoconfig/frameworks/get-framework.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/tests/autoconfig/frameworks/is-framework-supported.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/tests/autoconfig/frameworks/is-known-framework.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/tests/autoconfig/frameworks/validate-framework-version.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/tests/autoconfig/run.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/tests/deploy/core.test.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/details/framework-detection.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/details/index.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/frameworks/all-frameworks.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/frameworks/analog.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/frameworks/angular.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/frameworks/astro.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/frameworks/framework-class.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/frameworks/get-framework.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/frameworks/hono.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/frameworks/index.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/frameworks/next.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/frameworks/nuxt.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/frameworks/pages.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/frameworks/qwik.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/frameworks/react-router.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/frameworks/solid-start.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/frameworks/static.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/frameworks/sveltekit.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/frameworks/tanstack.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/frameworks/utils/packages.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/frameworks/vike.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/frameworks/vite.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/frameworks/waku.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/run.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/autoconfig/types.ts: [@cloudflare/wrangler]
  • packages/wrangler/src/cli.ts: [@cloudflare/wrangler]

devin-ai-integration[bot]

This comment was marked as resolved.

@dario-piotrowicz dario-piotrowicz force-pushed the dario/DEVX-2525/autoconfig-min-max-versions branch 3 times, most recently from a69f70b to 84dd3a2 Compare March 25, 2026 14:43
devin-ai-integration[bot]

This comment was marked as resolved.

@penalosa penalosa requested review from penalosa and removed request for emily-shen March 25, 2026 14:59
@dario-piotrowicz dario-piotrowicz force-pushed the dario/DEVX-2525/autoconfig-min-max-versions branch from 98d490a to bdfa12f Compare March 30, 2026 10:17
devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

@dario-piotrowicz dario-piotrowicz force-pushed the dario/DEVX-2525/autoconfig-min-max-versions branch from bdfa12f to fc20ebc Compare March 30, 2026 12:07
@dario-piotrowicz dario-piotrowicz force-pushed the dario/DEVX-2525/autoconfig-min-max-versions branch from 9462a43 to 5fb1058 Compare March 30, 2026 13:29
@workers-devprod
Copy link
Copy Markdown
Contributor

workers-devprod commented Mar 30, 2026

Codeowners approval required for this PR:

  • ✅ @cloudflare/wrangler
Show detailed file reviewers

Copy link
Copy Markdown
Contributor

@penalosa penalosa left a comment

Choose a reason for hiding this comment

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

Approved pending resolution of the require.resolve thread

@github-project-automation github-project-automation bot moved this from Untriaged to Approved in workers-sdk Mar 30, 2026
@dario-piotrowicz dario-piotrowicz merged commit ed20a9b into main Mar 30, 2026
51 checks passed
@dario-piotrowicz dario-piotrowicz deleted the dario/DEVX-2525/autoconfig-min-max-versions branch March 30, 2026 16:40
@github-project-automation github-project-automation bot moved this from Approved to Done in workers-sdk Mar 30, 2026
This was referenced Mar 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants