Skip to content

deps: upgrade nub to 0.7.4 and build tools - #29

Merged
Guria merged 1 commit into
mainfrom
agent/upgrade-nub-build-tools
Aug 9, 2026
Merged

deps: upgrade nub to 0.7.4 and build tools#29
Guria merged 1 commit into
mainfrom
agent/upgrade-nub-build-tools

Conversation

@Guria

@Guria Guria commented Aug 9, 2026

Copy link
Copy Markdown
Collaborator

Bump the toolchain to current:

  • nub 0.4.12 -> 0.7.4 (packageManager, devEngines, mise [tools] pin)
  • vite ^8.1.0 -> ^8.2.1
  • @vitejs/plugin-react ^6.0.3 -> ^6.0.5
  • vite-plus ^0.2.5 -> 0.2.7 (exact pin, see below)

vite-plus is pinned to exactly 0.2.7 rather than the latest 0.2.8: 0.2.8 removed the ./binding package export that the pinned test runner (@voidzero-dev/vite-plus-test@0.1.24, aliased as vitest) falls back to for its native rolldown binding. With 0.2.8 the test runner fails to load its config. There is no 0.2.x test runner release yet, so 0.2.7 is the highest compatible version. Drop the exact pin once vite-plus-test ships a build aligned with vite-plus 0.2.8+.

