uri-js-replace
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

URI parsing/validating/resolving library

Replacement for abandoned library uri-js aka "URI.js"

NPM

  • Based on Node.js and browser URL api
  • 99% compatible with original URI.js library
  • Solves "The punycode module is deprecated" warning in Node
  • Tested with libraries: ESLint, Webpack, Ajv

Usage

NPM

Add to your package.json

{
  "overrides": {
    "uri-js": "npm:uri-js-replace"
  }
}

and run

npm update

Yarn

{
  "resolutions": {
    "uri-js": "npm:uri-js-replace"
  }
}

Library usage examples

Parsing

import * as URI from "uri-js";

URI.parse("uri://user:pass@example.com:123/one/two.three?q1=a1&q2=a2#body");
//returns:
//{
//  scheme : "uri",
//  userinfo : "user:pass",
//  host : "example.com",
//  port : 123,
//  path : "/one/two.three",
//  query : "q1=a1&q2=a2",
//  fragment : "body"
//}

Serializing

URI.serialize({scheme : "http", host : "example.com", fragment : "footer"}) === "http://example.com/#footer"

Normalizing

URI.normalize("URI://www.example.org/red%09ros\xE9#red") === "uri://www.example.org/red%09ros%C3%A9#red"

Tests

All tests copied from original repository

vitest

Generating d.ts files

npm i -g typescript
tsc

NPM

https://www.npmjs.com/package/uri-js-replace

Readme

Keywords

none

Package Sidebar

Install

npm i uri-js-replace

Weekly Downloads

1,069,893

Version

1.0.1

License

MIT

Unpacked Size

15.9 kB

Total Files

10

Last publish

Collaborators

  • andreinwald