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

[Release] Update our published builds to follow npm practices #7839

Open
1 of 5 tasks
unlikelyzero opened this issue Sep 11, 2024 · 1 comment
Open
1 of 5 tasks

[Release] Update our published builds to follow npm practices #7839

unlikelyzero opened this issue Sep 11, 2024 · 1 comment
Labels
type:maintenance tests, chores, or project maintenance

Comments

@unlikelyzero
Copy link
Collaborator

Summary

  • Research npm packaging naming conventions
  • Decide on our new convention
  • Update our documentation
  • Update our release notes and github discussions to announce the change
  • Leave existing tags in place but move to new convention
@unlikelyzero unlikelyzero added the type:maintenance tests, chores, or project maintenance label Sep 11, 2024
@unlikelyzero
Copy link
Collaborator Author

I scanned the top 50 most popular npm packages to come up with a list of the dist-tags.

Most Common Dist-Tags for top 50 npm projects:
----------------------------
| Tag      | Occurrences    |
----------------------------
| latest   | 50             |
| next     | 19             |
| beta     | 7              |
| rc       | 4              |
| canary   | 2              |
| experimental | 1              |
| unstable | 1              |
| legacy   | 4              |
| 5x       | 1              |
| 6x       | 1              |
| 7x       | 1              |

I think this follows what we've been seeing for the past 3 years as we add new dependencies to this project. Given this information, here's an example of how we could adopt the npm model:

Channels

  • @latest
    • Replaces stable and becomes the default for what should be pulled for most users.
    • Follows release branches. i.e. v4.0.2 is latest when 4.1.0 exists
  • @next
    • Published as the next major version
  • @nightly
    • Published nightly from master

Versions

  • Published by version (e.g. v4.0.2)
  • Allows semver in npm packaging process (e.g. A user can expect to ^4.0.0 and not receive breaking changes on 4.0.3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:maintenance tests, chores, or project maintenance
Projects
None yet
Development

No branches or pull requests

1 participant