You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: correctness improvements across url/versions/specs/fs/process-lock
- url.urlSearchParamAsBoolean: accept envAsBoolean's vocabulary
('1'|'true'|'yes'|'on' case-insensitive) and honor `defaultValue`
for empty string input
- versions.maxVersion/minVersion: pass `includePrerelease: true` so
all-prerelease inputs resolve instead of returning undefined under
semver's default which filters prereleases out against '*'. Also
updates the vendored semver .d.ts to expose the third argument.
- packages.getRepoUrlDetails: anchor to the literal `github.com` host
with a proper regex so non-GitHub URLs, lookalikes (`githubXcom`,
`fake-github.com`, `github.com.attacker.tld`), and scp-style
`git@github.com:…` return clean empty fields instead of garbage
- fs.findUp / findUpSync: traverse up to and INCLUDING the filesystem
root so matches at `/.foo` are actually found; the loop used to
exit before visiting the root
- process-lock.isStale: compare in milliseconds rather than truncating
both sides to seconds. Sub-second `staleMs` values (e.g. 500) were
silently rounded up to ~1s.
- process-lock.acquire: drop the redundant `existsSync` before
`mkdirSync(lockPath)` — mkdir's EEXIST is atomic on its own, the
pre-check only opened a TOCTOU window.
Tests updated where they pinned the old (incorrect) behavior.
0 commit comments