BUMP - VID - #198
Conversation
📝 WalkthroughWalkthroughThe package version changes from ChangesPackage release metadata
Estimated code review effort: 1 (Trivial) | ~2 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
package.jsonESLint skipped: missing config or dependency (missing-dependency). The ESLint configuration references a package that is not available in the sandbox. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@package.json`:
- Line 3: Update the package.json version value from 2.1.11beta.4 to the valid
SemVer prerelease format 2.1.11-beta.4.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
| { | ||
| "name": "orbit", | ||
| "version": "2.1.10beta21", | ||
| "version": "2.1.11beta.4", |
There was a problem hiding this comment.
🎯 Functional Correctness | 🔴 Critical | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
version="$(node -p "require('./package.json').version")"
npx --yes semver "$version" >/dev/nullRepository: PlanetaryOrbit/orbit
Length of output: 512
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
printf '%s\n' '--- package metadata ---'
python3 - <<'PY'
import json
from pathlib import Path
data = json.loads(Path("package.json").read_text())
print("version:", data.get("version"))
print("packageManager:", data.get("packageManager"))
print("engines:", data.get("engines"))
PY
printf '%s\n' '--- version references and release tooling ---'
rg -n --hidden -g '!node_modules' -g '!dist' -g '!build' \
'"version"|"release"|npm publish|npm pack|semantic-release|changeset|2\.1\.11beta\.4|2\.1\.11-beta\.4' \
package.json package-lock.json npm-shrinkwrap.json pnpm-lock.yaml yarn.lock .github scripts 2>/dev/null || true
printf '%s\n' '--- locally available npm version tooling ---'
command -v npm || true
npm --version 2>/dev/null || true
command -v node || true
node --version 2>/dev/null || trueRepository: PlanetaryOrbit/orbit
Length of output: 440
🌐 Web query:
npm package.json version valid semver prerelease hyphen node-semver npm publish behavior
💡 Result:
In the context of npm and the node-semver parser, a prerelease version is denoted by appending a hyphen followed by dot-separated identifiers to the patch version (e.g., 1.2.3-alpha.1) [1][2]. Key behaviors and technical details: 1. SemVer Syntax: A valid prerelease string must follow SemVer 2.0.0 rules [1]. Identifiers can contain ASCII alphanumerics and hyphens [1][2]. Numeric identifiers must not contain leading zeros (e.g., 1.2.3-01 is invalid, while 1.2.3-1 is valid) [2][3][4]. 2. Range Matching: By default, the node-semver parser excludes prerelease versions from satisfying ranges (e.g., a dependency on ^1.2.3 will not match 1.2.4-alpha.1) [5][6]. This prevents unstable versions from being automatically installed unless the range explicitly includes a prerelease tag [6]. You can override this behavior by using the includePrerelease flag in the semver library [5][6]. 3. Hyphen Ranges: The node-semver parser also supports hyphen ranges (e.g., 1.2.3 - 2.3.4), which are interpreted as inclusive ranges (>=1.2.3 <=2.3.4) [3][7]. These are distinct from the hyphen used to denote a prerelease [1][3]. 4. npm Publish Behavior: When you run npm publish, npm defaults to tagging the published version as latest, even for prerelease versions [8][9]. This occurs regardless of whether the version string contains a hyphen-prefixed identifier [9]. To avoid tagging a prerelease as latest, you must explicitly use the --tag option during publication (e.g., npm publish --tag=beta) [9]. 5. npm Version Incrementing: The npm version command supports various arguments (major, minor, patch, prerelease, etc.) to automatically increment the version string in package.json according to SemVer rules [10]. When using the prerelease type, npm increments the patch version and appends the prerelease identifier, or increments an existing prerelease tag if already present [6][3].
Citations:
- 1: https://semver.org/
- 2: https://github.com/semver/semver/blob/master/semver.md
- 3: https://github.com/npm/node-semver
- 4: docs: fix BNF grammar to distinguish prerelease from build identifiers npm/node-semver#846
- 5: https://github.com/npm/node-semver?tab=readme-ov-file
- 6: https://docs.npmjs.com/cli/v6/using-npm/semver/
- 7: https://www.npmjs.com/package/semver
- 8: https://docs.npmjs.com/cli/v11/commands/npm-publish/
- 9: [BUG] "npm publish" tags pre-versions as "latest" npm/cli#7553
- 10: https://docs.npmjs.com/cli/v8/commands/npm-version/
Use a valid SemVer prerelease version.
2.1.11beta.4 is not valid SemVer. Change it to 2.1.11-beta.4.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@package.json` at line 3, Update the package.json version value from
2.1.11beta.4 to the valid SemVer prerelease format 2.1.11-beta.4.
Pull Request
Thank you for contributing to Orbit! 🐈
Before submitting, please make sure you have read the Contributing Guide.
Description
bump version id
Related Issues
Type of Change
Testing
Describe how you tested your changes.
Screenshots / Videos
Checklist
Additional Notes
Summary by CodeRabbit