Skip to content

fix(context): preserve packages when replacement fails (#142) - #147

Open
TheRealBecks wants to merge 2 commits into
neuledge:mainfrom
TheRealBecks:TheRealBecks/issues142
Open

fix(context): preserve packages when replacement fails (#142)#147
TheRealBecks wants to merge 2 commits into
neuledge:mainfrom
TheRealBecks:TheRealBecks/issues142

Conversation

@TheRealBecks

Copy link
Copy Markdown
Contributor

Fixes #142.

Rebuilds and installs previously removed or overwrote the working package before its replacement was ready. This change stages replacements in unique temporary directories on the destination filesystem, closes and validates them, then renames them into place.

  • Preserves installed packages when builds, downloads, copies, validation, or replacement fail.
  • Cleans up temporary databases and SQLite artifacts.
  • Excludes staged packages and legacy download files from discovery.
  • Adds regression tests for first installs, replacements, interrupted downloads, concurrent readers, and Windows sharing errors.
  • Extends CI testing to Linux, Windows, and macOS.

Includes documentation and a patch changeset.

Validation on Linux: frozen dependency install, lint, build, and all 306 tests pass. Windows and macOS validation will run through the PR’s CI matrix.

@changeset-bot

changeset-bot Bot commented Sep 9, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 9b1e885

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
@neuledge/context Patch
@neuledge/registry Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

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.

Preserve installed documentation packages when a rebuild fails

1 participant