Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

RFC:Add minimum-release-age for Vite+ version selection

未关闭
#155 5 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

@naokihaba 已经在做这个了。

开始于 2026年9月14日。

评估

这个 Issue 还没有评估数据。

描述

enhancement

Context

Setting version to latest lets you pick up new Vite+ releases without manually bumping versions. It's also what setup-vp falls back to when it can't resolve a version from the project.

Current version resolution process

The downside is that CI can pick up releases immediately after publication. To mitigate supply chain risks, it'd be useful to have a waiting period before adopting brand-new versions. Pinning versions works, of course, but a delay lets people keep auto-updating while allowing time for problems or compromised releases to be discovered. This doesn't guarantee security. mise-action already supports something similar with its minimum_release_age option.

This applies only to the Vite+ CLI itself, not project dependencies.

Proposal

Add an optional minimum-release-age input.

- uses: voidzero-dev/setup-vp@v1
  with:
    version: latest
    minimum-release-age: 3

The input would take a non-negative integer representing days (24-hour periods). Setting it to 3 means a release must be at least 72 hours old.

Expected behavior:

  • When resolving latest (or falling back to it), pick the highest stable version that meets the age requirement.
  • Leave pinned versions and versions resolved from lockfiles unchanged.
  • Omitting the input or setting it to 0 keeps the current behavior.
  • Reject invalid values, such as negative numbers or non-integers, with a clear error.
  • When an age requirement is enabled, fail with a clear error if no release qualifies or publication metadata cannot be retrieved, rather than silently bypassing the requirement.
  • Log the chosen version along with its publication timestamp.

One tradeoff is that CI may select an older version than a local environment using the current latest. Explicitly setting version: latest also takes precedence over project version detection. Users who need matching versions should pin Vite+ in their project and let setup-vp resolve that version.

I think scoping this to latest makes sense for now. Ranges and prerelease tags can be considered separately. Ideally, the selection logic would be shared across the GitHub, GitLab, and Azure entry points.

This might be more defensive than necessary for setup-vp, so I'd appreciate your candid thoughts on whether it belongs here.

主要语言
TypeScript
星标
110
派生
22
平均合并
1 天 5 小时
30 天内合并 PR
31

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

voidzero-dev/setup-vp 的其他 Issue

查看 voidzero-dev/setup-vp 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。