Replacement for abandoned library uri-js aka "URI.js"
- 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
Add to your package.json
{
"overrides": {
"uri-js": "npm:uri-js-replace"
}
}
and run
npm update
{
"resolutions": {
"uri-js": "npm:uri-js-replace"
}
}
import * as URI from "uri-js";
URI.parse("uri://user:[email protected]: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"
//}
URI.serialize({scheme : "http", host : "example.com", fragment : "footer"}) === "http://example.com/#footer"
URI.normalize("URI://www.example.org/red%09ros\xE9#red") === "uri://www.example.org/red%09ros%C3%A9#red"
All tests copied from original repository
vitest
npm i -g typescript
tsc