fix(global): nest immutable package installs#2222
Conversation
✅ Deploy Preview for viteplus-preview canceled.
|
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 92ef65d858
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Considering there is I guess this PR needs MK's review :) |
|
@codex review |
|
Codex Review: Didn't find any major issues. Keep them coming! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
| VITE+ - The Unified Toolchain for the Web | ||
|
|
||
| info: Installing 1 global package with Node.js <version> | ||
| error: Failed to install conflict-pkg: Package was not installed correctly, package.json not found at <home>/.vite-plus/packages/conflict-pkg#<uuid>/lib/node_modules/conflict-pkg/package.json |
There was a problem hiding this comment.
This problem seems already exposed after snap test migration (Node 20 / npm 10, environment changed) but it doesn't seems noticed.
Close #2220
Global package installs currently use
#between the package name and UUID. Node and loaders interpret#as a URL fragment during dynamic imports, so packages such as Pi cannot resolve files inside their installation.This PR nests immutable installs under
packages/<package>/<uuid>and stores locks alongside each version. Existing metadata for the unversioned and#<uuid>layouts continues to resolve, and stale installs from both layouts are cleaned after a successful replacement.🤖 Generated with Codex