1
0
mirror of https://github.com/jiahaog/Nativefier synced 2024-06-26 07:38:59 +02:00
Nativefier/src/options/normalizeUrl.js
Jia Hao Goh 8f78dd03af Update eslint and use Airbnb style
- Add `npm run lint:fix` command
- Cleanup inferIcon.js logic slightly
2017-04-29 22:52:12 +08:00

27 lines
673 B
JavaScript

import url from 'url';
import validator from 'validator';
function appendProtocol(testUrl) {
const parsed = url.parse(testUrl);
if (!parsed.protocol) {
return `http://${testUrl}`;
}
return testUrl;
}
function normalizeUrl(testUrl) {
const urlWithProtocol = appendProtocol(testUrl);
const validatorOptions = {
require_protocol: true,
require_tld: false,
allow_trailing_dot: true, // mDNS addresses, https://github.com/jiahaog/nativefier/issues/308
};
if (!validator.isURL(urlWithProtocol, validatorOptions)) {
throw new Error(`Your Url: "${urlWithProtocol}" is invalid!`);
}
return urlWithProtocol;
}
export default normalizeUrl;