Skip to content


Repository files navigation


CircleCI npm

URL utilities with Relude


ReludeURL contains data structures and functions for dealing with URIs, URLs, etc. This library is not currently fully conformant to the RFC 3986 URI spec - it only parses a subset of common absolute URI formats, i.e. formats that are most commonly found in the wild. If you encounter a URI that ReludeURL can't parse correctly, please open an issue with the URI for consideration.

Component types

A URI is broken up into several sub-component types, including Scheme, Authority, UserInfo, Path, etc.


GitHub CI [npm

ReludeURL uses ReludeParse to parse URIs. To run a URI parser, you use the standard convention for running a ReludeParse parser, like below:

ReludeURL.URI.parser |> ReludeParse.runParser("") // Belt.Result.Ok(URI(...))


Once a URI is parsed or constructed, it's often useful to write it back out to a string: // http


Parts of the URI can be manipulated using the functions from the target part of the URI. A common operation is to manipulate the query params - this can be done using functions in the URI module, or in the Query/QueryParam/etc. modules.

Developer info


> npm run clean
> npm run build
> npm run cleanbuild
> npm run test
> npm run cleantest
> npm run coverage
> npm run cleancoverage
> npm run watch

Publish to npm

> npm version major|minor|patch
> git push origin --follow-tags
> git push upstream --follow-tags
> npm publish
# Create release on GitHub


A simple default.nix shell config is provided to avoid issues with OCaml-based binaries and bs-platform.

> nix-shell
%nix%> npm install