chore(deps): update dependency nub to v0.9.0 - #46
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.8.3→0.9.0Release Notes
nubjs/nub (nub)
v0.9.0: Nub 0.9.0Compare Source
Nub now applies a
packageExtensionscompatibility database to every install, repairing packages whose published code imports dependencies their own manifest never declares.Dependency compatibility database
A package whose published code imports something its manifest never declares resolves under npm's flat
node_modules— the upward directory walk finds a copy something else installed — and fails under an isolated layout.packageExtensionsrepairs the manifest at resolve time.nub install && node -e 'require("reactcss")'failed withCannot find module 'react'; it now resolves.@nubjs/extensions, produced by running Nub's phantom detector over the 10,000 most-downloaded packages. It is a strict superset of Yarn's. Of the 654 entries Yarn lacks, 25 add a harddependenciesedge and the rest are optional peers that install nothing and only repair strict layouts.packageExtensionsedit discarded the lockfile but still handed the old graph to the resolver as a reuse hint, so the edit rewrote the checksum, installed nothing and reported "Already up to date". The hint is now withheld on real drift.Both layers are declined together by
ignore-compatibility-db=true. Neither is read by the lockfilepackageExtensionsChecksum, so a database refresh cannot drift a lockfile or abort a frozen install.The
nubexport conditionNub is a registered WinterTC runtime key, so a package can carry a
nubbranch in itsexportsmap the way it carriesbunordenoones. Every CLI-augmented run now passes--conditions=nubto Node, alongside whatever the project declares innub.jsoncor a tsconfigcustomConditions. Conditions are a set, so a package with nonubkey resolves exactly as it does on plain Node.Compat mode is unaffected:
--nodeandNODE_COMPATboth skip the option builder entirely, so a compat run keeps Node's own condition set. The standalone@nubjs/loaderalso leaves the condition set alone, because its contract is that a file resolves identically under it, under tsx, and under plain Node. (#913)Package manager
preResolutionruns on every install and receives pnpm's lockfile shapelink:directory dependency emits its link pairafterAllResolvedgets pnpm's lockfile shapepackage.jsonline endings and the EOF newline are preserved on writeRuntime
--js-defer-import-evalis injected from the load hook instead of argv, and the argv-only flag signal now survives the worker-thread boundary — a Next.js 16 and Turbopack build died on the previous shapeStartup
611524e).Internals
nub-climoves to usage-rs (#879).baseUrlimports as phantoms (#895), walks legacy deep-path entry points for packages without an exports map (#891), fetches metadata from the abbreviated packument (#888), and records the file each phantom reference was found in (#910).nub runandnubxpages, with the four old URLs redirecting (#909).nub agent docsslug test derives its page list from the docs tree, so a docs move no longer drags the Rust matrix onto a docs-only pull request (#911).setup-nubGitHub Action documentation covers installing from the release archive and the shim input (38b1509).What's Changed
link:directory dependency by @colinhacks in #848overheadfrom the output size row by @colinhacks in #883nubexport condition on augmented runs by @colinhacks in #913New Contributors
Full Changelog: nubjs/nub@v0.8.3...v0.9.0
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.