Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🚀 Feature Request: c3 should list framework versions in the menu #3930

Closed
IgorMinar opened this issue Sep 12, 2023 · 2 comments
Closed

🚀 Feature Request: c3 should list framework versions in the menu #3930

IgorMinar opened this issue Sep 12, 2023 · 2 comments
Assignees
Labels
c3 Relating to C3 (create-cloudflare) package enhancement New feature or request

Comments

@IgorMinar
Copy link
Contributor

Describe the solution

Currently we list only names, but it's unclear to users what they'll get:
Screenshot 2023-09-12 at 8 20 27 AM

Could we please add a major version number after each item in the menu?

@IgorMinar IgorMinar added the enhancement New feature or request label Sep 12, 2023
@IgorMinar IgorMinar added the c3 Relating to C3 (create-cloudflare) package label Sep 12, 2023
@admah
Copy link
Contributor

admah commented Sep 12, 2023

Duplicate of #3908

@admah admah marked this as a duplicate of #3908 Sep 12, 2023
@jculvey
Copy link
Contributor

jculvey commented Oct 25, 2023

After looking into this and brainstorming ways of supporting it, I don’t think we can support this at the moment. There’s a number of issues that make this challenging to tackle.

The biggest problem is that we version framework scaffolding tools (like create-react-app), not the frameworks themselves.

In many cases, these tools don’t even version the frameworks. Here’s a few examples of package.json files where a framework version is nowhere to be found:

Furthermore, most frameworks don’t have a coordinated matching version with their scaffolding tools. For example, the latest version of create-svelte as of this writing is 5.1.1, where the latest version of svelte is 4.2.2.

Most of these tools actually pull from template repos to copy their initial files. These templates will have a package.json that actually pins the version of the framework.

Because of these factors, it’s quite difficult to determine the mapping between the version of frameworks and their scaffolding tools.

We considered inspecting the artifacts of our e2e runs on dependabot PRs, inspecting the resultant package.json for the version and committing it along with the version bump. Even this won’t quite give us a correct result however, since the framework version isn’t really deterministic for multiple runs of the same scaffolding tool. This is because many of them allow you to select or specify a template, which may have different framework version. Not only that, but these templates are often pulled directly from github as raw files, not installed as a dependency via npm, meaning they aren’t actually versioned by the scaffolding tools and can change at any time.

Without a viable strategy to handle this, it seems as if it’s better to not tell users a version than to tell them a version that’s possibly incorrect.

@jculvey jculvey closed this as completed Oct 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c3 Relating to C3 (create-cloudflare) package enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants