Alexandro.Net

Version 1.0.0

@stackline/resolve-uri

Resolve a URI relative to an optional base URI

Independent maintenance of @jridgewell/resolve-uri 3.1.2. Original authors and licenses are retained.

Installation

# Preserve existing imports with an npm alias
npm install @jridgewell/resolve-uri@npm:@stackline/resolve-uri@1.0.0
# Or use the scoped package name in your imports
npm install @stackline/resolve-uri@1.0.0

Node.js: >=6.0.0. Read the compatibility and maintenance notes before migrating.

Usage and API

The reference below may retain upstream package names. Use the alias installation above to run those imports with this Stackline release.

@stackline/resolve-uri

Independent maintenance fork of @jridgewell/resolve-uri@3.1.2. Original API, module format, runtime dependency ranges, and supported Node.js engines are preserved.

npm install @stackline/resolve-uri
# Preserve existing imports with an npm alias:
npm install @jridgewell/resolve-uri@npm:@stackline/resolve-uri@1.0.0

See UPSTREAM.md for the exact source and issue review, and CHANGELOG.md for focused maintenance changes. Development and release tooling runs on Node.js 24; that does not change the library runtime requirement.

Maintained by Stackline. Issues · npm.

Upstream documentation

@jridgewell/resolve-uri

Resolve a URI relative to an optional base URI

Resolve any combination of absolute URIs, protocol-realtive URIs, absolute paths, or relative paths.

Installation

npm install @jridgewell/resolve-uri

Usage

function resolve(input: string, base?: string): string;
import resolve from '@jridgewell/resolve-uri';

resolve('foo', 'https://example.com'); // => 'https://example.com/foo'
Input Base Resolution Explanation
https://example.com any https://example.com/ Input is normalized only
//example.com https://base.com/ https://example.com/ Input inherits the base's protocol
//example.com rest //example.com/ Input is normalized only
/example https://base.com/ https://base.com/example Input inherits the base's origin
/example //base.com/ //base.com/example Input inherits the base's host and remains protocol relative
/example rest /example Input is normalized only
example https://base.com/dir/ https://base.com/dir/example Input is joined with the base
example https://base.com/file https://base.com/example Input is joined with the base without its file
example //base.com/dir/ //base.com/dir/example Input is joined with the base's last directory
example //base.com/file //base.com/example Input is joined with the base without its file
example /base/dir/ /base/dir/example Input is joined with the base's last directory
example /base/file /base/example Input is joined with the base without its file
example base/dir/ base/dir/example Input is joined with the base's last directory
example base/file base/example Input is joined with the base without its file

Upstream issues and maintenance review

Upstream and issue review

Base: jridgewell/resolve-uri, npm @jridgewell/resolve-uri@3.1.2, commit caa7a299d6c688570773c81732f77d3c7035ded6. Full Git history and upstream attribution are retained. Last npm publication: 2024-02-14T19:32:38.143Z. Release inactivity does not by itself prove abandonment.

Review: 2026-09-29T00:21:55.224783+00:00. Source coverage: Most recently updated 100 open and 30 closed issue/PR entries; PRs removed. This is triage evidence, not a claim of exhaustive review.

Open #110 asks about percent-encoding semantics: preserve input bytes and document that filesystem paths/escaping must be normalized by callers. #108 requests Windows filesystem path support beyond URI resolution; do not reinterpret backslashes or drive letters and silently change existing URI semantics. #124 asks about upstream support and #92 is a development dashboard; this independent fork makes no upstream support claim. Closed #113 query propagation is covered by the upstream suite. Closed #117 concerns using URL instead; preserve support for relative/non-absolute bases. Runtime TypeScript source is unchanged; modern build/test tools reproduce CJS/UMD, ESM and types.

Reviewed issue entries

Release changes

Stackline changes

1.0.0 — 2026-09-28

Independent maintenance fork of @jridgewell/resolve-uri 3.1.2. Preserve published API, module exports and runtime engine compatibility. Open #110 asks about percent-encoding semantics: preserve input bytes and document that filesystem paths/escaping must be normalized by callers. #108 requests Windows filesystem path support beyond URI resolution; do not reinterpret backslashes or drive letters and silently change existing URI semantics. #124 asks about upstream support and #92 is a development dashboard; this independent fork makes no upstream support claim. Closed #113 query propagation is covered by the upstream suite. Closed #117 concerns using URL instead; preserve support for relative/non-absolute bases. Runtime TypeScript source is unchanged; modern build/test tools reproduce CJS/UMD, ESM and types.

Pinned development tools, real API and packed-consumer checks, GitHub CI/CodeQL gates, exact-artifact npm provenance and immutable release evidence are added. See UPSTREAM.md for limits of issue triage.

Release files and references

Package bytes, npm provenance and the immutable GitHub release were verified for this version. Security checks describe the reviewed release; documented compatibility risks and upstream reports are not blanket claims of resolution.