nub 0.7.0 breaking changes audited against this repo are all clear: allowBuilds already lives in package.json (not .npmrc), node-options is unset, and the hoisted-linker build-output wipe fix (GH#616) benefits this project since node-linker=hoisted is set. The first install re-bootstraps two renamed caches once; nothing is re-downloaded.

Regenerates nub.lock (the 0.7.x lockfile format is leaner). Verified with typecheck, lint, fallow, a clean webapp build, and the full test suite (26 files / 416 tests).

Summary by CodeRabbit

  • Chores
    • Updated development tooling, including Vite and React integration packages.
    • Updated the configured package manager and supporting tool versions.
    • No user-facing features or behavior changes were introduced.

Copilot AI lite review requested due to automatic review settings August 9, 2026 13:35
@coderabbitai

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@Guria, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 29 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: df4abea0-3791-408d-bc36-88b09ba0c7e2

📥 Commits

Reviewing files that changed from the base of the PR and between 30cd68e and 35cd154.

⛔ Files ignored due to path filters (1)
  • nub.lock is excluded by !**/*.lock
📒 Files selected for processing (7)
  • .config/mise/conf.d/_config.toml
  • apps/demo/package.json
  • package.json
  • packages/create-karkas/package.json
  • packages/create-karkas/template/mise.toml
  • packages/create-karkas/template/package.json
  • site/package.json
📝 Walkthrough

Walkthrough

The project updates Nub, Vite, Vite Plus, and @vitejs/plugin-react versions in its development tooling configuration.

Changes

Tooling version alignment

Layer / File(s) Summary
Development tooling version alignment
.config/mise/conf.d/_config.toml, package.json
Nub updates from 0.4.12 to 0.7.4. Vite, Vite Plus, and @vitejs/plugin-react also receive version updates.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main changes: upgrading nub to 0.7.4 and updating build tools.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
⚔️ Resolve merge conflicts 💡
  • Resolve merge conflict in branch agent/upgrade-nub-build-tools
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch agent/upgrade-nub-build-tools

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the project’s JavaScript toolchain versions, primarily upgrading the nub package manager and bumping core build tooling (Vite + related plugins), with an explicit compatibility pin for vite-plus.

Changes:

  • Upgrade nub from 0.4.12 to 0.7.4 (package.json + mise tool pin).
  • Upgrade vite to ^8.2.1 and @vitejs/plugin-react to ^6.0.5.
  • Pin vite-plus to 0.2.7 (exact) to preserve compatibility with the current test runner binding behavior.

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated 1 comment.

File Description
package.json Updates toolchain dependencies and nub package manager version (including the vite-plus exact pin).
.config/mise/conf.d/_config.toml Updates mise’s nub tool pin to 0.7.4 to match the upgraded toolchain.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread package.json Outdated
Comment on lines 66 to 67
"vite-plus": "0.2.7",
"vitest": "npm:@voidzero-dev/vite-plus-test@^0.1.24"

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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 66: Synchronize the mise configuration’s vp version with the pinned
vite-plus dependency: update the vp setting associated with the package
toolchain to 0.2.7, or document the intentional reason for keeping it on latest
if they must differ.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 6665f161-75ce-4db2-847a-c4caaad4e70b

📥 Commits

Reviewing files that changed from the base of the PR and between 30cd68e and 4531880.

⛔ Files ignored due to path filters (1)
  • nub.lock is excluded by !**/*.lock
📒 Files selected for processing (2)
  • .config/mise/conf.d/_config.toml
  • package.json

Comment thread package.json Outdated
"vite": "^8.1.0",
"vite-plus": "^0.2.5",
"vite": "^8.2.1",
"vite-plus": "0.2.7",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

rg -n -C 4 'vp|vite-plus|vite-plus-test|vitest' \
  --glob 'package.json' \
  --glob '*.toml' \
  --glob '*.yaml' \
  --glob '*.yml' \
  .

command -v vp
vp --version

Repository: apphane-dev/karkas

Length of output: 1454


🏁 Script executed:

#!/bin/bash
set -u

echo "tracked config and package files:"
git ls-files | rg '(^package\.json$|\.config/mise|^mise|\.tool-versions$)' || true

echo
echo "package dependency lines:"
python3 - <<'PY'
import json
p=json.load(open('package.json','r'))
for section in ('dependencies','devDependencies','dependenciesMeta','scripts'):
    print(section)
    vals= p.get(section)
    if isinstance(vals,dict):
        for k in sorted(vals):
            if any(x in k.lower() for x in ['vite-plus','vitest','vp','voidzero','fallow']) or section=='scripts':
                print(f'  {k}: {vals[k]}')
PY

echo
echo "config references to version pins and tools:"
if [ -f .config/mise/conf.d/_config.toml ]; then
  cat -n .config/mise/conf.d/_config.toml
fi

echo
echo "mise availability and tool/version metadata if present:"
(command -v mise && mise --version) || true
(command -v vp && vp --version) || true
(command -v vpx && vpx --version) || true

Repository: apphane-dev/karkas

Length of output: 2070


Synchronize vp with the pinned vite-plus toolchain.

package.json pins vite-plus to 0.2.7, but .config/mise/conf.d/_config.toml keeps vp = "latest". If the intended local toolchain should come from vp, set vp = "0.2.7" in mise; otherwise, document why the global vp version intentionally differs from the bundled local package.

🤖 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 66, Synchronize the mise configuration’s vp version
with the pinned vite-plus dependency: update the vp setting associated with the
package toolchain to 0.2.7, or document the intentional reason for keeping it on
latest if they must differ.

Bump the toolchain to current across the monorepo:

- nub 0.4.12 -> 0.7.4 (packageManager + devEngines in every workspace
  package.json, and the mise [tools] pin; also the create-karkas template's
  package.json + mise.toml so generated projects start on 0.7.4)
- vite ^8.1.0 -> ^8.2.1 (apps/demo + create-karkas template)
- @vitejs/plugin-react ^6.0.3 -> ^6.0.5 (apps/demo + template)
- vite-plus ^0.2.5 -> ^0.2.8 (apps/demo, create-karkas, site, template)

vite-plus goes to 0.2.8 (not the previous exact pin at 0.2.7): main already
moved vitest off the npm:@voidzero-dev/vite-plus-test alias to plain
vitest@4.1.10, so the nested vite-plus-core that relied on the now-removed
vite-plus ./binding export is gone. The coupling that forced the 0.2.7 cap
no longer applies.

nub 0.7.0 breaking changes are all clear here: allowBuilds already lives in
package.json (not .npmrc), node-options is unset, and the hoisted-linker
build-output wipe fix (GH#616) benefits this project. First install re-
bootstraps two renamed caches once; nothing is re-downloaded.

Verified: typecheck, lint (demo + create-karkas + site), a clean webapp
build, the full test:ci suite (demo 416 + create-karkas 4), fallow, and
steiger.
@Guria
Guria force-pushed the agent/upgrade-nub-build-tools branch from 4531880 to 35cd154 Compare August 9, 2026 14:06
@github-actions

github-actions Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Fallow audit report

No GitHub PR/MR findings.

Generated by fallow.

@Guria
Guria merged commit 47a6c63 into main Aug 9, 2026
2 checks passed
@Guria
Guria deleted the agent/upgrade-nub-build-tools branch August 9, 2026 23:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants