Comparing version 9.0.1 to 9.2.0
'use strict'; | ||
var parsePath = require('parse-path'); | ||
var require$$1 = require('parse-path'); | ||
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } | ||
var parsePath__default = /*#__PURE__*/_interopDefaultLegacy(parsePath); | ||
var require$$1__default = /*#__PURE__*/_interopDefaultLegacy(require$$1); | ||
function getAugmentedNamespace(n) { | ||
if (n.__esModule) return n; | ||
var f = n.default; | ||
if (typeof f == "function") { | ||
var a = function a () { | ||
if (this instanceof a) { | ||
var args = [null]; | ||
args.push.apply(args, arguments); | ||
var Ctor = Function.bind.apply(f, args); | ||
return new Ctor(); | ||
} | ||
return f.apply(this, arguments); | ||
}; | ||
a.prototype = f.prototype; | ||
} else a = {}; | ||
Object.defineProperty(a, '__esModule', {value: true}); | ||
Object.keys(n).forEach(function (k) { | ||
var d = Object.getOwnPropertyDescriptor(n, k); | ||
Object.defineProperty(a, k, d.get ? d : { | ||
enumerable: true, | ||
get: function () { | ||
return n[k]; | ||
} | ||
}); | ||
}); | ||
return a; | ||
} | ||
var src = {}; | ||
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs | ||
@@ -256,4 +286,25 @@ const DATA_URL_DEFAULT_MIME_TYPE = 'text/plain'; | ||
// Dependencies | ||
var normalizeUrl$1 = /*#__PURE__*/Object.freeze({ | ||
__proto__: null, | ||
'default': normalizeUrl | ||
}); | ||
var require$$0 = /*@__PURE__*/getAugmentedNamespace(normalizeUrl$1); | ||
Object.defineProperty(src, "__esModule", { | ||
value: true | ||
}); | ||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; // Dependencies | ||
var _normalizeUrl = require$$0; | ||
var _normalizeUrl2 = _interopRequireDefault(_normalizeUrl); | ||
var _parsePath = require$$1__default["default"]; | ||
var _parsePath2 = _interopRequireDefault(_parsePath); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
/** | ||
@@ -290,16 +341,18 @@ * parseUrl | ||
*/ | ||
const parseUrl = (url, normalize = false) => { | ||
var parseUrl = function parseUrl(url) { | ||
var normalize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; | ||
// Constants | ||
/** | ||
* ([a-z_][a-z0-9_-]{0,31}) Try to match the user | ||
* ([a-zA-Z_][a-zA-Z0-9_-]{0,31}) Try to match the user | ||
* ([\w\.\-@]+) Match the host/resource | ||
* (([\~,\.\w,\-,\_,\/,\s]|%[0-9A-Fa-f]{2})+?(?:\.git|\/)?) Match the path, allowing spaces/white | ||
*/ | ||
const GIT_RE = /^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:](([\~,\.\w,\-,\_,\/,\s]|%[0-9A-Fa-f]{2})+?(?:\.git|\/)?)$/; | ||
const throwErr = msg => { | ||
const err = new Error(msg); | ||
var GIT_RE = /^(?:([a-zA-Z_][a-zA-Z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:](([\~,\.\w,\-,\_,\/,\s]|%[0-9A-Fa-f]{2})+?(?:\.git|\/)?)$/; | ||
var throwErr = function throwErr(msg) { | ||
var err = new Error(msg); | ||
err.subject_url = url; | ||
throw err | ||
throw err; | ||
}; | ||
@@ -316,3 +369,3 @@ | ||
if (normalize) { | ||
if (typeof normalize !== "object") { | ||
if ((typeof normalize === "undefined" ? "undefined" : _typeof(normalize)) !== "object") { | ||
normalize = { | ||
@@ -322,10 +375,10 @@ stripHash: false | ||
} | ||
url = normalizeUrl(url, normalize); | ||
url = (0, _normalizeUrl2.default)(url, normalize); | ||
} | ||
const parsed = parsePath__default["default"](url); | ||
var parsed = (0, _parsePath2.default)(url); | ||
// Potential git-ssh urls | ||
if (parsed.parse_failed) { | ||
const matched = parsed.href.match(GIT_RE); | ||
var matched = parsed.href.match(GIT_RE); | ||
@@ -338,3 +391,3 @@ if (matched) { | ||
parsed.user = matched[1]; | ||
parsed.pathname = `/${matched[3]}`; | ||
parsed.pathname = "/" + matched[3]; | ||
parsed.parse_failed = false; | ||
@@ -351,2 +404,4 @@ } else { | ||
module.exports = parseUrl; | ||
var _default = src.default = parseUrl; | ||
module.exports = _default; |
{ | ||
"name": "parse-url", | ||
"version": "9.0.1", | ||
"version": "9.2.0", | ||
"description": "An advanced url parser supporting git urls too.", | ||
@@ -45,3 +45,3 @@ "main": "./dist/index.js", | ||
"normalize-url": "^7.0.3", | ||
"pkgroll": "^1.4.0", | ||
"pkgroll": "^1.11.1", | ||
"tester": "^1.3.1", | ||
@@ -66,2 +66,3 @@ "tsd": "^0.24.1" | ||
"index.d.ts", | ||
"index.d.mts", | ||
"bloggify.js", | ||
@@ -68,0 +69,0 @@ "bloggify.json", |
366
README.md
@@ -52,4 +52,11 @@ <!-- Please do not edit this file. Edit the `blah` field in the `package.json` instead. If in doubt, open an issue. --> | ||
## :cloud: Installation | ||
```sh | ||
# Using npm | ||
npm install --save parse-url | ||
# Using yarn | ||
yarn add parse-url | ||
``` | ||
@@ -63,2 +70,7 @@ | ||
## :clipboard: Example | ||
@@ -70,3 +82,3 @@ | ||
// Dependencies | ||
import parseUrl from "../lib/index.js"; | ||
import parseUrl from "parse-url"; | ||
@@ -145,2 +157,3 @@ console.log(parseUrl("http://ionicabizau.net/blog")) | ||
## :question: Get Help | ||
@@ -162,11 +175,56 @@ | ||
## :memo: Documentation | ||
### `interopDefaultLegacy()` | ||
#__PURE__ | ||
### `parseUrl(url, normalize)` | ||
Parses the input url. | ||
**Note**: This *throws* if invalid urls are provided. | ||
#### Params | ||
- **String** `url`: The input url. | ||
- **Boolean|Object** `normalize`: Whether to normalize the url or not. Default is `false`. If `true`, the url will | ||
be normalized. If an object, it will be the | ||
options object sent to [`normalize-url`](https://github.com/sindresorhus/normalize-url). | ||
For SSH urls, normalize won't work. | ||
#### Return | ||
- **Object** An object containing the following fields: | ||
- `protocols` (Array): An array with the url protocols (usually it has one element). | ||
- `protocol` (String): The first protocol, `"ssh"` (if the url is a ssh url) or `"file"`. | ||
- `port` (null|Number): The domain port. | ||
- `resource` (String): The url domain (including subdomains). | ||
- `host` (String): The fully qualified domain name of a network host, or its IP address. | ||
- `user` (String): The authentication user (usually for ssh urls). | ||
- `pathname` (String): The url pathname. | ||
- `hash` (String): The url hash. | ||
- `search` (String): The url querystring value. | ||
- `href` (String): The input url. | ||
- `query` (Object): The url querystring, parsed as object. | ||
- `parse_failed` (Boolean): Whether the parsing failed or not. | ||
### GIT_RE | ||
([a-zA-Z_][a-zA-Z0-9_-]{0,31}) Try to match the user | ||
([\w\.\-@]+) Match the host/resource | ||
(([\~,\.\w,\-,\_,\/,\s]|%[0-9A-Fa-f]{2})+?(?:\.git|\/)?) Match the path, allowing spaces/white | ||
## :yum: How to contribute | ||
@@ -209,3 +267,305 @@ Have an idea? Found a bug? See [how to contribute][contributing]. | ||
## :dizzy: Where is this library used? | ||
If you are using this library in one of your projects, add it in this list. :sparkles: | ||
- `@_nomtek/react-native-shimmer-animation` | ||
- `@aabelmann/ui-layer` | ||
- `@ali5049/react-native-buttons` | ||
- `@amirdiafi/react-native-ios-haptics` | ||
- `@angga30prabu/wa-modified` | ||
- `@apardellass/react-native-audio-stream` | ||
- `@aysea/react-native-ui-library` | ||
- `@azalpacir/react-native-dhp-printer` | ||
- `@brantalikp/rn-resize` | ||
- `@buganto/client` | ||
- `@con-test/react-native-concent-common` | ||
- `@cs6/react-native-test-native-view-library` | ||
- `@damruravihara/react-native-testing-package` | ||
- `@dataparty/api` | ||
- `@enkeledi/react-native-week-month-date-picker` | ||
- `@extrieve_technologies/quickcapture_react_native` | ||
- `@foundernetes/machines` | ||
- `@foundernetes/metal-debian` | ||
- `@geeky-apo/react-native-advanced-clipboard` | ||
- `@hbglobal/react-native-actions-shortcuts` | ||
- `@heycharge/heycharge-react-native-sdk` | ||
- `@hieuquang2212/form` | ||
- `@hstech/utils` | ||
- `@idas1/ui-component-lib` | ||
- `@jfilipe-sparta/react-native-module_2` | ||
- `@jimengio/mocked-proxy` | ||
- `@klevn/solid-router` | ||
- `@lakutata-module/service` | ||
- `@mockswitch/cli` | ||
- `@ndla/source-map-resolver` | ||
- `@npm_fluentco/adflow-react-native-sdk` | ||
- `@oiti/rn-liveness2d` | ||
- `@open-wa/wa-automate` | ||
- `@phpboyscout/semantic-release-gitlab` | ||
- `@phuocnb/semrelease-gitlab` | ||
- `@positionex/position-sdk` | ||
- `@praella/localisationist` | ||
- `@qiwi/sourcecrumbs` | ||
- `@react-native-ui-design/button` | ||
- `@roq/ui-react` | ||
- `@roshub/api` | ||
- `@saad27/react-native-bottom-tab-tour` | ||
- `@semantic-release/gitlab` | ||
- `@sephriot/react-native-persistable-uri` | ||
- `@sidghimire/react-native-mapbox-navigation` | ||
- `@taingo97/react-native-awesome-module` | ||
- `@taingo97/react-native-bluetooth-xprinter` | ||
- `@taingo97/react-native-expo-key-rsa-kt` | ||
- `@taingo97/react-native-generate-key-rsa` | ||
- `@taingo97/react-native-key-rsa` | ||
- `@taingo97/react-native-print-xprinter` | ||
- `@taingo97/react-native-rsa-expo` | ||
- `@taingo97/react-native-sunmi-printer` | ||
- `@taingo97/react-native-telpo-printer` | ||
- `@teles1-semantic-release/gitlab` | ||
- `@thinxviewx/core-rn` | ||
- `@tomw2w/my-nuxt-layer` | ||
- `@valifysolutions/react-native-vidvliveness` | ||
- `@wecraftapps/react-native-use-keyboard` | ||
- `agent-get-agent` | ||
- `angularvezba` | ||
- `apaas-track` | ||
- `api-reach-react-native-fix` | ||
- `archlibrary` | ||
- `arifbudixz` | ||
- `astra-ufo-sdk` | ||
- `awesome-module-kd` | ||
- `ba-js-cookie-banner` | ||
- `begg` | ||
- `bilibili2local` | ||
- `biometric-st` | ||
- `birken-react-native-community-image-editor` | ||
- `blitzzz` | ||
- `build-plugin-ssr` | ||
- `candlelabssdk` | ||
- `checkbox-component` | ||
- `cli-live-tutorial` | ||
- `delta-screen` | ||
- `demo-test-scrn` | ||
- `deploy-versioning` | ||
- `design-system-trial-milyasbpa` | ||
- `dogandev-simple-toast` | ||
- `egg-muc-custom-loader` | ||
- `electron-info` | ||
- `eval-spider` | ||
- `expo-renavigate` | ||
- `fawaterak-online-payment` | ||
- `fawatrak-online-payment` | ||
- `fixed_form_builder` | ||
- `fluent.adflow.reactnativesdk` | ||
- `fluent.adflow.reactnativesdk-alpha` | ||
- `fmsl` | ||
- `framework_test_library_sixdee` | ||
- `framework_test_library_sixdee_new` | ||
- `framework_test_library_sixdee_new_new` | ||
- `fuge-runner` | ||
- `gamification-integration-new` | ||
- `gaurav-react-native-loop` | ||
- `generator-bootstrap-boilerplate-template` | ||
- `genz-native-elements` | ||
- `gh-monoproject-cli` | ||
- `git-up` | ||
- `gitlab-backup-util-harduino` | ||
- `griffin-ui-library` | ||
- `heroku-wp-environment-sync` | ||
- `hologit` | ||
- `hong1-utils` | ||
- `hubot-will-it-connect` | ||
- `hui-plugin-wss` | ||
- `ipsamvel` | ||
- `jamuskalim` | ||
- `jordy-frijters-test-lib` | ||
- `kakapo` | ||
- `khaled-salem-custom-components` | ||
- `luojia-cli-dev` | ||
- `markdownalint-cli2` | ||
- `michael-stun` | ||
- `microbe.js` | ||
- `miguelcostero-ng2-toasty` | ||
- `native-apple-login` | ||
- `native-date-picker-module` | ||
- `native-google-login` | ||
- `native-kakao-login` | ||
- `native-modal-damage-vehicle` | ||
- `native-zip` | ||
- `ndla-source-map-resolver` | ||
- `new-awesome-4321` | ||
- `njs-wa-auto` | ||
- `normalize-id` | ||
- `normalize-ssh` | ||
- `npm_one_12_34_1_` | ||
- `npm_one_1_2_3` | ||
- `npm_one_2_2` | ||
- `npm_qwerty` | ||
- `parse-db-uri` | ||
- `pasbeaucoupmoinsrave` | ||
- `payutesting` | ||
- `pnm-yph-react-native-custom-components` | ||
- `project-wajs-dv` | ||
- `pyreswap-sdk` | ||
- `quickcapture_react_native` | ||
- `raact-native-arunramya151` | ||
- `reac-native-arun-ramya-test` | ||
- `react-native-addition` | ||
- `react-native-android-video-player-view` | ||
- `react-native-animate-text` | ||
- `react-native-app-bubble` | ||
- `react-native-app-integrity-checksum` | ||
- `react-native-arps-authorize-net` | ||
- `react-native-arun-ramya-test` | ||
- `react-native-arunjeyam1987` | ||
- `react-native-arunmeena1987` | ||
- `react-native-arunramya151` | ||
- `react-native-auth-service-client` | ||
- `react-native-aventonfacetec-aventon` | ||
- `react-native-awesome-android-123` | ||
- `react-native-awesome-android-123-zeotap` | ||
- `react-native-awesome-module-latest` | ||
- `react-native-awesome-module-two` | ||
- `react-native-azure-communication-services` | ||
- `react-native-badge-control` | ||
- `react-native-basic-app` | ||
- `react-native-basic-screen` | ||
- `react-native-biometric-authenticate` | ||
- `react-native-bleccs-components` | ||
- `react-native-bluetooth-device-detect` | ||
- `react-native-bridge-package` | ||
- `react-native-bubble-chart` | ||
- `react-native-build-vesion-getter` | ||
- `react-native-check-component` | ||
- `react-native-chenaar` | ||
- `react-native-components-design` | ||
- `react-native-conekta-card-tokenizer` | ||
- `react-native-contact-list` | ||
- `react-native-cplus` | ||
- `react-native-create-video-thumbnail` | ||
- `react-native-ctp-odp` | ||
- `react-native-dhp-printer` | ||
- `react-native-dimensions-layout` | ||
- `react-native-dsphoto-module` | ||
- `react-native-fedlight-dsm` | ||
- `react-native-flyy` | ||
- `react-native-get-countries` | ||
- `react-native-ghn-ekyc` | ||
- `react-native-innity-2` | ||
- `react-native-innity-remaster` | ||
- `react-native-input-library` | ||
- `react-native-is7` | ||
- `react-native-jsi-device-info` | ||
- `react-native-kakao-maps` | ||
- `react-native-klarify-ios` | ||
- `react-native-klarify-ui` | ||
- `react-native-klc` | ||
- `react-native-lib-test-rn-1` | ||
- `react-native-library-testing-422522` | ||
- `react-native-line-login-android` | ||
- `react-native-login-demo-test` | ||
- `react-native-lowlatency` | ||
- `react-native-loyalty-platforms` | ||
- `react-native-manh-test` | ||
- `react-native-manual-ios-sdk` | ||
- `react-native-modal-progress-bar` | ||
- `react-native-module-arge` | ||
- `react-native-module-for-testing` | ||
- `react-native-multiplier-altroncoso` | ||
- `react-native-multiplier-component` | ||
- `react-native-multiplier-demo` | ||
- `react-native-multiplier2` | ||
- `react-native-multiply` | ||
- `react-native-multiply-component` | ||
- `react-native-multiselector` | ||
- `react-native-mun-kit` | ||
- `react-native-my-first-try-arun-ramya` | ||
- `react-native-native-audio-engine` | ||
- `react-native-native-ios-test1` | ||
- `react-native-nativewind` | ||
- `react-native-nghia-sharering` | ||
- `react-native-nice-learning` | ||
- `react-native-omental-framework` | ||
- `react-native-onramp` | ||
- `react-native-payu-payment-testing` | ||
- `react-native-plugpag-wrapper` | ||
- `react-native-progress-arrow` | ||
- `react-native-pulsator-native` | ||
- `react-native-rabbitmq-all` | ||
- `react-native-radio-bic-group-lib` | ||
- `react-native-reanimated-sortable-list` | ||
- `react-native-recent-framework-update` | ||
- `react-native-responsive-helper` | ||
- `react-native-responsive-size` | ||
- `react-native-return-usb-data` | ||
- `react-native-rn-app` | ||
- `react-native-rn-icons-library` | ||
- `react-native-rom-components` | ||
- `react-native-rtn-ips-poslin-test` | ||
- `react-native-sandycomponent` | ||
- `react-native-savczuk-feature-library` | ||
- `react-native-sayhello-module` | ||
- `react-native-screen-idle-timer` | ||
- `react-native-scroll-tab-to-index` | ||
- `react-native-shared-gesture` | ||
- `react-native-simple-timeline` | ||
- `react-native-sixdee_test_lib` | ||
- `react-native-sp-test-common` | ||
- `react-native-teknoctrl-components` | ||
- `react-native-test-comlibrary` | ||
- `react-native-test-module-hhh` | ||
- `react-native-test-view` | ||
- `react-native-ticker-tape` | ||
- `react-native-tone-framework` | ||
- `react-native-transtracker-library` | ||
- `react-native-ui-components-library` | ||
- `react-native-uvc-camera-android` | ||
- `react-native-version-app` | ||
- `react-native-volume-phisical` | ||
- `react-native-withframework-check` | ||
- `react-native-wtf` | ||
- `react-native-xiaomi-permissions` | ||
- `react-native-xprinter-thermal-ble` | ||
- `react-native-ytximkit` | ||
- `reactnatively` | ||
- `reat-native-multiplierkpr` | ||
- `refinejs-repo` | ||
- `rn-adyen-dropin` | ||
- `rn-agora-ios-m` | ||
- `rn-circular-chart` | ||
- `rn-counter-demo` | ||
- `rn-session-multiplier-demo` | ||
- `rn-tm-notify` | ||
- `rn_unique_device_id` | ||
- `robots-agent` | ||
- `rocomp` | ||
- `smart_one_connect` | ||
- `soajs.repositories` | ||
- `sourcecrumbs` | ||
- `stun` | ||
- `sushi-sdk-ftm` | ||
- `test-haptik-lib` | ||
- `test-zeo-collect` | ||
- `ts-scraper` | ||
- `tumblr-text` | ||
- `url-local` | ||
- `vision-camera-base64-resized` | ||
- `vision-camera-plugin-face-detector` | ||
- `vision-camera-plugin-scan-faces` | ||
- `vrt-cli` | ||
- `vue-cli-plugin-ice-builder` | ||
- `vue-cli-plugin-ut-builder` | ||
- `wa-frikz` | ||
- `wander-cli` | ||
- `warp-api` | ||
- `warp-server` | ||
- `web-yii2` | ||
- `wifi_configuration_package` | ||
- `workpad` | ||
- `xbuilder-forms` | ||
- `xl-git-up` | ||
- `yangtao-js` | ||
- `zeo-collect` | ||
- `zzzxxxyyy321123` | ||
@@ -218,2 +578,6 @@ | ||
## :scroll: License | ||
@@ -220,0 +584,0 @@ |
@@ -1,6 +0,19 @@ | ||
// Dependencies | ||
"use strict"; | ||
import normalizeUrl from "normalize-url"; | ||
import parsePath from "parse-path"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; // Dependencies | ||
var _normalizeUrl = require("normalize-url"); | ||
var _normalizeUrl2 = _interopRequireDefault(_normalizeUrl); | ||
var _parsePath = require("parse-path"); | ||
var _parsePath2 = _interopRequireDefault(_parsePath); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
/** | ||
@@ -37,51 +50,53 @@ * parseUrl | ||
*/ | ||
const parseUrl = (url, normalize = false) => { | ||
var parseUrl = function parseUrl(url) { | ||
var normalize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; | ||
// Constants | ||
/** | ||
* ([a-z_][a-z0-9_-]{0,31}) Try to match the user | ||
* ([a-zA-Z_][a-zA-Z0-9_-]{0,31}) Try to match the user | ||
* ([\w\.\-@]+) Match the host/resource | ||
* (([\~,\.\w,\-,\_,\/,\s]|%[0-9A-Fa-f]{2})+?(?:\.git|\/)?) Match the path, allowing spaces/white | ||
*/ | ||
const GIT_RE = /^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:](([\~,\.\w,\-,\_,\/,\s]|%[0-9A-Fa-f]{2})+?(?:\.git|\/)?)$/; | ||
const throwErr = msg => { | ||
const err = new Error(msg) | ||
err.subject_url = url | ||
throw err | ||
} | ||
var GIT_RE = /^(?:([a-zA-Z_][a-zA-Z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:](([\~,\.\w,\-,\_,\/,\s]|%[0-9A-Fa-f]{2})+?(?:\.git|\/)?)$/; | ||
var throwErr = function throwErr(msg) { | ||
var err = new Error(msg); | ||
err.subject_url = url; | ||
throw err; | ||
}; | ||
if (typeof url !== "string" || !url.trim()) { | ||
throwErr("Invalid url.") | ||
throwErr("Invalid url."); | ||
} | ||
if (url.length > parseUrl.MAX_INPUT_LENGTH) { | ||
throwErr("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH.") | ||
throwErr("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."); | ||
} | ||
if (normalize) { | ||
if (typeof normalize !== "object") { | ||
if ((typeof normalize === "undefined" ? "undefined" : _typeof(normalize)) !== "object") { | ||
normalize = { | ||
stripHash: false | ||
} | ||
}; | ||
} | ||
url = normalizeUrl(url, normalize) | ||
url = (0, _normalizeUrl2.default)(url, normalize); | ||
} | ||
const parsed = parsePath(url) | ||
var parsed = (0, _parsePath2.default)(url); | ||
// Potential git-ssh urls | ||
if (parsed.parse_failed) { | ||
const matched = parsed.href.match(GIT_RE) | ||
var matched = parsed.href.match(GIT_RE); | ||
if (matched) { | ||
parsed.protocols = ["ssh"] | ||
parsed.protocol = "ssh" | ||
parsed.resource = matched[2] | ||
parsed.host = matched[2] | ||
parsed.user = matched[1] | ||
parsed.pathname = `/${matched[3]}` | ||
parsed.parse_failed = false | ||
parsed.protocols = ["ssh"]; | ||
parsed.protocol = "ssh"; | ||
parsed.resource = matched[2]; | ||
parsed.host = matched[2]; | ||
parsed.user = matched[1]; | ||
parsed.pathname = "/" + matched[3]; | ||
parsed.parse_failed = false; | ||
} else { | ||
throwErr("URL parsing failed.") | ||
throwErr("URL parsing failed."); | ||
} | ||
@@ -91,6 +106,6 @@ } | ||
return parsed; | ||
} | ||
}; | ||
parseUrl.MAX_INPUT_LENGTH = 2048 | ||
parseUrl.MAX_INPUT_LENGTH = 2048; | ||
export default parseUrl; | ||
exports.default = parseUrl; |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
47952
8
744
596
0