Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

native-url

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

native-url - npm Package Compare versions

Comparing version 0.2.0 to 0.2.1

index.d.ts

10

package.json
{
"name": "native-url",
"version": "0.2.0",
"version": "0.2.1",
"description": "Brings the node url api layer to whatwg-url class",

@@ -8,2 +8,3 @@ "source": "src/index.js",

"module": "dist/index.mjs",
"typings": "index.d.ts",
"scripts": {

@@ -21,2 +22,5 @@ "build": "microbundle",

},
"peerDependencies": {
"@types/node": ">=8.0.0"
},
"repository": {

@@ -46,5 +50,7 @@ "type": "git",

"jest": "^24.9.0",
"karmatic": "^1.4.0",
"lint-staged": "^9.2.5",
"microbundle": "^0.11.0",
"prettier": "^1.18.2"
"prettier": "^1.18.2",
"webpack": "^4.41.2"
},

@@ -51,0 +57,0 @@ "lint-staged": {

62

README.md
# native-url
A lightweight implementation of Node's [url](http://nodejs.org/api/url.html) interface atop the [URL API](https://developer.mozilla.org/en-US/docs/Web/API/URL).
A lightweight implementation of Node's [url](http://nodejs.org/api/url.html) interface atop the [URL API](https://developer.mozilla.org/en-US/docs/Web/API/URL). Use it instead of the `url` module to reduce your bundle size by around 7.5 kB.
**~1.6 KB Gzipped**, works in both Node.js and [modern browsers](https://caniuse.com/#feat=mdn-api_url).
Weighs **1.6 kB gzipped**, works in Node.js 7+ and [all modern browsers](https://caniuse.com/#feat=mdn-api_url):
![Chrome 32, Firefox 19, Safari 7, Edge 12, Opera 19](https://badges.herokuapp.com/browsers?googlechrome=32&firefox=19&safari=7&microsoftedge=12&opera=19)
Older browsers can be [easily polyfilled](#polyfill-for-older-browsers) without new browsers loading the code.
## Installation

@@ -15,3 +19,3 @@

```
```js
const url = require('native-url');

@@ -23,2 +27,44 @@

### Usage with Webpack
When you use the `url` module, webpack bundles [`node-url`](https://github.com/defunctzombie/node-url) for the browser. You can alias webpack to use `native-url` instead, saving around 7.5kB:
```js
// webpack.config.js
module.exports = {
// ...
resolve: {
alias: {
url: 'native-url'
}
}
}
```
The result is **functionally equivalent** in Node 7+ and all modern browsers.
### Usage with Rollup
Rollup does not bundle shims for Node.js modules like `url` by default, but we can add `url` support via `native-url` using aliases:
```js
// rollup.config.js
import resolve from 'rollup-plugin-node-resolve';
import alias from '@rollup/plugin-alias';
module.exports = {
// ...
plugins: [
resolve(),
alias({
entries: {
url: 'native-url'
}
})
]
};
```
With this in place, `import url from 'url'` will use `native-url` and keep your bundle small.
## API

@@ -68,1 +114,11 @@

```
## Polyfill for Older Browsers
`native-url` relies on the DOM [URL API](https://developer.mozilla.org/en-US/docs/Web/API/URL) to work. For older browsers that don't support the `URL` API, a [polyfill](https://www.npmjs.com/package/url-polyfill) is available.
Conveniently, a polyfill is never needed for [browsers that support ES Modules](https://caniuse.com/#feat=es6-module), so we can use `<script nomodule>` to conditionally load it for older browsers:
```html
<script nomodule src="/path/to/url-polyfill.js"></script>
```
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc